diff --git a/Packages/ohif-core/client/components/base/mixins/schemaData.js b/Packages/ohif-core/client/components/base/mixins/schemaData.js index 5370ad6a6..005e0f66f 100644 --- a/Packages/ohif-core/client/components/base/mixins/schemaData.js +++ b/Packages/ohif-core/client/components/base/mixins/schemaData.js @@ -179,7 +179,8 @@ OHIF.mixins.schemaData = new OHIF.Mixin({ } // Fill the component with its default value after rendering - if (currentSchema.defaultValue) { + if (!_.isUndefined(currentSchema.defaultValue)) { + component.defaultValue = currentSchema.defaultValue; component.value(currentSchema.defaultValue); } } diff --git a/Packages/ohif-core/client/components/base/mixins/select2.js b/Packages/ohif-core/client/components/base/mixins/select2.js index ccbdb26a1..11f7c0f32 100644 --- a/Packages/ohif-core/client/components/base/mixins/select2.js +++ b/Packages/ohif-core/client/components/base/mixins/select2.js @@ -15,9 +15,23 @@ OHIF.mixins.select2 = new OHIF.Mixin({ const instance = Template.instance(); const { component, data } = instance; + // Controls select2 initialization + instance.isInitialized = false; + // Set the custom focus flag component.isCustomFocus = true; + const valueMethod = component.value; + component.value = value => { + if (_.isUndefined(value) && !instance.isInitialized) { + if (!_.isUndefined(instance.data.value)) return instance.data.value; + if (!_.isUndefined(component.defaultValue)) return component.defaultValue; + return; + } + + return valueMethod(value); + }; + // Utility function to get the dropdown jQuery element instance.getDropdownContainerElement = () => { const $select2 = component.$element.nextAll('.select2:first'); @@ -113,6 +127,9 @@ OHIF.mixins.select2 = new OHIF.Mixin({ instance.component.$element.focus(); } }); + + // Set select2 as initialized + instance.isInitialized = true; }; instance.autorun(() => {