File tree Expand file tree Collapse file tree 5 files changed +37
-7
lines changed
Expand file tree Collapse file tree 5 files changed +37
-7
lines changed Original file line number Diff line number Diff line change 88 align-items : center;
99}
1010
11- [part = input ] {
11+ [part = value ] {
1212 --pg-input-select-padding : 0 0.25rem ;
1313 --pg-input-select-border-color : transparent;
1414 margin : 0 -0.25rem ;
Original file line number Diff line number Diff line change 11< div part ="key "> </ div >
22< div part ="seperator "> : </ div >
33< div part ="container ">
4- < pg-input-select part ="input "> </ pg-input-select >
4+ < pg-input-select part ="value "> </ pg-input-select >
55</ div >
Original file line number Diff line number Diff line change @@ -15,15 +15,23 @@ export default class PgJsonBoolean extends HTMLElement {
1515 @Prop ( ) value : boolean = false ;
1616
1717 @Part ( ) $key : HTMLDivElement ;
18- @Part ( ) $input : PgInputSelect ;
18+ @Part ( ) $value : PgInputSelect ;
1919
2020 connectedCallback ( ) {
21- this . $input . options . push (
21+ this . $value . options . push (
2222 { label : 'true' , value : 'true' } ,
2323 { label : 'false' , value : 'false' } ,
2424 ) ;
25- this . $input . addEventListener ( 'change' , ( e : any ) => {
26- this . $input . value = e . detail . value ;
25+ this . $value . addEventListener ( 'input' , ( e : any ) => {
26+ this . $value . value = e . detail . value ;
27+ this . dispatchEvent (
28+ new CustomEvent ( 'update' , {
29+ detail : {
30+ path : [ this . key ] ,
31+ value : e . detail . value ,
32+ }
33+ } )
34+ ) ;
2735 } ) ;
2836 }
2937
@@ -32,7 +40,7 @@ export default class PgJsonBoolean extends HTMLElement {
3240 this . $key . textContent = this . key ;
3341 }
3442 if ( changes . value ) {
35- this . $input . value = this . value ? 'true' : 'false' ;
43+ this . $value . value = this . value ? 'true' : 'false' ;
3644 }
3745 }
3846}
Original file line number Diff line number Diff line change @@ -17,6 +17,19 @@ export default class PgJsonNumber extends HTMLElement {
1717 @Part ( ) $key : HTMLDivElement ;
1818 @Part ( ) $value : PgInputNumber ;
1919
20+ connectedCallback ( ) {
21+ this . $value . addEventListener ( 'input' , ( e : any ) => {
22+ this . dispatchEvent (
23+ new CustomEvent ( 'update' , {
24+ detail : {
25+ path : [ this . key ] ,
26+ value : e . detail . value ,
27+ }
28+ } )
29+ ) ;
30+ } ) ;
31+ }
32+
2033 render ( changes ) {
2134 if ( changes . key ) {
2235 this . $key . textContent = this . key ;
Original file line number Diff line number Diff line change @@ -27,6 +27,15 @@ export default class PgJsonObject extends HTMLElement {
2727 container : this . $items ,
2828 items : this . value ,
2929 type : ( item ) => item . type ,
30+ create ( $item , item ) {
31+ $item . addEventListener ( 'update' , ( e : any ) => {
32+ this . dispatchEvent (
33+ new CustomEvent ( 'update' , {
34+
35+ } )
36+ ) ;
37+ } ) ;
38+ }
3039 } ) ;
3140 }
3241
You can’t perform that action at this time.
0 commit comments