diff --git a/addon/components/o-s-s/context-menu.hbs b/addon/components/o-s-s/context-menu.hbs index e08aeb872..16aea1ad1 100644 --- a/addon/components/o-s-s/context-menu.hbs +++ b/addon/components/o-s-s/context-menu.hbs @@ -9,6 +9,7 @@ @theme={{@theme}} @square={{@square}} @countDown={{@countDown}} + @suffixIcon={{if this.displayContextMenuPanel "fa-chevron-up" "fa-chevron-down"}} {{did-insert this.registerMenuTrigger}} {{on "click" this.toggleContextMenuPanel}} ...attributes diff --git a/addon/components/o-s-s/context-menu.ts b/addon/components/o-s-s/context-menu.ts index 3bcc02335..21798516d 100644 --- a/addon/components/o-s-s/context-menu.ts +++ b/addon/components/o-s-s/context-menu.ts @@ -8,7 +8,7 @@ export type ContextMenuItem = { items?: ContextMenuItem[]; groupKey?: string; rowRenderer?: ReturnType; - action: () => void | boolean; + action: (event?: MouseEvent) => void | boolean; [key: string]: unknown; }; diff --git a/addon/components/o-s-s/context-menu/panel.ts b/addon/components/o-s-s/context-menu/panel.ts index af29a0728..2773d8070 100644 --- a/addon/components/o-s-s/context-menu/panel.ts +++ b/addon/components/o-s-s/context-menu/panel.ts @@ -136,8 +136,8 @@ export default class OSSContextMenuPanelComponent extends Component {} }]; + await render( + hbs`` + ); + assert.dom('button i.fa-chevron-down').exists(); + assert.dom('button i.fa-chevron-up').doesNotExist(); + }); + + test('it shows chevron-up when panel is open', async function (assert) { + this.items = [{ title: 'Item', action: () => {} }]; + await render( + hbs`` + ); + await click('button'); + assert.dom('button i.fa-chevron-up').exists(); + assert.dom('button i.fa-chevron-down').doesNotExist(); + }); + test('it opens the panel', async function (assert) { await render(hbs`