John Cowen a686de0414
ui: Add Optgroups and selectedItems to multiple select dropdown and use (#8476)
* ui: Switch selects to use more HTML-like approach for optgroups

* Add KV comparator

* Use new option/optgroup approach for sort/select

* Fix up tests for new order of menu items
2020-08-11 18:02:51 +01:00

43 lines
1.1 KiB
Handlebars

{{yield}}
<li role="none" ...attributes>
{{#if hasConfirmation}}
<label for={{concat menu.confirm guid}} role="menuitem" tabindex="-1" onkeypress={{menu.keypressClick}}>
<YieldSlot @name="label">{{yield}}</YieldSlot>
</label>
<div role="menu">
<YieldSlot @name="confirmation" @params={{
block-params (component 'confirmation-alert'
onclick=(queue (action onclick) (action menu.clickTrigger))
name=(concat menu.confirm guid)
)
}}>{{yield}}</YieldSlot>
</div>
{{else if href}}
{{#let (string-includes href '://') as |external|}}
<a
role="menuitem" tabindex="-1"
onclick={{action menu.clickTrigger}}
href={{href}}
target={{if external '_blank'}}
rel={{if external 'noopener noreferrer'}}
>
<YieldSlot @name="label">
{{yield}}
</YieldSlot>
</a>
{{/let}}
{{else}}
<button
type="button"
role="menuitem"
aria-selected={{if selected 'true'}}
tabindex="-1"
onclick={{action (or this.onclick (noop))}}>
<YieldSlot @name="label">
{{yield}}
</YieldSlot>
</button>
{{/if}}
</li>