From 55f4a8f273c11641e882a149aaeba782ba1a031d Mon Sep 17 00:00:00 2001 From: Kevin Chappell Date: Sun, 23 Aug 2020 19:47:02 -0700 Subject: [PATCH] fix: onAddOption default --- src/demo/js/demo.js | 10 +++++----- src/js/config.js | 2 +- src/js/form-builder.js | 15 +++++++++------ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/demo/js/demo.js b/src/demo/js/demo.js index b330dde40..e22689439 100644 --- a/src/demo/js/demo.js +++ b/src/demo/js/demo.js @@ -213,12 +213,12 @@ jQuery(function($) { onAddField: fieldId => { setCurrentFieldIdValues(fieldId) }, - onAddOption: (optionTemplate, {index}) => { - optionTemplate.label = optionTemplate.label || `Option ${index + 1}` - optionTemplate.value = optionTemplate.value || `option-${index + 1}` + // onAddOption: (optionTemplate, {index}) => { + // optionTemplate.label = optionTemplate.label || `Option ${index + 1}` + // optionTemplate.value = optionTemplate.value || `option-${index + 1}` - return optionTemplate - }, + // return optionTemplate + // }, onClearAll: () => window.sessionStorage.removeItem('formData'), stickyControls: { enable: true, diff --git a/src/js/config.js b/src/js/config.js index 1953ca919..e6bc4b3c3 100644 --- a/src/js/config.js +++ b/src/js/config.js @@ -52,7 +52,7 @@ export const defaultOptions = { }, }, onAddField: (fieldId, fieldData) => fieldData, - onAddOption: noop, + onAddOption: obj => obj, onClearAll: noop, onCloseFieldEdit: noop, onOpenFieldEdit: noop, diff --git a/src/js/form-builder.js b/src/js/form-builder.js index e8fc6dd5e..bf2975c0d 100755 --- a/src/js/form-builder.js +++ b/src/js/form-builder.js @@ -277,18 +277,21 @@ const FormBuilder = function(opts, element, $) { const optionActions = [m('a', mi18n.get('addOption'), { className: 'add add-opt' })] const fieldOptions = [m('label', mi18n.get('selectOptions'), { className: 'false-label' })] const isMultiple = fieldData.multiple || type === 'checkbox-group' - const optionDataTemplate = label => ({ - selected: false, - label, - value: hyphenCase(label), - }) + const optionDataTemplate = count => { + const label = mi18n.get('optionCount', count) + return { + selected: false, + label, + value: hyphenCase(label) + } + } if (!values || !values.length) { let defaultOptCount = [1, 2, 3] if (['checkbox-group', 'checkbox'].includes(type)) { defaultOptCount = [1] } - fieldValues = defaultOptCount.map(index => optionDataTemplate(`${mi18n.get('optionCount', index)}`)) + fieldValues = defaultOptCount.map(optionDataTemplate) const firstOption = fieldValues[0] if (firstOption.hasOwnProperty('selected') && type !== 'radio-group') {