From e6b5a21ae27565ac8ffed8290b84b37196c698df Mon Sep 17 00:00:00 2001 From: Bruno Alves de Faria Date: Mon, 1 May 2017 14:04:26 -0300 Subject: [PATCH] Allowing W/L Presets customization --- .../ohif-core/client/components/base/index.js | 1 + .../components/base/mixins/schemaData.js | 16 +- .../client/components/base/templates/tr.html | 9 + .../components/bootstrap/form/group.html | 2 +- Packages/ohif-core/client/helpers/number.js | 4 + Packages/ohif-core/client/helpers/string.js | 2 +- .../client/protocolEngine.js | 18 +- .../client/classes/HotkeysManager.js | 20 +- .../client/components/dialog.html | 2 +- Packages/ohif-user/client/lib/data.js | 11 +- .../viewer/windowLevelPresets/form.html | 21 +- .../viewer/windowLevelPresets/form.js | 15 +- .../ohif-viewerbase/client/lib/WLPresets.js | 316 +++++++++++------- .../ohif-viewerbase/client/lib/hotkeyUtils.js | 39 +-- 14 files changed, 303 insertions(+), 173 deletions(-) create mode 100644 Packages/ohif-core/client/components/base/templates/tr.html diff --git a/Packages/ohif-core/client/components/base/index.js b/Packages/ohif-core/client/components/base/index.js index 521942557..b6dcb77d9 100644 --- a/Packages/ohif-core/client/components/base/index.js +++ b/Packages/ohif-core/client/components/base/index.js @@ -31,6 +31,7 @@ import './templates/form.html'; import './templates/input.html'; import './templates/link.html'; import './templates/select.html'; +import './templates/tr.html'; // wrappers import './wrappers/label.html'; diff --git a/Packages/ohif-core/client/components/base/mixins/schemaData.js b/Packages/ohif-core/client/components/base/mixins/schemaData.js index 572425a18..5370ad6a6 100644 --- a/Packages/ohif-core/client/components/base/mixins/schemaData.js +++ b/Packages/ohif-core/client/components/base/mixins/schemaData.js @@ -141,19 +141,23 @@ OHIF.mixins.schemaData = new OHIF.Mixin({ component.parseData = value => { // Get the current schema data using component's key const { currentSchema } = getCurrentSchemaDefs(component.parent, instance.data.pathKey); + const { dataType } = instance.data; - // Stop here if there's no schema data for current key - if (!currentSchema) { + // Stop here if there's no schema data for current key or no dataType defined + if (!currentSchema && !dataType) { return value; } - // Check if the schema is a Number - if (currentSchema.type === Number) { + // Get the schema type + const schemaType = currentSchema && currentSchema.type; + + // Check if the type is Number + if (schemaType === Number || dataType === 'Number') { return parseFloat(value); } - // Check if the schema is a Boolean - if (currentSchema.type === Boolean) { + // Check if the type is Boolean + if (schemaType === Boolean || dataType === 'Boolean') { return !!value; } diff --git a/Packages/ohif-core/client/components/base/templates/tr.html b/Packages/ohif-core/client/components/base/templates/tr.html new file mode 100644 index 000000000..003ae583a --- /dev/null +++ b/Packages/ohif-core/client/components/base/templates/tr.html @@ -0,0 +1,9 @@ + diff --git a/Packages/ohif-core/client/components/bootstrap/form/group.html b/Packages/ohif-core/client/components/bootstrap/form/group.html index 3bf8bc0ed..402f38fc2 100644 --- a/Packages/ohif-core/client/components/bootstrap/form/group.html +++ b/Packages/ohif-core/client/components/bootstrap/form/group.html @@ -1,7 +1,7 @@