From d9d5c3ee68982274178cbe9580dbe20d8168de98 Mon Sep 17 00:00:00 2001 From: Roman Date: Tue, 30 Apr 2024 17:07:48 +0300 Subject: [PATCH] FIO-8280: fixed setting incorrect option label (#5582) --- src/components/select/Select.js | 2 +- src/components/select/Select.unit.js | 27 ++++++++++++++++++++++++ src/components/select/fixtures/comp22.js | 2 +- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/components/select/Select.js b/src/components/select/Select.js index 50360076f4..26641a7edb 100644 --- a/src/components/select/Select.js +++ b/src/components/select/Select.js @@ -258,7 +258,7 @@ export default class SelectComponent extends ListComponent { } get selectData() { - return this.component.selectData || this.selectMetadata; + return this.selectMetadata || this.component.selectData; } isEntireObjectDisplay() { diff --git a/src/components/select/Select.unit.js b/src/components/select/Select.unit.js index c72c5694cc..b478b183cc 100644 --- a/src/components/select/Select.unit.js +++ b/src/components/select/Select.unit.js @@ -1015,6 +1015,33 @@ describe('Select Component', () => { }).catch(done); }); + it('Should set correct label from metadata for ChoicesJS Select with default value', (done) => { + const form = _.cloneDeep(comp22); + form.components[0].widget='choicesjs'; + const element = document.createElement('div'); + + Formio.createForm(element, form).then(form => { + const select = form.getComponent('select'); + form.submission = { + data: { + select: 'value2', + }, + metadata: { + selectData: { + select: { + label: 'Label 2', + }, + }, + }, + }; + + setTimeout(()=> { + assert.equal(select.templateData['value2'].label, 'Label 2'); + done(); + }, 200); + }).catch(done); + }); + it('OnBlur validation should work properly with Select component', function(done) { this.timeout(0); const element = document.createElement('div'); diff --git a/src/components/select/fixtures/comp22.js b/src/components/select/fixtures/comp22.js index cdd0787a5e..e04a8c8780 100644 --- a/src/components/select/fixtures/comp22.js +++ b/src/components/select/fixtures/comp22.js @@ -10,7 +10,7 @@ export default { tableView: true, dataSrc: 'url', data: { - url: 'https://fake_url', + url: 'https://fake_url.com', headers: [ { key: '',