fix(choice-input): fix serializedValue setter check
This commit is contained in:
parent
77abd7c8b0
commit
0445b86350
2 changed files with 15 additions and 3 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
import { dedupeMixin } from '@lion/core';
|
import { dedupeMixin } from '@lion/core';
|
||||||
import { InteractionStateMixin, FormRegistrarMixin } from '@lion/field';
|
import { FormRegistrarMixin, InteractionStateMixin } from '@lion/field';
|
||||||
|
|
||||||
export const ChoiceGroupMixin = dedupeMixin(
|
export const ChoiceGroupMixin = dedupeMixin(
|
||||||
superclass =>
|
superclass =>
|
||||||
|
|
@ -49,7 +49,7 @@ export const ChoiceGroupMixin = dedupeMixin(
|
||||||
}
|
}
|
||||||
|
|
||||||
set serializedValue(value) {
|
set serializedValue(value) {
|
||||||
this._setCheckedElements(value, (el, val) => el.serializedValue === val);
|
this._setCheckedElements(value, (el, val) => el.serializedValue.value === val);
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { html, LitElement } from '@lion/core';
|
import { html, LitElement } from '@lion/core';
|
||||||
import { FormGroupMixin } from '@lion/fieldset';
|
import { FormGroupMixin } from '@lion/fieldset';
|
||||||
|
import '@lion/fieldset/lion-fieldset.js';
|
||||||
import { LionInput } from '@lion/input';
|
import { LionInput } from '@lion/input';
|
||||||
import { Required } from '@lion/validate';
|
import { Required } from '@lion/validate';
|
||||||
import { expect, fixture, nextFrame } from '@open-wc/testing';
|
import { expect, fixture, nextFrame } from '@open-wc/testing';
|
||||||
import { ChoiceGroupMixin } from '../src/ChoiceGroupMixin.js';
|
import { ChoiceGroupMixin } from '../src/ChoiceGroupMixin.js';
|
||||||
import { ChoiceInputMixin } from '../src/ChoiceInputMixin.js';
|
import { ChoiceInputMixin } from '../src/ChoiceInputMixin.js';
|
||||||
import '@lion/fieldset/lion-fieldset.js';
|
|
||||||
|
|
||||||
describe('ChoiceGroupMixin', () => {
|
describe('ChoiceGroupMixin', () => {
|
||||||
before(() => {
|
before(() => {
|
||||||
|
|
@ -116,6 +116,18 @@ describe('ChoiceGroupMixin', () => {
|
||||||
expect(el.formElements[2].checked).to.be.true;
|
expect(el.formElements[2].checked).to.be.true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('can set initial serializedValue on creation', async () => {
|
||||||
|
const el = await fixture(html`
|
||||||
|
<choice-group name="gender" .serializedValue=${'other'}>
|
||||||
|
<choice-group-input .choiceValue=${'male'}></choice-group-input>
|
||||||
|
<choice-group-input .choiceValue=${'female'}></choice-group-input>
|
||||||
|
<choice-group-input .choiceValue=${'other'}></choice-group-input>
|
||||||
|
</choice-group>
|
||||||
|
`);
|
||||||
|
|
||||||
|
expect(el.serializedValue).to.equal('other');
|
||||||
|
});
|
||||||
|
|
||||||
it('can handle complex data via choiceValue', async () => {
|
it('can handle complex data via choiceValue', async () => {
|
||||||
const date = new Date(2018, 11, 24, 10, 33, 30, 0);
|
const date = new Date(2018, 11, 24, 10, 33, 30, 0);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue