open-vault/ui/app/templates/components/form-field-from-model.hbs
Jordan Reimer 5c2a08de6d
Ember Upgrade to 3.24 (#13443)
* Update browserslist

* Add browserslistrc

* ember-cli-update --to 3.26, fix conflicts

* Run codemodes that start with ember-*

* More codemods - before cp*

* More codemods (curly data-test-*)

* WIP ember-basic-dropdown template errors

* updates ember-basic-dropdown and related deps to fix build issues

* updates basic dropdown instances to new version API

* updates more deps -- ember-template-lint is working again

* runs no-implicit-this codemod

* creates and runs no-quoteless-attributes codemod

* runs angle brackets codemod

* updates lint:hbs globs to only touch hbs files

* removes yield only templates

* creates and runs deprecated args transform

* supresses lint error for invokeAction on LinkTo component

* resolves remaining ambiguous path lint errors

* resolves simple-unless lint errors

* adds warnings for deprecated tagName arg on LinkTo components

* adds warnings for remaining curly component invocation

* updates global template lint rules

* resolves remaining template lint errors

* disables some ember specfic lint rules that target pre octane patterns

* js lint fix run

* resolves remaining js lint errors

* fixes test run

* adds npm-run-all dep

* fixes test attribute issues

* fixes console acceptance tests

* fixes tests

* adds yield only wizard/tutorial-active template

* fixes more tests

* attempts to fix more flaky tests

* removes commented out settled in transit test

* updates deprecations workflow and adds initializer to filter by version

* updates flaky policies acl old test

* updates to flaky transit test

* bumps ember deps down to LTS version

* runs linters after main merge

* fixes client count tests after bad merge conflict fixes

* fixes client count history test

* more updates to lint config

* another round of hbs lint fixes after extending stylistic rule

* updates lint-staged commands

* removes indent eslint rule since it seems to break things

* fixes bad attribute in transform-edit-form template

* test fixes

* fixes enterprise tests

* adds changelog

* removes deprecated ember-concurrency-test-waiters dep and adds @ember/test-waiters

* flaky test fix

Co-authored-by: hashishaw <cshaw@hashicorp.com>
2021-12-16 20:44:29 -07:00

81 lines
2.8 KiB
Handlebars

{{! template-lint-configure simple-unless "warn" }}
<div class="field" data-test-form-field-from-model>
{{#unless
(or
(contains
@attr.options.editType (array "boolean" "searchSelect" "mountAccessor" "kv" "file" "ttl" "stringArray" "json")
)
(eq @attr.type "boolean")
)
}}
{{#unless (eq @attr.type "object")}}
<label for={{@attr.name}} class="is-label">
{{capitalize (or @attr.options.label (humanize (dasherize @attr.name)))}}
{{#if @attr.options.helpText}}
<InfoTooltip>{{@attr.options.helpText}}</InfoTooltip>
{{/if}}
</label>
{{/unless}}
{{/unless}}
{{#if @attr.options.possibleValues}}
<div class="control is-expanded">
<div class="select is-fullwidth">
<select
name={{@attr.name}}
id={{@attr.name}}
onchange={{action (mut (get @model @attr.name)) value="target.value"}}
data-test-input={{@attr.name}}
>
{{#each @attr.options.possibleValues as |val|}}
<option selected={{eq (get @model @attr.name) val}} value={{val}}>
{{val}}
</option>
{{/each}}
</select>
</div>
</div>
{{else if (eq @attr.options.editType "ttl")}}
<TtlPicker2
@initialValue={{or (get @model @attr.name) @attr.options.defaultValue}}
@initialEnabled={{or (get @model @attr.name) false}}
@label={{or @attr.options.label (humanize (dasherize @attr.name))}}
@helperTextDisabled="If this is not set, the engine default will be used."
@helperTextEnabled="Disable lease after"
@onChange={{@updateTtl}}
/>
{{else if (or (eq @attr.type "number") (eq @attr.type "string"))}}
<div class="control">
<Input
id={{@attr.name}}
@value={{get @model (or @attr.options.fieldValue @attr.name)}}
class="input"
data-test-input={{@attr.name}}
/>
</div>
{{else if (eq @attr.type "boolean")}}
<div class="b-checkbox">
<input
type="checkbox"
id={{@attr.name}}
class="styled"
checked={{get this.model @attr.name}}
onchange={{action (mut (get this.model @attr.name)) value="target.checked"}}
data-test-input={{@attr.name}}
/>
<label for={{@attr.name}} class="is-label">
{{capitalize (or @attr.options.label (humanize (dasherize @attr.name)))}}
{{#if @attr.options.helpText}}
<InfoTooltip>{{@attr.options.helpText}}</InfoTooltip>
{{/if}}
</label>
</div>
{{else if (eq @attr.type "object")}}
<JsonEditor
@title={{capitalize (or @attr.options.label (humanize (dasherize @attr.name)))}}
@helpText={{@attr.options.helpText}}
@value={{if (get @model @attr.name) (stringify (get @model @attr.name)) @emptyData}}
@valueUpdated={{@codemirrorUpdated}}
/>
{{/if}}
</div>