@beinformed/ui 1.20.9 → 1.20.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/esm/constants/Settings.js +2 -0
- package/esm/constants/Settings.js.map +1 -1
- package/esm/models/attributes/AttributeDataHelper.js +6 -1
- package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/constants/Settings.js +5 -1
- package/lib/constants/Settings.js.flow +3 -0
- package/lib/constants/Settings.js.map +1 -1
- package/lib/models/attributes/AttributeDataHelper.js +6 -1
- package/lib/models/attributes/AttributeDataHelper.js.flow +5 -1
- package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/redux/actions/__tests__/Error-server.spec.js.flow +0 -1
- package/package.json +5 -5
- package/src/constants/Settings.js +3 -0
- package/src/models/attributes/AttributeDataHelper.js +5 -1
- package/src/redux/actions/__tests__/Error-server.spec.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [1.20.10](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.20.9...v1.20.10) (2022-08-09)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
- **filter:** handle filters with name 'name' or name 'param' ([1c43e4d](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/1c43e4d5d187885a9c7896b12d023bbb23e63320))
|
|
10
|
+
- **login:** export LOGIN_PATH and LOGOUT_PATH to prevent regression in older layouts ([5382d02](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/5382d02e8adfdffaed1674f27198e4cbd3d499a7))
|
|
11
|
+
|
|
5
12
|
### [1.20.9](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.20.8...v1.20.9) (2022-08-03)
|
|
6
13
|
|
|
7
14
|
### Bug Fixes
|
|
@@ -117,4 +117,6 @@ export const loginPasswordField = () => getSetting(LOGIN_PASSWORD_SETTING, "j_pa
|
|
|
117
117
|
*/
|
|
118
118
|
|
|
119
119
|
export const logoutPath = () => getSetting(LOGOUT_PATH_SETTING, "/Logoff");
|
|
120
|
+
export const LOGIN_PATH = loginPath();
|
|
121
|
+
export const LOGOUT_PATH = logoutPath();
|
|
120
122
|
//# sourceMappingURL=Settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","names":["isPlainObject","has","ALL_CONTENT_IN_DATA_SETTING","LOGIN_TYPE","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING","defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","HIDE_WHEN_EMPTY_IGNORE_TASKS","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","hasAllContentInData","loginType","loginPath","loginUsernameField","loginPasswordField","logoutPath"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst defaultSettings = {\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n * Login type, only available when pac4j is configured\n */\nexport const loginType = (): string => getSetting(LOGIN_TYPE, \"JAAS\");\n\n/**\n */\nexport const loginPath = (): string =>\n getSetting(LOGIN_PATH_SETTING, \"/j_security_check\");\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/Logoff\");\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Settings.js","names":["isPlainObject","has","ALL_CONTENT_IN_DATA_SETTING","LOGIN_TYPE","LOGIN_PATH_SETTING","LOGIN_USERNAME_SETTING","LOGIN_PASSWORD_SETTING","LOGOUT_PATH_SETTING","defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","HIDE_WHEN_EMPTY_IGNORE_TASKS","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","hasAllContentInData","loginType","loginPath","loginUsernameField","loginPasswordField","logoutPath"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst defaultSettings = {\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n * Login type, only available when pac4j is configured\n */\nexport const loginType = (): string => getSetting(LOGIN_TYPE, \"JAAS\");\n\n/**\n */\nexport const loginPath = (): string =>\n getSetting(LOGIN_PATH_SETTING, \"/j_security_check\");\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/Logoff\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n"],"mappings":"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"}
|
|
@@ -36,7 +36,12 @@ class AttributeDataHelper {
|
|
|
36
36
|
const attributeData = cloneDeep(data);
|
|
37
37
|
attributeData._links = pick(data._links, ["concept", "download", "lookupOptions", "lookupList"]);
|
|
38
38
|
this._attribute = attributeData;
|
|
39
|
-
|
|
39
|
+
|
|
40
|
+
if (data[key] === undefined || "name" in data && "param" in data) {
|
|
41
|
+
this._value = this.getValue(data);
|
|
42
|
+
} else {
|
|
43
|
+
this._value = data[key];
|
|
44
|
+
}
|
|
40
45
|
}
|
|
41
46
|
|
|
42
47
|
this._children = this.createChildren(data, childrenKeys);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeDataHelper.js","names":["cloneDeep","pick","has","isPlainObject","AttributeDataHelper","constructor","data","key","childrenKeys","_key","Array","isArray","_attribute","attr","elementid","name","param","_value","getValue","attributeData","_links","undefined","_children","createChildren","childData","parentKey","childKey","elements","element","parentData","content","createChild","keyObject","dynamicschema","dynamicschemaId","children","childrenIsArray","value","attribute","suggestions","suggestion","options","option","selected","code","static","links","attrDS","message","isResult","referenceDate","pickedContent","length","getData","child","subChild"],"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"sourcesContent":["// @flow\nimport cloneDeep from \"lodash/cloneDeep\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = cloneDeep(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n this._value = data[key] === undefined ? this.getValue(data) : data[key];\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n const parentData = data[parentKey];\n if (isPlainObject(parentData) && data.content?.[childKey]) {\n return { ...parentData, content: data.content[childKey] };\n }\n return parentData;\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n let dynamicschemaId = null;\n if (keyObject.dynamicschemaId) {\n dynamicschemaId = keyObject.dynamicschemaId;\n } else if (\n isPlainObject(data) &&\n typeof data.key === \"string\" &&\n keyObject.key\n ) {\n dynamicschemaId = `${data.key}.${keyObject.key}`;\n }\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId,\n },\n keyObject.key,\n keyObject.children\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = []\n ): Array<AttributeDataHelper> {\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n })\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return null;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n if (this._attribute.content) {\n const pickedContent = pick(this._attribute.content, [\n \"header\",\n \"label\",\n \"elements\",\n \"layouthint\",\n \"text\",\n ]);\n\n if (Object.keys(pickedContent).length > 0) {\n return pickedContent;\n }\n }\n\n return null;\n }\n\n /**\n */\n getData(): Object {\n return {\n key: this.key,\n value: this.value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData()\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AttributeDataHelper.js","names":["cloneDeep","pick","has","isPlainObject","AttributeDataHelper","constructor","data","key","childrenKeys","_key","Array","isArray","_attribute","attr","elementid","name","param","_value","getValue","attributeData","_links","undefined","_children","createChildren","childData","parentKey","childKey","elements","element","parentData","content","createChild","keyObject","dynamicschema","dynamicschemaId","children","childrenIsArray","value","attribute","suggestions","suggestion","options","option","selected","code","static","links","attrDS","message","isResult","referenceDate","pickedContent","length","getData","child","subChild"],"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"sourcesContent":["// @flow\nimport cloneDeep from \"lodash/cloneDeep\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = cloneDeep(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n if (data[key] === undefined || (\"name\" in data && \"param\" in data)) {\n this._value = this.getValue(data);\n } else {\n this._value = data[key];\n }\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n const parentData = data[parentKey];\n if (isPlainObject(parentData) && data.content?.[childKey]) {\n return { ...parentData, content: data.content[childKey] };\n }\n return parentData;\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n let dynamicschemaId = null;\n if (keyObject.dynamicschemaId) {\n dynamicschemaId = keyObject.dynamicschemaId;\n } else if (\n isPlainObject(data) &&\n typeof data.key === \"string\" &&\n keyObject.key\n ) {\n dynamicschemaId = `${data.key}.${keyObject.key}`;\n }\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId,\n },\n keyObject.key,\n keyObject.children\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = []\n ): Array<AttributeDataHelper> {\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n })\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return null;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n if (this._attribute.content) {\n const pickedContent = pick(this._attribute.content, [\n \"header\",\n \"label\",\n \"elements\",\n \"layouthint\",\n \"text\",\n ]);\n\n if (Object.keys(pickedContent).length > 0) {\n return pickedContent;\n }\n }\n\n return null;\n }\n\n /**\n */\n getData(): Object {\n return {\n key: this.key,\n value: this.value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData()\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequ
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.setSettings = exports.setSetting = exports.logoutPath = exports.loginUsernameField = exports.loginType = exports.loginPath = exports.loginPasswordField = exports.hasAllContentInData = exports.getSetting = exports.allSettings = void 0;
|
|
8
|
+
exports.setSettings = exports.setSetting = exports.logoutPath = exports.loginUsernameField = exports.loginType = exports.loginPath = exports.loginPasswordField = exports.hasAllContentInData = exports.getSetting = exports.allSettings = exports.LOGOUT_PATH = exports.LOGIN_PATH = void 0;
|
|
9
9
|
|
|
10
10
|
var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
|
|
11
11
|
|
|
@@ -158,4 +158,8 @@ exports.loginPasswordField = loginPasswordField;
|
|
|
158
158
|
const logoutPath = () => getSetting(_Constants.LOGOUT_PATH_SETTING, "/Logoff");
|
|
159
159
|
|
|
160
160
|
exports.logoutPath = logoutPath;
|
|
161
|
+
const LOGIN_PATH = loginPath();
|
|
162
|
+
exports.LOGIN_PATH = LOGIN_PATH;
|
|
163
|
+
const LOGOUT_PATH = logoutPath();
|
|
164
|
+
exports.LOGOUT_PATH = LOGOUT_PATH;
|
|
161
165
|
//# sourceMappingURL=Settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.js","names":["defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","HIDE_WHEN_EMPTY_IGNORE_TASKS","settings","setSettings","config","isPlainObject","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","loginType","LOGIN_TYPE","loginPath","LOGIN_PATH_SETTING","loginUsernameField","LOGIN_USERNAME_SETTING","loginPasswordField","LOGIN_PASSWORD_SETTING","logoutPath","LOGOUT_PATH_SETTING"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst defaultSettings = {\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n * Login type, only available when pac4j is configured\n */\nexport const loginType = (): string => getSetting(LOGIN_TYPE, \"JAAS\");\n\n/**\n */\nexport const loginPath = (): string =>\n getSetting(LOGIN_PATH_SETTING, \"/j_security_check\");\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/Logoff\");\n"],"mappings":";;;;;;;;;;;AACA;;AACA;;AAWA,MAAMA,eAAe,GAAG;EACtB;EACAC,4BAA4B,EAAE,IAFR;EAItB;EACAC,yBAAyB,EAAE,IALL;EAOtB;EACAC,kBAAkB,EAAE,KARE;EAUtB;EACAC,sBAAsB,EAAE,IAXF;EAatB;EACAC,qCAAqC,EAAE,IAdjB;EAgBtB;EACAC,oCAAoC,EAAE,KAjBhB;EAmBtB;EACAC,oBAAoB,EAAE,CAAC,UAAD,EAAa,WAAb,CApBA;EAsBtB;EACAC,yBAAyB,EAAE,IAvBL;EAyBtB;EACAC,6BAA6B,EAAE,IA1BT;EA4BtB;EACAC,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,CA7BK;EA+BtB;EACAC,wBAAwB,EAAE,KAhCJ;EAkCtB;EACAC,yBAAyB,EAAE,KAnCL;EAqCtB;EACAC,wCAAwC,EAAE,KAtCpB;EAwCtB;EACAC,UAAU,EAAE,SAzCU;EA2CtB;EACAC,wBAAwB,EAAE,EA5CJ;EA8CtB;EACAC,WAAW,EAAE,UA/CS;EAiDtB;EACAC,qBAAqB,EAAE,IAlDD;EAoDtB;EACAC,wBAAwB,EAAE,GArDJ;EAuDtB;EACAC,+BAA+B,EAAE,kCAxDX;EA0DtB;EACAC,8BAA8B,EAAE,CAC9B,yDAD8B,CA3DV;EA8DtBC,mCAAmC,EAAE,CACnC,qDADmC,CA9Df;EAiEtBC,sCAAsC,EAAE,CACtC,gDADsC,CAjElB;EAqEtB;EACAC,iBAAiB,EAAE,EAtEG;EAwEtB;EACAC,oBAAoB,EAAE,EAzEA;EA2EtB;EACAC,uBAAuB,EAAE,CA5EH;EA8EtB;EACAC,iCAAiC,EAAE,CA/Eb;EAiFtB;EACAC,aAAa,EAAE,EAlFO;EAoFtB;EACAC,6BAA6B,EAAE,IArFT;EAuFtB;EACAC,iCAAiC,EAAE,KAxFb;EA0FtBC,cAAc,EAAE,MA1FM;EA4FtBC,4BAA4B,EAAE;AA5FR,CAAxB;AA+FA,IAAIC,QAAQ,GAAGhC,eAAf;AAEA;AACA;;AACO,MAAMiC,WAAW,GAAIC,MAAD,IAAoB;EAC7C,IAAI,IAAAC,sBAAA,EAAcD,MAAd,CAAJ,EAA2B;IACzBF,QAAQ,GAAG,qBAAchC,eAAd,EAA+BkC,MAA/B,CAAX;EACD;AACF,CAJM;AAMP;AACA;;;;;AACO,MAAME,UAAU,GAAG,CAACC,GAAD,EAAcC,YAAd,KAA0C;EAAA;;EAClE,IAAI,CAAC,IAAAC,YAAA,EAAIP,QAAJ,EAAcK,GAAd,CAAD,IAAuBC,YAAY,KAAKE,SAA5C,EAAuD;IACrD,MAAM,IAAIC,KAAJ,6BACiBJ,GADjB,0CAAN;EAGD;;EAED,wBAAOL,QAAQ,CAACK,GAAD,CAAf,yDAAwBC,YAAxB;AACD,CARM;AAUP;AACA;;;;;AACO,MAAMI,UAAU,GAAG,CAACL,GAAD,EAAcM,KAAd,KAA6B;EACrDX,QAAQ,CAACK,GAAD,CAAR,GAAgBM,KAAhB;AACD,CAFM;AAIP;AACA;;;;;AACO,MAAMC,WAAW,GAAG,MAAmCZ,QAAvD;AAEP;AACA;;;;;AACO,MAAMa,mBAAmB,GAAG,MACjCT,UAAU,CAACU,sCAAD,EAA8B,IAA9B,CADL;AAGP;AACA;AACA;;;;;AACO,MAAMC,SAAS,GAAG,MAAcX,UAAU,CAACY,qBAAD,EAAa,MAAb,CAA1C;AAEP;AACA;;;;;AACO,MAAMC,SAAS,GAAG,MACvBb,UAAU,CAACc,6BAAD,EAAqB,mBAArB,CADL;AAEP;AACA;;;;;AACO,MAAMC,kBAAkB,GAAG,MAChCf,UAAU,CAACgB,iCAAD,EAAyB,YAAzB,CADL;AAEP;AACA;;;;;AACO,MAAMC,kBAAkB,GAAG,MAChCjB,UAAU,CAACkB,iCAAD,EAAyB,YAAzB,CADL;AAEP;AACA;;;;;AACO,MAAMC,UAAU,GAAG,MACxBnB,UAAU,CAACoB,8BAAD,EAAsB,SAAtB,CADL"}
|
|
1
|
+
{"version":3,"file":"Settings.js","names":["defaultSettings","DEBUG_I18N_MESSAGE_NOT_FOUND","HIDE_NOTIFICATION_TIMEOUT","ALWAYS_COMMIT_FORM","RENDER_QUESTION_LABELS","RENDER_MANDATORY_ATTRIBUTE_INDICATION","RENDER_OPTIONAL_ATTRIBUTE_INDICATION","AVAILABLE_LIST_VIEWS","USE_CLIENTSIDE_VALIDATION","USE_INSTANT_SERVER_VALIDATION","ENABLED_LOCALES","RENDER_GLOBAL_LOGIN_PAGE","RENDER_GLOBAL_LOGOUT_PAGE","RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE","LOGIN_PATH","ADMINISTRATOR_LOGIN_PATH","LOGOUT_PATH","RENDER_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","BUSINESS_SCENARIO_CONCEPT_TYPE","BUSINESS_SCENARIO_STEP_CONCEPT_TYPE","BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE","DATE_INPUT_FORMAT","DATE_READONLY_FORMAT","CALENDAR_WEEK_STARTS_ON","CALENDAR_FIRST_WEEK_CONTAINS_DATE","UI_PARAMETERS","ALLOW_HIDE_WHEN_EMPTY_ON_TABS","PAGE_RELOAD_ON_UNAUTHORIZED_ERROR","XHR_TIMEOUT_MS","HIDE_WHEN_EMPTY_IGNORE_TASKS","settings","setSettings","config","isPlainObject","getSetting","key","defaultValue","has","undefined","Error","setSetting","value","allSettings","hasAllContentInData","ALL_CONTENT_IN_DATA_SETTING","loginType","LOGIN_TYPE","loginPath","LOGIN_PATH_SETTING","loginUsernameField","LOGIN_USERNAME_SETTING","loginPasswordField","LOGIN_PASSWORD_SETTING","logoutPath","LOGOUT_PATH_SETTING"],"sources":["../../src/constants/Settings.js"],"sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport {\n ALL_CONTENT_IN_DATA_SETTING,\n LOGIN_TYPE,\n LOGIN_PATH_SETTING,\n LOGIN_USERNAME_SETTING,\n LOGIN_PASSWORD_SETTING,\n LOGOUT_PATH_SETTING,\n} from \"./Constants\";\n\ntype Setting = boolean | string | number | Array<string>;\n\nconst defaultSettings = {\n // Debug missing i18n messages in layout\n DEBUG_I18N_MESSAGE_NOT_FOUND: true,\n\n // Time to show the notification bar\n HIDE_NOTIFICATION_TIMEOUT: 5000,\n\n // Always commit form, does not show result pages for instruments\n ALWAYS_COMMIT_FORM: false,\n\n // Render instrument and event question labels on forms (might result in duplicate labels)\n RENDER_QUESTION_LABELS: true,\n\n // Render mandatory indications on attributes\n RENDER_MANDATORY_ATTRIBUTE_INDICATION: true,\n\n // Render optional indications on attributes\n RENDER_OPTIONAL_ATTRIBUTE_INDICATION: false,\n\n // Renders a toggle with supported list views, options are ListView and TableView\n AVAILABLE_LIST_VIEWS: [\"ListView\", \"TableView\"],\n\n // Toggle client side validation\n USE_CLIENTSIDE_VALIDATION: true,\n\n // Indicates if server validation should be used when a form field is changed\n USE_INSTANT_SERVER_VALIDATION: true,\n\n // Indicates which locales are enabled\n ENABLED_LOCALES: [\"en\", \"nl\"],\n\n // Renders the global log in page\n RENDER_GLOBAL_LOGIN_PAGE: false,\n\n // Renders the global log out page\n RENDER_GLOBAL_LOGOUT_PAGE: false,\n\n // Renders the login variants as option on the global logout page\n RENDER_MULTI_LOGIN_ON_GLOBAL_LOGOUT_PAGE: false,\n\n // Path to login page / component\n LOGIN_PATH: \"/signin\",\n\n // Path to administrator login page / component\n ADMINISTRATOR_LOGIN_PATH: \"\",\n\n // Path to logout page / component\n LOGOUT_PATH: \"/signout\",\n\n // Render forms in a modal\n RENDER_FORMS_IN_MODAL: true,\n\n // Wait timeout before rendering submit wait icon\n SHOW_SUBMIT_WAIT_TIMEOUT: 300,\n\n // Swim lane diagram configuration file\n SWIM_LANE_DIAGRAM_CONFIGURATION: \"/Library/Diagrams/Overviews.json\",\n\n // Business scenario concept types\n BUSINESS_SCENARIO_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/BusinessScenario\",\n ],\n BUSINESS_SCENARIO_STEP_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/ScenarioStep\",\n ],\n BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE: [\n \"/Library/KMTs/Business scenarios.bixml/Persona\",\n ],\n\n // Input format for dates. Without this setting having a value, the contributions format is used\n DATE_INPUT_FORMAT: \"\",\n\n // Readonly format for dates. Without this setting having a value, the contributions format is used\n DATE_READONLY_FORMAT: \"\",\n\n // indicates on what day the week starts (0 = Sunday)\n CALENDAR_WEEK_STARTS_ON: 1,\n\n // indicates which date indicates the first week of the year\n CALENDAR_FIRST_WEEK_CONTAINS_DATE: 1,\n\n // parameters that are added for the ui state, but should not be send to the modular ui\n UI_PARAMETERS: [],\n\n // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1\n ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,\n\n // reload the complete page on signout, usefull when third party authentication is in place\n PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,\n\n XHR_TIMEOUT_MS: 300000,\n\n HIDE_WHEN_EMPTY_IGNORE_TASKS: false,\n};\n\nlet settings = defaultSettings;\n\n/**\n */\nexport const setSettings = (config: Object) => {\n if (isPlainObject(config)) {\n settings = Object.assign(defaultSettings, config);\n }\n};\n\n/**\n */\nexport const getSetting = (key: string, defaultValue?: any): any => {\n if (!has(settings, key) && defaultValue === undefined) {\n throw new Error(\n `Setting with name ${key} not found and no defaultValue given`\n );\n }\n\n return settings[key] ?? defaultValue;\n};\n\n/**\n */\nexport const setSetting = (key: string, value: any) => {\n settings[key] = value;\n};\n\n/**\n */\nexport const allSettings = (): { [name: string]: Setting } => settings;\n\n/**\n */\nexport const hasAllContentInData = (): boolean =>\n getSetting(ALL_CONTENT_IN_DATA_SETTING, true);\n\n/**\n * Login type, only available when pac4j is configured\n */\nexport const loginType = (): string => getSetting(LOGIN_TYPE, \"JAAS\");\n\n/**\n */\nexport const loginPath = (): string =>\n getSetting(LOGIN_PATH_SETTING, \"/j_security_check\");\n/**\n */\nexport const loginUsernameField = (): string =>\n getSetting(LOGIN_USERNAME_SETTING, \"j_username\");\n/**\n */\nexport const loginPasswordField = (): string =>\n getSetting(LOGIN_PASSWORD_SETTING, \"j_password\");\n/**\n */\nexport const logoutPath = (): string =>\n getSetting(LOGOUT_PATH_SETTING, \"/Logoff\");\n\nexport const LOGIN_PATH: string = loginPath();\nexport const LOGOUT_PATH: string = logoutPath();\n"],"mappings":"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"}
|
|
@@ -50,7 +50,12 @@ class AttributeDataHelper {
|
|
|
50
50
|
const attributeData = (0, _cloneDeep.default)(data);
|
|
51
51
|
attributeData._links = (0, _pick.default)(data._links, ["concept", "download", "lookupOptions", "lookupList"]);
|
|
52
52
|
this._attribute = attributeData;
|
|
53
|
-
|
|
53
|
+
|
|
54
|
+
if (data[key] === undefined || "name" in data && "param" in data) {
|
|
55
|
+
this._value = this.getValue(data);
|
|
56
|
+
} else {
|
|
57
|
+
this._value = data[key];
|
|
58
|
+
}
|
|
54
59
|
}
|
|
55
60
|
|
|
56
61
|
this._children = this.createChildren(data, childrenKeys);
|
|
@@ -43,7 +43,11 @@ class AttributeDataHelper {
|
|
|
43
43
|
|
|
44
44
|
this._attribute = attributeData;
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
if (data[key] === undefined || ("name" in data && "param" in data)) {
|
|
47
|
+
this._value = this.getValue(data);
|
|
48
|
+
} else {
|
|
49
|
+
this._value = data[key];
|
|
50
|
+
}
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
this._children = this.createChildren(data, childrenKeys);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeDataHelper.js","names":["AttributeDataHelper","constructor","data","key","childrenKeys","_key","Array","isArray","_attribute","attr","elementid","name","param","_value","getValue","attributeData","cloneDeep","_links","pick","undefined","_children","createChildren","childData","parentKey","childKey","elements","element","has","isPlainObject","parentData","content","createChild","keyObject","dynamicschema","dynamicschemaId","children","childrenIsArray","value","attribute","suggestions","suggestion","options","option","selected","code","static","links","attrDS","message","isResult","referenceDate","pickedContent","length","getData","child","subChild"],"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"sourcesContent":["// @flow\nimport cloneDeep from \"lodash/cloneDeep\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = cloneDeep(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n this._value = data[key] === undefined ? this.getValue(data) : data[key];\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n const parentData = data[parentKey];\n if (isPlainObject(parentData) && data.content?.[childKey]) {\n return { ...parentData, content: data.content[childKey] };\n }\n return parentData;\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n let dynamicschemaId = null;\n if (keyObject.dynamicschemaId) {\n dynamicschemaId = keyObject.dynamicschemaId;\n } else if (\n isPlainObject(data) &&\n typeof data.key === \"string\" &&\n keyObject.key\n ) {\n dynamicschemaId = `${data.key}.${keyObject.key}`;\n }\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId,\n },\n keyObject.key,\n keyObject.children\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = []\n ): Array<AttributeDataHelper> {\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n })\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return null;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n if (this._attribute.content) {\n const pickedContent = pick(this._attribute.content, [\n \"header\",\n \"label\",\n \"elements\",\n \"layouthint\",\n \"text\",\n ]);\n\n if (Object.keys(pickedContent).length > 0) {\n return pickedContent;\n }\n }\n\n return null;\n }\n\n /**\n */\n getData(): Object {\n return {\n key: this.key,\n value: this.value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData()\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AttributeDataHelper.js","names":["AttributeDataHelper","constructor","data","key","childrenKeys","_key","Array","isArray","_attribute","attr","elementid","name","param","_value","getValue","attributeData","cloneDeep","_links","pick","undefined","_children","createChildren","childData","parentKey","childKey","elements","element","has","isPlainObject","parentData","content","createChild","keyObject","dynamicschema","dynamicschemaId","children","childrenIsArray","value","attribute","suggestions","suggestion","options","option","selected","code","static","links","attrDS","message","isResult","referenceDate","pickedContent","length","getData","child","subChild"],"sources":["../../../src/models/attributes/AttributeDataHelper.js"],"sourcesContent":["// @flow\nimport cloneDeep from \"lodash/cloneDeep\";\nimport pick from \"lodash/pick\";\n\nimport { has, isPlainObject } from \"../../utils/helpers/objects\";\n\n/**\n * This util helps to normalize various attribute data formats available in the modular ui.\n * It fixes differences in choice attributes with dynamic schema's, links on download attributes, composites with various children, etc\n *\n * @private\n */\nclass AttributeDataHelper {\n _key: string;\n _attribute: Object;\n _value: any;\n _children: Array<AttributeDataHelper>;\n\n /**\n */\n constructor(\n data: Object | Array<Object>,\n key: string,\n childrenKeys: Array<Object>\n ) {\n this._key = key;\n\n if (Array.isArray(data)) {\n this._attribute =\n data.find(\n (attr) =>\n attr.elementid === key || attr.name === key || attr.param === key\n ) || {};\n this._value = this.getValue(this._attribute);\n } else {\n const attributeData = cloneDeep(data);\n attributeData._links = pick(data._links, [\n \"concept\",\n \"download\",\n \"lookupOptions\",\n \"lookupList\",\n ]);\n\n this._attribute = attributeData;\n\n if (data[key] === undefined || (\"name\" in data && \"param\" in data)) {\n this._value = this.getValue(data);\n } else {\n this._value = data[key];\n }\n }\n\n this._children = this.createChildren(data, childrenKeys);\n }\n\n /**\n */\n childData(\n data: Object | Array<Object>,\n parentKey: string,\n childKey: string\n ): Object {\n if (Array.isArray(data)) {\n if (Array.isArray(this._attribute.elements)) {\n return this._attribute.elements.find(\n (element) => element.elementid === childKey\n );\n }\n } else if (has(data, parentKey) && isPlainObject(data[parentKey])) {\n const parentData = data[parentKey];\n if (isPlainObject(parentData) && data.content?.[childKey]) {\n return { ...parentData, content: data.content[childKey] };\n }\n return parentData;\n } else if (has(data, childKey) && isPlainObject(data[childKey])) {\n return data[childKey];\n }\n\n if (isPlainObject(data)) {\n return data;\n }\n\n return {};\n }\n\n /**\n */\n createChild(\n data: Object | Array<Object>,\n childData: Object,\n keyObject: Object\n ): AttributeDataHelper {\n const dynamicschema =\n isPlainObject(data) && !Array.isArray(data)\n ? data.dynamicschema\n : undefined;\n\n let dynamicschemaId = null;\n if (keyObject.dynamicschemaId) {\n dynamicschemaId = keyObject.dynamicschemaId;\n } else if (\n isPlainObject(data) &&\n typeof data.key === \"string\" &&\n keyObject.key\n ) {\n dynamicschemaId = `${data.key}.${keyObject.key}`;\n }\n\n return new AttributeDataHelper(\n {\n ...childData,\n dynamicschema,\n dynamicschemaId,\n },\n keyObject.key,\n keyObject.children\n );\n }\n\n /**\n */\n createChildren(\n data: Object | Array<Object>,\n childrenKeys: Array<Object> = []\n ): Array<AttributeDataHelper> {\n const childrenIsArray = Array.isArray(this.value);\n\n if (childrenIsArray) {\n return this.value.map((value) =>\n childrenKeys.map((keyObject) => {\n const childData = this.childData(value, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n })\n );\n }\n\n return childrenKeys.map((keyObject) => {\n const childData = this.childData(data, this.key, keyObject.key);\n\n return this.createChild(data, childData, keyObject);\n });\n }\n\n /**\n */\n getValue(attribute: Object): any {\n if (\"values\" in attribute) {\n return attribute.values;\n }\n\n if (\"value\" in attribute) {\n return attribute.value;\n }\n\n if (\"suggestions\" in attribute) {\n return attribute.suggestions;\n }\n\n if (\"suggestion\" in attribute) {\n return attribute.suggestion;\n }\n\n if (Array.isArray(attribute.options)) {\n return attribute.options\n .filter((option) => option.selected)\n .map((option) => option.code || option.key);\n }\n\n return null;\n }\n\n /**\n */\n get key(): string {\n return this._key;\n }\n\n /**\n */\n get value(): any {\n return this._value;\n }\n\n /**\n */\n get static(): boolean {\n return this._attribute.static || false;\n }\n\n /**\n */\n get links(): any {\n return this._attribute._links || void 0;\n }\n\n /**\n */\n get dynamicschemaId(): string {\n return this._attribute.dynamicschemaId || this.key;\n }\n\n /*\n retrieve the dynamischema by the dynamischemaId\n mentioned in the contributions of the attribute\n */\n /**\n */\n get dynamicschema(): any {\n const { dynamicschema } = this._attribute;\n if (!dynamicschema) {\n return void 0;\n }\n\n if (Array.isArray(dynamicschema)) {\n return dynamicschema;\n } else if (dynamicschema[this.dynamicschemaId]) {\n const attrDS = dynamicschema[this.dynamicschemaId];\n return attrDS.map((attr) => {\n if (attr.elements) {\n return {\n ...attr,\n elements: {\n ...attr.elements,\n dynamicschema,\n },\n };\n }\n\n return attr;\n });\n }\n\n return void 0;\n }\n\n /**\n */\n get options(): any {\n return this._attribute.options || void 0;\n }\n\n /**\n */\n get message(): any {\n return this._attribute.message || void 0;\n }\n\n /**\n */\n get isResult(): boolean {\n return this._attribute.isResult || false;\n }\n\n /**\n */\n get referenceDate(): any {\n return this._attribute.referenceDate || void 0;\n }\n\n /**\n */\n get children(): Array<AttributeDataHelper> {\n return this._children || [];\n }\n\n /**\n */\n get content(): Object {\n if (this._attribute.content) {\n const pickedContent = pick(this._attribute.content, [\n \"header\",\n \"label\",\n \"elements\",\n \"layouthint\",\n \"text\",\n ]);\n\n if (Object.keys(pickedContent).length > 0) {\n return pickedContent;\n }\n }\n\n return null;\n }\n\n /**\n */\n getData(): Object {\n return {\n key: this.key,\n value: this.value,\n static: this.static,\n _links: this.links,\n dynamicschema: this.dynamicschema,\n dynamicschemaId: this.dynamicschemaId,\n options: this.options,\n message: this.message,\n isResult: this.isResult,\n referenceDate: this.referenceDate,\n children: this.children.map((child) =>\n Array.isArray(child)\n ? child.map((subChild) => subChild.getData())\n : child.getData()\n ),\n content: this.content,\n };\n }\n}\n\nexport default AttributeDataHelper;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@beinformed/ui",
|
|
3
|
-
"version": "1.20.
|
|
3
|
+
"version": "1.20.10",
|
|
4
4
|
"description": "Toolbox for be informed javascript layouts",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"bugs": "http://support.beinformed.com",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"clean:proxies": "node .build/proxies.js --clean",
|
|
27
27
|
"lint": "eslint --cache .",
|
|
28
28
|
"prettier": "prettier --write \"./{src,.flow}/**/*.js\"",
|
|
29
|
-
"flow": "flow",
|
|
29
|
+
"flow": "flow --temp-dir /tmp/flow/",
|
|
30
30
|
"flow:ci": "flow check",
|
|
31
31
|
"flow-typed-install": "flow-typed install -l .flow/flow-typed/ --ignoreDeps peer --overwrite",
|
|
32
32
|
"test": "jest",
|
|
@@ -119,12 +119,12 @@
|
|
|
119
119
|
"eslint-plugin-babel": "^5.3.1",
|
|
120
120
|
"eslint-plugin-ft-flow": "^2.0.1",
|
|
121
121
|
"eslint-plugin-import": "^2.26.0",
|
|
122
|
-
"eslint-plugin-jest": "^26.
|
|
123
|
-
"eslint-plugin-jsdoc": "^39.3.
|
|
122
|
+
"eslint-plugin-jest": "^26.8.2",
|
|
123
|
+
"eslint-plugin-jsdoc": "^39.3.6",
|
|
124
124
|
"eslint-plugin-react": "^7.30.1",
|
|
125
125
|
"eslint-plugin-react-hooks": "^4.5.0",
|
|
126
126
|
"eslint-plugin-you-dont-need-lodash-underscore": "^6.12.0",
|
|
127
|
-
"flow-bin": "^0.
|
|
127
|
+
"flow-bin": "^0.184.0",
|
|
128
128
|
"flow-copy-source": "^2.0.9",
|
|
129
129
|
"flow-typed": "^3.8.0",
|
|
130
130
|
"glob": "^8.0.3",
|
|
@@ -43,7 +43,11 @@ class AttributeDataHelper {
|
|
|
43
43
|
|
|
44
44
|
this._attribute = attributeData;
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
if (data[key] === undefined || ("name" in data && "param" in data)) {
|
|
47
|
+
this._value = this.getValue(data);
|
|
48
|
+
} else {
|
|
49
|
+
this._value = data[key];
|
|
50
|
+
}
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
this._children = this.createChildren(data, childrenKeys);
|