mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-30 11:54:33 +03:00
9fd87f565d
no issue - moved logic from `<GhValidationStatusContainer>` to a new `validation-status` modifier - removes a usage of the `ValidationState` mixin - migrated uses of the component to a mixin - paves the way for full removal of the `ValidationState` mixin in later refactors (mixins are deprecated) - migrated `<GhFormGroup>` to a glimmer component - swapped the extend of `GhValidationStatusContainer` to usage of the `validation-status` modifier with a template-only component - updated all `<GhFormGroup>` to use the standard `class=""` instead of `@classNames=""` and `@class=""` - allows `data-test-*` attributes to be added to uses of `<FormGroup>` to help when complex components are grouped as a form input
40 lines
1.5 KiB
Handlebars
40 lines
1.5 KiB
Handlebars
{{#unless this.benefitItem.isNew}}
|
|
<span class="gh-blognav-grab">
|
|
{{svg-jar "grab"}}
|
|
<span class="sr-only">Reorder</span>
|
|
</span>
|
|
{{/unless}}
|
|
|
|
<div class="gh-blognav-line {{unless this.name "placeholder"}}">
|
|
{{svg-jar "check-2"}}
|
|
<span
|
|
class="gh-blognav-label"
|
|
{{validation-status errors=this.benefitItem.errors property="name" hasValidated=this.benefitItem.hasValidated}}
|
|
>
|
|
<GhTrimFocusInput
|
|
@shouldFocus={{this.benefitItem.last}}
|
|
@placeholder={{if this.isFreeTier "Access to all public posts" "Expert analysis"}}
|
|
@value={{readonly this.name}}
|
|
@input={{action "updateLabel" value="target.value"}}
|
|
@keyPress={{action "clearLabelErrors"}}
|
|
@stopEnterKeyDownPropagation={{true}}
|
|
@focus-out={{action "updateLabel" this.name}}
|
|
data-test-input="benefit-label" />
|
|
|
|
<GhErrorMessage
|
|
@errors={{this.benefitItem.errors}}
|
|
@property="name"
|
|
data-test-error="benefit-label" />
|
|
</span>
|
|
</div>
|
|
|
|
{{#if this.benefitItem.isNew}}
|
|
<button type="button" class="gh-blognav-add" {{action "addItem" this.benefitItem}} data-test-button="add-benefit">
|
|
{{svg-jar "plus"}}<span class="sr-only">Add</span>
|
|
</button>
|
|
{{else}}
|
|
<button type="button" class="gh-blognav-delete" {{action "deleteItem" this.benefitItem}} data-test-button="delete-benefit">
|
|
{{svg-jar "trash"}}<span class="sr-only">Delete</span>
|
|
</button>
|
|
{{/if}}
|