Skip to content

Commit be8e3cc

Browse files
committed
Start to wire update event.
1 parent 78209fc commit be8e3cc

File tree

5 files changed

+37
-7
lines changed

5 files changed

+37
-7
lines changed

src/pg/jsonBoolean/jsonBoolean.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
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;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<div part="key"></div>
22
<div part="seperator">:&nbsp;</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>

src/pg/jsonBoolean/jsonBoolean.ts

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff 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
}

src/pg/jsonNumber/jsonNumber.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff 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;

src/pg/jsonObject/jsonObject.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff 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

0 commit comments

Comments
 (0)