File tree Expand file tree Collapse file tree 3 files changed +44
-16
lines changed Expand file tree Collapse file tree 3 files changed +44
-16
lines changed Original file line number Diff line number Diff line change @@ -11,16 +11,22 @@ import {
11
11
cloneElement ,
12
12
getValue ,
13
13
identity ,
14
- newSubWizardEvent ,
15
14
selector ,
16
15
Replace ,
17
16
Wizard ,
18
17
WizardAction ,
19
18
WizardActor ,
20
19
WizardInput ,
20
+ WizardMenuActor ,
21
21
} from '../foundation.js' ;
22
22
import { createFCDAsWizard } from './fcda.js' ;
23
23
24
+ function openFcdaWizard ( element : Element ) : WizardMenuActor {
25
+ return ( ) : WizardAction [ ] => {
26
+ return [ ( ) => createFCDAsWizard ( element ) ] ;
27
+ } ;
28
+ }
29
+
24
30
function updateDataSetAction ( element : Element ) : WizardActor {
25
31
return ( inputs : WizardInput [ ] , wizard : Element ) : WizardAction [ ] => {
26
32
const name = inputs . find ( i => i . label === 'name' ) ! . value ! ;
@@ -89,6 +95,13 @@ export function editDataSetWizard(element: Element): Wizard {
89
95
icon : 'save' ,
90
96
action : updateDataSetAction ( element ) ,
91
97
} ,
98
+ menuActions : [
99
+ {
100
+ icon : 'add' ,
101
+ label : get ( 'dataset.fcda.add' ) ,
102
+ action : openFcdaWizard ( element ) ,
103
+ } ,
104
+ ] ,
92
105
content : [
93
106
html `< wizard-textfield
94
107
label ="name "
@@ -116,15 +129,6 @@ export function editDataSetWizard(element: Element): Wizard {
116
129
> `
117
130
) } </ filtered-list
118
131
> ` ,
119
- html `< mwc-button
120
- icon ="add "
121
- label ="${ translate ( 'wizard.title.add' , { tagName : 'FCDA' } ) } "
122
- @click ="${ ( e : Event ) => {
123
- e . target ?. dispatchEvent (
124
- newSubWizardEvent ( ( ) => createFCDAsWizard ( element ) )
125
- ) ;
126
- } } "
127
- > </ mwc-button > ` ,
128
132
] ,
129
133
} ,
130
134
] ;
Original file line number Diff line number Diff line change @@ -7,6 +7,29 @@ snapshots["dataset wizards include a dataset edit wizard looks like the latest s
7
7
heading="[wizard.title.edit]"
8
8
open=""
9
9
>
10
+ <nav>
11
+ <mwc-icon-button icon="more_vert">
12
+ </mwc-icon-button>
13
+ <mwc-menu
14
+ class="actions-menu"
15
+ corner="BOTTOM_RIGHT"
16
+ menucorner="END"
17
+ >
18
+ <mwc-list-item
19
+ aria-disabled="false"
20
+ graphic="icon"
21
+ mwc-list-item=""
22
+ tabindex="-1"
23
+ >
24
+ <span>
25
+ [dataset.fcda.add]
26
+ </span>
27
+ <mwc-icon slot="graphic">
28
+ add
29
+ </mwc-icon>
30
+ </mwc-list-item>
31
+ </mwc-menu>
32
+ </nav>
10
33
<div id="wizard-content">
11
34
<wizard-textfield
12
35
disabled=""
@@ -55,11 +78,6 @@ snapshots["dataset wizards include a dataset edit wizard looks like the latest s
55
78
CBSW/ XSWI 2.OpSlc.dsd sasd.ads.asd (ST)
56
79
</mwc-check-list-item>
57
80
</filtered-list>
58
- <mwc-button
59
- icon="add"
60
- label="[wizard.title.add]"
61
- >
62
- </mwc-button>
63
81
</div>
64
82
<mwc-button
65
83
dialogaction="close"
Original file line number Diff line number Diff line change @@ -4,6 +4,8 @@ import { SinonSpy, spy } from 'sinon';
4
4
import '../../mock-wizard.js' ;
5
5
import { MockWizard } from '../../mock-wizard.js' ;
6
6
7
+ import { ListItemBase } from '@material/mwc-list/mwc-list-item-base' ;
8
+
7
9
import { editDataSetWizard } from '../../../src/wizards/dataset.js' ;
8
10
import { WizardTextField } from '../../../src/wizard-textfield.js' ;
9
11
import {
@@ -47,7 +49,11 @@ describe('dataset wizards', () => {
47
49
48
50
it ( 'allows to add a new FCDA on add FCDA button click' , async ( ) => {
49
51
const addButton = < HTMLElement > (
50
- element . wizardUI . dialog ?. querySelector ( 'mwc-button[icon="add"]' )
52
+ Array . from (
53
+ element . wizardUI . dialog ! . querySelectorAll < ListItemBase > (
54
+ 'mwc-menu > mwc-list-item'
55
+ )
56
+ ) . find ( item => item . innerHTML . includes ( 'dataset.fcda.add' ) )
51
57
) ;
52
58
await addButton . click ( ) ;
53
59
expect ( wizardEvent ) . to . be . calledOnce ;
You can’t perform that action at this time.
0 commit comments