blob: 1399228f72c1e9b2fbb7f28f633f4cd85ef5075a [file] [log] [blame]
Adrià Vilanova Martínez2788d122022-10-10 22:06:25 +02001import '@material/web/iconbutton/standard-icon-button.js';
2import '@material/web/menu/menu-button.js';
3import '@material/web/menu/menu.js';
4import '@material/web/menu/menu-item.js';
5
6import {css, html, LitElement} from 'lit';
7import {map} from 'lit/directives/map.js';
8import {range} from 'lit/directives/range.js';
9
Adrià Vilanova Martínezf276ac72022-10-13 22:16:22 +020010import {SHARED_MD3_STYLES} from '../../../../common/styles/md3.js';
11
Adrià Vilanova Martínez2788d122022-10-10 22:06:25 +020012export default class TwptWorkflowsMenu extends LitElement {
Adrià Vilanova Martínezf276ac72022-10-13 22:16:22 +020013 static styles = [
14 SHARED_MD3_STYLES,
15 css`
16 .workflow-item {
17 padding-inline: 1em;
18 }
19 `,
20 ];
Adrià Vilanova Martínez2788d122022-10-10 22:06:25 +020021
22 renderMenuItems() {
Adrià Vilanova Martínezf276ac72022-10-13 22:16:22 +020023 return map(
24 range(8),
25 i => html`
26 <md-menu-item @click="${this._showWorkflow}" data-workflow-id="${
27 i}"><span class="workflow-item" slot="start">Workflow ${
28 i}</span></md-menu-item>
Adrià Vilanova Martínez2788d122022-10-10 22:06:25 +020029 `);
30 }
31
32 render() {
33 // The button is based in the button created in the
34 // addButtonToThreadListActions function in file ../../utils/common.js.
35 return html`
36 <md-menu-button>
37 <md-standard-icon-button slot="button" icon="more_vert"></md-standard-icon-button>
38 <md-menu slot="menu">
39 ${this.renderMenuItems()}
40 </md-menu>
41 </md-menu-button>
42 `;
43 }
44
45 _showWorkflow(e) {
Adrià Vilanova Martínezf276ac72022-10-13 22:16:22 +020046 console.log(
47 `Clicked workflow ${e.target.getAttribute('data-workflow-id')}.`);
Adrià Vilanova Martínez2788d122022-10-10 22:06:25 +020048 }
49}
50window.customElements.define('twpt-workflows-menu', TwptWorkflowsMenu);