From a3d394f65dbba3798c26f32622cc4ad6e880e8c6 Mon Sep 17 00:00:00 2001 From: Artur Arseniev Date: Mon, 3 Aug 2020 13:53:42 +0200 Subject: [PATCH] Ensure selected value in select Trait type. Fixes #2896 --- src/trait_manager/model/TraitFactory.js | 16 +++++----------- src/trait_manager/view/TraitSelectView.js | 5 ++++- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/trait_manager/model/TraitFactory.js b/src/trait_manager/model/TraitFactory.js index c78bfa042..397becd0b 100644 --- a/src/trait_manager/model/TraitFactory.js +++ b/src/trait_manager/model/TraitFactory.js @@ -5,25 +5,19 @@ export default (config = {}) => ({ * @return {Array} */ build(props) { - var objs = []; + const objs = []; if (typeof props === 'string') props = [props]; - for (var i = 0; i < props.length; i++) { - var obj = {}; - var prop = props[i]; + for (let i = 0; i < props.length; i++) { + const obj = {}; + const prop = props[i]; obj.name = prop; - // Define type switch (prop) { case 'target': obj.type = 'select'; - break; - } - - // Define options - switch (prop) { - case 'target': + obj.default = false; obj.options = config.optionsTarget; break; } diff --git a/src/trait_manager/view/TraitSelectView.js b/src/trait_manager/view/TraitSelectView.js index 745d8e6ec..04221139d 100644 --- a/src/trait_manager/view/TraitSelectView.js +++ b/src/trait_manager/view/TraitSelectView.js @@ -29,6 +29,7 @@ export default TraitView.extend({ const { model, em } = this; const propName = model.get('name'); const opts = model.get('options') || []; + const values = []; let input = ''; this.$input = $(input); const val = model.getTargetValue(); - !isUndefined(val) && this.$input.val(val); + const valResult = values.indexOf(val) >= 0 ? val : model.get('default'); + !isUndefined(valResult) && this.$input.val(valResult); } return this.$input.get(0);