Adrià Vilanova Martínez | 2788d12 | 2022-10-10 22:06:25 +0200 | [diff] [blame] | 1 | import '@material/web/iconbutton/standard-icon-button.js'; |
| 2 | import '@material/web/menu/menu-button.js'; |
| 3 | import '@material/web/menu/menu.js'; |
| 4 | import '@material/web/menu/menu-item.js'; |
| 5 | |
| 6 | import {css, html, LitElement} from 'lit'; |
| 7 | import {map} from 'lit/directives/map.js'; |
| 8 | import {range} from 'lit/directives/range.js'; |
| 9 | |
Adrià Vilanova Martínez | f276ac7 | 2022-10-13 22:16:22 +0200 | [diff] [blame] | 10 | import {SHARED_MD3_STYLES} from '../../../../common/styles/md3.js'; |
| 11 | |
Adrià Vilanova Martínez | 2788d12 | 2022-10-10 22:06:25 +0200 | [diff] [blame] | 12 | export default class TwptWorkflowsMenu extends LitElement { |
Adrià Vilanova Martínez | f276ac7 | 2022-10-13 22:16:22 +0200 | [diff] [blame] | 13 | static styles = [ |
| 14 | SHARED_MD3_STYLES, |
| 15 | css` |
| 16 | .workflow-item { |
| 17 | padding-inline: 1em; |
| 18 | } |
| 19 | `, |
| 20 | ]; |
Adrià Vilanova Martínez | 2788d12 | 2022-10-10 22:06:25 +0200 | [diff] [blame] | 21 | |
| 22 | renderMenuItems() { |
Adrià Vilanova Martínez | f276ac7 | 2022-10-13 22:16:22 +0200 | [diff] [blame] | 23 | 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ínez | 2788d12 | 2022-10-10 22:06:25 +0200 | [diff] [blame] | 29 | `); |
| 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ínez | f276ac7 | 2022-10-13 22:16:22 +0200 | [diff] [blame] | 46 | console.log( |
| 47 | `Clicked workflow ${e.target.getAttribute('data-workflow-id')}.`); |
Adrià Vilanova Martínez | 2788d12 | 2022-10-10 22:06:25 +0200 | [diff] [blame] | 48 | } |
| 49 | } |
| 50 | window.customElements.define('twpt-workflows-menu', TwptWorkflowsMenu); |