Fixing value sync
This commit is contained in:
parent
997d355b02
commit
353e68563e
13
components/dist/chips.js
vendored
13
components/dist/chips.js
vendored
@ -1,5 +1,5 @@
|
|||||||
const smChips = document.createElement('template');
|
const smChips = document.createElement('template');
|
||||||
smChips.innerHTML = `
|
smChips.innerHTML = /*html*/`
|
||||||
<style>
|
<style>
|
||||||
*{
|
*{
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@ -239,8 +239,8 @@ customElements.define('sm-chips', class extends HTMLElement {
|
|||||||
threshold: 1,
|
threshold: 1,
|
||||||
});
|
});
|
||||||
this.chipsWrapper.addEventListener('option-clicked', e => {
|
this.chipsWrapper.addEventListener('option-clicked', e => {
|
||||||
if (this._value !== e.target.value) {
|
if (this._value !== e.detail.value) {
|
||||||
this.setSelectedOption(e.target.value);
|
this.setSelectedOption(e.detail.value);
|
||||||
this.fireEvent();
|
this.fireEvent();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -284,7 +284,7 @@ customElements.define('sm-chips', class extends HTMLElement {
|
|||||||
});
|
});
|
||||||
|
|
||||||
const smChip = document.createElement('template');
|
const smChip = document.createElement('template');
|
||||||
smChip.innerHTML = `
|
smChip.innerHTML = /*html*/`
|
||||||
<style>
|
<style>
|
||||||
*{
|
*{
|
||||||
padding: 0;
|
padding: 0;
|
||||||
@ -327,7 +327,7 @@ customElements.define('sm-chip', class extends HTMLElement {
|
|||||||
this.attachShadow({
|
this.attachShadow({
|
||||||
mode: 'open'
|
mode: 'open'
|
||||||
}).append(smChip.content.cloneNode(true));
|
}).append(smChip.content.cloneNode(true));
|
||||||
this._value = undefined;
|
this._value = this.getAttribute('value');
|
||||||
this.radioButton = this.shadowRoot.querySelector('input');
|
this.radioButton = this.shadowRoot.querySelector('input');
|
||||||
|
|
||||||
this.fireEvent = this.fireEvent.bind(this);
|
this.fireEvent = this.fireEvent.bind(this);
|
||||||
@ -358,7 +358,6 @@ customElements.define('sm-chip', class extends HTMLElement {
|
|||||||
connectedCallback() {
|
connectedCallback() {
|
||||||
this.setAttribute('role', 'option');
|
this.setAttribute('role', 'option');
|
||||||
this.setAttribute('tabindex', '0');
|
this.setAttribute('tabindex', '0');
|
||||||
this._value = this.getAttribute('value');
|
|
||||||
this.addEventListener('click', this.fireEvent);
|
this.addEventListener('click', this.fireEvent);
|
||||||
this.addEventListener('keydown', this.handleKeyDown);
|
this.addEventListener('keydown', this.handleKeyDown);
|
||||||
}
|
}
|
||||||
@ -370,6 +369,8 @@ customElements.define('sm-chip', class extends HTMLElement {
|
|||||||
} else {
|
} else {
|
||||||
this.removeAttribute('aria-selected');
|
this.removeAttribute('aria-selected');
|
||||||
}
|
}
|
||||||
|
} else if (name === 'value') {
|
||||||
|
this._value = newValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
disconnectedCallback() {
|
disconnectedCallback() {
|
||||||
|
|||||||
2
components/dist/chips.min.js
vendored
2
components/dist/chips.min.js
vendored
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user