File tree Expand file tree Collapse file tree 7 files changed +33
-16
lines changed
Expand file tree Collapse file tree 7 files changed +33
-16
lines changed Original file line number Diff line number Diff line change @@ -37,7 +37,7 @@ export default class XPgButtonMenuBasic extends HTMLElement {
3737 }
3838
3939 handleChange ( e : any ) {
40- const { active } = e . detail ;
41- this . $value . textContent = `${ active } ` ;
40+ const { indexes , item } = e . detail ;
41+ this . $value . textContent = `indexes: ${ indexes . join ( ',' ) } ; item: ${ JSON . stringify ( item ) } ` ;
4242 }
4343}
Original file line number Diff line number Diff line change @@ -52,9 +52,12 @@ export default class PgButtonMenu extends HTMLElement {
5252 } ) ;
5353 this . $icon . path = IconExpand ;
5454 if ( result !== undefined ) {
55+ const { indexes, item } = result ;
5556 this . dispatchEvent ( new CustomEvent ( 'change' , {
5657 detail : {
57- value : result . value
58+ indexes,
59+ item,
60+ value : item . value
5861 }
5962 } ) ) ;
6063 }
Original file line number Diff line number Diff line change @@ -34,11 +34,12 @@ export default class PgMenu extends HTMLElement {
3434 } ) ) ;
3535 } ) ;
3636 $item . addEventListener ( 'select' , ( e : any ) => {
37- const { index } = e . detail ;
37+ const { indexes, item } = e . detail ;
38+ const lastIndex = indexes [ indexes . length - 1 ] ;
3839 this . dispatchEvent ( new CustomEvent ( 'select' , {
3940 detail : {
40- indexes : [ index ] ,
41- item
41+ indexes,
42+ item : item ? item : this . items [ lastIndex ] ,
4243 }
4344 } ) ) ;
4445 } ) ;
Original file line number Diff line number Diff line change @@ -56,10 +56,11 @@ export default class PgMenuItem extends HTMLElement {
5656 if ( result === null ) {
5757 this . focus ( ) ;
5858 } else if ( result ) {
59+ const { indexes, item } = result ;
5960 this . dispatchEvent ( new CustomEvent ( 'select' , {
6061 detail : {
6162 item : result ,
62- indexes : [ this . index ] ,
63+ indexes : [ ... indexes , this . index ] ,
6364 }
6465 } ) ) ;
6566 } else {
@@ -73,7 +74,7 @@ export default class PgMenuItem extends HTMLElement {
7374 this . dispatchEvent ( new CustomEvent ( 'select' , {
7475 detail : {
7576 indexes : [ this . index ] ,
76- item : this . items [ this . index ] ,
77+ item : undefined , // determined by parent
7778 }
7879 } ) ) ;
7980 }
Original file line number Diff line number Diff line change @@ -63,9 +63,11 @@ export default class PgMenuItemIcon extends HTMLElement {
6363 if ( result === null ) {
6464 this . focus ( ) ;
6565 } else if ( result ) {
66+ const { indexes, item } = result ;
6667 this . dispatchEvent ( new CustomEvent ( 'select' , {
6768 detail : {
68- item : result
69+ indexes : [ ...indexes , this . index ] ,
70+ item,
6971 }
7072 } ) ) ;
7173 } else {
@@ -78,8 +80,8 @@ export default class PgMenuItemIcon extends HTMLElement {
7880 } else {
7981 this . dispatchEvent ( new CustomEvent ( 'select' , {
8082 detail : {
81- indexex : [ this . index ] ,
82- item : this . items [ this . index ]
83+ indexes : [ this . index ] ,
84+ item : undefined , // determined by parent
8385 }
8486 } ) ) ;
8587 }
@@ -118,9 +120,11 @@ export default class PgMenuItemIcon extends HTMLElement {
118120 if ( result === null ) {
119121 this . focus ( ) ;
120122 } else if ( result ) {
123+ const { indexes, item } = result ;
121124 this . dispatchEvent ( new CustomEvent ( 'select' , {
122125 detail : {
123- item : result
126+ indexes : [ ...indexes , this . index ] ,
127+ item,
124128 }
125129 } ) ) ;
126130 } else {
Original file line number Diff line number Diff line change @@ -60,8 +60,12 @@ export default class PgOverlayMenu extends PgOverlay {
6060 }
6161
6262 #handleSelect( e : any ) {
63- e . detail . item . index = e . detail . index ;
64- this . close ( e . detail . item ) ;
63+ // e.detail.item.index = e.detail.index;
64+ const { indexes, item } = e . detail ;
65+ this . close ( {
66+ indexes,
67+ item
68+ } ) ;
6569 this . source ?. focus ( ) ;
6670 }
6771}
Original file line number Diff line number Diff line change @@ -96,8 +96,12 @@ export default class PgOverlaySubMenu extends PgOverlay {
9696 }
9797
9898 #handleSelect( e : any ) {
99- e . detail . item . index = e . detail . index ;
100- this . close ( e . detail . item ) ;
99+ const { item, indexes } = e . detail ;
100+ //e.detail.item.index = e.detail.indexes;
101+ this . close ( {
102+ indexes,
103+ item,
104+ } ) ;
101105 this . source ?. focus ( ) ;
102106 }
103107}
You can’t perform that action at this time.
0 commit comments