@beinformed/ui 1.13.0 → 1.13.4

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.
Files changed (123) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/esm/builder/mergeLayoutHintConfigurations.js +3 -3
  3. package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
  4. package/esm/constants/LayoutHintConfig.js +9 -0
  5. package/esm/constants/LayoutHintConfig.js.map +1 -1
  6. package/esm/constants/LayoutHints.js +5 -0
  7. package/esm/constants/LayoutHints.js.map +1 -1
  8. package/esm/constants/Settings.js +2 -1
  9. package/esm/constants/Settings.js.map +1 -1
  10. package/esm/hooks/useContent.js +2 -2
  11. package/esm/hooks/useContent.js.map +1 -1
  12. package/esm/hooks/useDeepCompareEffect.js +2 -1
  13. package/esm/hooks/useDeepCompareEffect.js.map +1 -1
  14. package/esm/hooks/useForm.js.map +1 -1
  15. package/esm/hooks/useModal.js +2 -2
  16. package/esm/hooks/useModal.js.map +1 -1
  17. package/esm/hooks/useModularUI.js +0 -1
  18. package/esm/hooks/useModularUI.js.map +1 -1
  19. package/esm/models/attributes/DatetimeAttributeModel.js +8 -3
  20. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  21. package/esm/models/caseview/CaseViewModel.js +2 -1
  22. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  23. package/esm/models/list/ListItemCollection.js +38 -0
  24. package/esm/models/list/ListItemCollection.js.map +1 -1
  25. package/esm/models/list/ListItemModel.js +14 -2
  26. package/esm/models/list/ListItemModel.js.map +1 -1
  27. package/esm/models/list/ListModel.js +16 -69
  28. package/esm/models/list/ListModel.js.map +1 -1
  29. package/esm/modularui/ModularUIRequest.js +69 -47
  30. package/esm/modularui/ModularUIRequest.js.map +1 -1
  31. package/esm/utils/browser/Cookies.js +18 -32
  32. package/esm/utils/browser/Cookies.js.map +1 -1
  33. package/esm/utils/fetch/xhr.js +4 -2
  34. package/esm/utils/fetch/xhr.js.map +1 -1
  35. package/lib/builder/mergeLayoutHintConfigurations.js +3 -3
  36. package/lib/builder/mergeLayoutHintConfigurations.js.flow +3 -3
  37. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  38. package/lib/constants/LayoutHintConfig.js +9 -0
  39. package/lib/constants/LayoutHintConfig.js.flow +9 -0
  40. package/lib/constants/LayoutHintConfig.js.map +1 -1
  41. package/lib/constants/LayoutHints.js +8 -2
  42. package/lib/constants/LayoutHints.js.flow +4 -0
  43. package/lib/constants/LayoutHints.js.map +1 -1
  44. package/lib/constants/Settings.js +2 -1
  45. package/lib/constants/Settings.js.flow +2 -0
  46. package/lib/constants/Settings.js.map +1 -1
  47. package/lib/hooks/useContent.js +2 -2
  48. package/lib/hooks/useContent.js.flow +2 -2
  49. package/lib/hooks/useContent.js.map +1 -1
  50. package/lib/hooks/useDeepCompareEffect.js +2 -1
  51. package/lib/hooks/useDeepCompareEffect.js.flow +1 -1
  52. package/lib/hooks/useDeepCompareEffect.js.map +1 -1
  53. package/lib/hooks/useForm.js.flow +1 -2
  54. package/lib/hooks/useForm.js.map +1 -1
  55. package/lib/hooks/useModal.js +2 -2
  56. package/lib/hooks/useModal.js.flow +1 -1
  57. package/lib/hooks/useModal.js.map +1 -1
  58. package/lib/hooks/useModularUI.js +0 -1
  59. package/lib/hooks/useModularUI.js.flow +0 -2
  60. package/lib/hooks/useModularUI.js.map +1 -1
  61. package/lib/models/attributes/DatetimeAttributeModel.js +9 -3
  62. package/lib/models/attributes/DatetimeAttributeModel.js.flow +7 -4
  63. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  64. package/lib/models/attributes/__tests__/StringAttributeModel.spec.js.flow +1 -1
  65. package/lib/models/base/__tests__/BaseModel.spec.js.flow +5 -5
  66. package/lib/models/caseview/CaseViewModel.js +3 -1
  67. package/lib/models/caseview/CaseViewModel.js.flow +3 -1
  68. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  69. package/lib/models/caseview/__tests__/CaseViewModel.spec.js.flow +38 -1
  70. package/lib/models/list/ListItemCollection.js +40 -0
  71. package/lib/models/list/ListItemCollection.js.flow +38 -1
  72. package/lib/models/list/ListItemCollection.js.map +1 -1
  73. package/lib/models/list/ListItemModel.js +14 -2
  74. package/lib/models/list/ListItemModel.js.flow +15 -0
  75. package/lib/models/list/ListItemModel.js.map +1 -1
  76. package/lib/models/list/ListModel.js +15 -70
  77. package/lib/models/list/ListModel.js.flow +1 -45
  78. package/lib/models/list/ListModel.js.map +1 -1
  79. package/lib/models/list/__tests__/ListItemCollection.spec.js.flow +22 -0
  80. package/lib/models/list/__tests__/ListModel.spec.js.flow +0 -2
  81. package/lib/models/panels/__tests__/GroupingPanelModel.spec.js.flow +38 -21
  82. package/lib/models/process/__tests__/ProcessStatusSettingsModel.spec.js.flow +11 -0
  83. package/lib/modularui/ModularUIRequest.js +67 -47
  84. package/lib/modularui/ModularUIRequest.js.flow +38 -22
  85. package/lib/modularui/ModularUIRequest.js.map +1 -1
  86. package/lib/utils/browser/Cookies.js +18 -31
  87. package/lib/utils/browser/Cookies.js.flow +22 -28
  88. package/lib/utils/browser/Cookies.js.map +1 -1
  89. package/lib/utils/browser/__tests__/Cookies.spec.js.flow +51 -0
  90. package/lib/utils/fetch/xhr.js +5 -2
  91. package/lib/utils/fetch/xhr.js.flow +6 -2
  92. package/lib/utils/fetch/xhr.js.map +1 -1
  93. package/package.json +30 -28
  94. package/src/builder/mergeLayoutHintConfigurations.js +3 -3
  95. package/src/constants/LayoutHintConfig.js +9 -0
  96. package/src/constants/LayoutHints.js +4 -0
  97. package/src/constants/Settings.js +2 -0
  98. package/src/hooks/useContent.js +2 -2
  99. package/src/hooks/useDeepCompareEffect.js +1 -1
  100. package/src/hooks/useForm.js +1 -2
  101. package/src/hooks/useModal.js +1 -1
  102. package/src/hooks/useModularUI.js +0 -2
  103. package/src/models/attributes/DatetimeAttributeModel.js +7 -4
  104. package/src/models/attributes/__tests__/StringAttributeModel.spec.js +1 -1
  105. package/src/models/base/__tests__/BaseModel.spec.js +5 -5
  106. package/src/models/caseview/CaseViewModel.js +3 -1
  107. package/src/models/caseview/__tests__/CaseViewModel.spec.js +38 -1
  108. package/src/models/caseview/__tests__/caseview.json +14 -3
  109. package/src/models/caseview/__tests__/caseviewContributions.json +48 -77
  110. package/src/models/caseview/__tests__/caseview_local_taskgroup.json +57 -0
  111. package/src/models/list/ListItemCollection.js +38 -1
  112. package/src/models/list/ListItemModel.js +15 -0
  113. package/src/models/list/ListModel.js +1 -45
  114. package/src/models/list/__tests__/ListItemCollection.spec.js +22 -0
  115. package/src/models/list/__tests__/ListModel.spec.js +0 -2
  116. package/src/models/panels/__tests__/GroupingPanelModel.spec.js +38 -21
  117. package/src/models/panels/__tests__/groupingPanel.json +20 -1
  118. package/src/models/panels/__tests__/groupingPanelContributions.json +14 -1
  119. package/src/models/process/__tests__/ProcessStatusSettingsModel.spec.js +11 -0
  120. package/src/modularui/ModularUIRequest.js +38 -22
  121. package/src/utils/browser/Cookies.js +22 -28
  122. package/src/utils/browser/__tests__/Cookies.spec.js +51 -0
  123. package/src/utils/fetch/xhr.js +6 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
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.13.4](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.13.3...v1.13.4) (2022-02-04)
6
+
7
+ ### Bug Fixes
8
+
9
+ - **date-format:** add hint that makes it possible to ignore global date format for specific attribute ([ff94f03](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/ff94f03014eb035e37c88f880dbac1de1c60da33))
10
+
11
+ ### [1.13.3](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.13.2...v1.13.3) (2022-02-04)
12
+
13
+ ### Bug Fixes
14
+
15
+ - **date-format:** add hint that makes it possible to ignore global date format for specific attribute ([dc54191](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/dc5419151a6c42a013901f0e12634c1943ff0644))
16
+
17
+ ### [1.13.2](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.13.1...v1.13.2) (2022-01-28)
18
+
19
+ ### Bug Fixes
20
+
21
+ - **xhr:** add global setting for xhr timeout ([793f945](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/793f9458c5b237d857f504f01f725b1b347949d2))
22
+
23
+ ### [1.13.1](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.13.0...v1.13.1) (2021-12-23)
24
+
25
+ ### Bug Fixes
26
+
27
+ - **caseview:** throw correct exception when no selflink available ([af2d753](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/af2d7530a6aded1b9ab7026d281425d899a0a70b))
28
+ - **cookies:** improve creation of list items in a list ([2e2e9f5](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/2e2e9f5998bf4093edb160dd3d91ce6b4d60b9cd))
29
+ - **cookies:** use js-cookies library for cookie management ([291a036](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/291a036d9ab1856ae0d5bbb7b8c791d944c9a68e))
30
+
5
31
  ## [1.13.0](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.12.2...v1.13.0) (2021-12-16)
6
32
 
7
33
  ### Features
@@ -57,9 +57,9 @@ exports.mergeLayoutHintConfigurations = /*#__PURE__*/function () {
57
57
 
58
58
  var newConfig = _Object$assign.apply(Object, _concatInstanceProperty(_context = [LayoutHintConfiguration]).call(_context, _toConsumableArray(jsons)));
59
59
 
60
- fs.writeFile(path.join(outputFolder, "LayoutHintConfig.json"), _JSON$stringify(newConfig), function (err) {
61
- if (err) {
62
- return reject(err);
60
+ fs.writeFile(path.join(outputFolder, "LayoutHintConfig.json"), _JSON$stringify(newConfig), function (writeErr) {
61
+ if (writeErr) {
62
+ return reject(writeErr);
63
63
  }
64
64
 
65
65
  return resolve();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/builder/mergeLayoutHintConfigurations.js"],"names":["glob","require","fs","path","LayoutHintConfiguration","readFiles","files","filePromises","file","resolve","reject","readFile","err","data","JSON","parse","all","exports","mergeLayoutHintConfigurations","srcFolder","outputFolder","escapedSrcFolder","replace","then","jsons","newConfig","Object","writeFile","join"],"mappings":";;;;;;;;;AACA,IAAMA,IAAI,GAAGC,OAAO,CAAC,MAAD,CAApB;;AACA,IAAMC,EAAE,GAAGD,OAAO,CAAC,IAAD,CAAlB;;AACA,IAAME,IAAI,GAAGF,OAAO,CAAC,MAAD,CAApB;;AAEA,eAAoCA,OAAO,CAAC,+BAAD,CAA3C;AAAA,IAAQG,uBAAR,YAAQA,uBAAR;;AAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAAW;AAC3B,MAAMC,YAAY,GAAG,qBAAAD,KAAK,MAAL,CAAAA,KAAK,EACxB,UAACE,IAAD;AAAA,WACE,aAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAC/BR,MAAAA,EAAE,CAACS,QAAH,CAAYH,IAAZ,EAAkB,OAAlB,EAA2B,UAACI,GAAD,EAAMC,IAAN,EAAe;AACxC,YAAID,GAAJ,EAAS;AACP,iBAAOF,MAAM,CAACE,GAAD,CAAb;AACD,SAFD,MAEO;AACL,iBAAOH,OAAO,CAACK,IAAI,CAACC,KAAL,CAAWF,IAAX,CAAD,CAAd;AACD;AACF,OAND;AAOD,KARD,CADF;AAAA,GADwB,CAA1B;;AAaA,SAAO,SAAQG,GAAR,CAAYT,YAAZ,CAAP;AACD,CAfD;AAiBA;AACA;AACA;AACA;AACA;;;AACAU,OAAO,CAACC,6BAAR;AAAA,sEAAwC,iBACtCC,SADsC,EAEtCC,YAFsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAIhCC,YAAAA,gBAJgC,GAIbF,SAAS,CAACG,OAAV,CAAkB,KAAlB,EAAyB,GAAzB,CAJa;AAAA,8CAK/B,aAAY,UAACb,OAAD,EAAUC,MAAV,EAAqB;AACtCV,cAAAA,IAAI,CAACqB,gBAAgB,GAAG,2BAApB,EAAiD,EAAjD,EAAqD,UAACT,GAAD,EAAMN,KAAN,EAAgB;AACvE,oBAAIM,GAAJ,EAAS;AACP,yBAAOF,MAAM,CAACE,GAAD,CAAb;AACD;;AAEDP,gBAAAA,SAAS,CAACC,KAAD,CAAT,CAAiBiB,IAAjB,CAAsB,UAACC,KAAD,EAAW;AAAA;;AAC/B,sBAAMC,SAAS,GAAG,qBAAAC,MAAM,sCAAQtB,uBAAR,qCAAoCoB,KAApC,GAAxB;;AACAtB,kBAAAA,EAAE,CAACyB,SAAH,CACExB,IAAI,CAACyB,IAAL,CAAUR,YAAV,EAAwB,uBAAxB,CADF,EAEE,gBAAeK,SAAf,CAFF,EAIE,UAACb,GAAD,EAAS;AACP,wBAAIA,GAAJ,EAAS;AACP,6BAAOF,MAAM,CAACE,GAAD,CAAb;AACD;;AAED,2BAAOH,OAAO,EAAd;AACD,mBAVH;AAYD,iBAdD;AAeD,eApBG,CAAJ;AAqBD,aAtBM,CAL+B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAxC;;AAAA;AAAA;AAAA;AAAA","sourcesContent":["// @flow\nconst glob = require(\"glob\");\nconst fs = require(\"fs\");\nconst path = require(\"path\");\n\nconst { LayoutHintConfiguration } = require(\"../constants/LayoutHintConfig\");\n\nconst readFiles = (files) => {\n const filePromises = files.map(\n (file) =>\n new Promise((resolve, reject) => {\n fs.readFile(file, \"utf-8\", (err, data) => {\n if (err) {\n return reject(err);\n } else {\n return resolve(JSON.parse(data));\n }\n });\n })\n );\n\n return Promise.all(filePromises);\n};\n\n/**\n * Merge all LayoutHintConfig.json files from this library and in the srcFolder\n * together into one config file, and copies it to the outputFolder.<br/>\n * This file is consumed by Be Informed studio to give layout hint information\n */\nexports.mergeLayoutHintConfigurations = async (\n srcFolder: string,\n outputFolder: string\n): Promise<void> => {\n const escapedSrcFolder = srcFolder.replace(/\\\\/g, \"/\");\n return new Promise((resolve, reject) => {\n glob(escapedSrcFolder + \"/**/LayoutHintConfig.json\", {}, (err, files) => {\n if (err) {\n return reject(err);\n }\n\n readFiles(files).then((jsons) => {\n const newConfig = Object.assign(LayoutHintConfiguration, ...jsons);\n fs.writeFile(\n path.join(outputFolder, \"LayoutHintConfig.json\"),\n JSON.stringify(newConfig),\n\n (err) => {\n if (err) {\n return reject(err);\n }\n\n return resolve();\n }\n );\n });\n });\n });\n};\n"],"file":"mergeLayoutHintConfigurations.js"}
1
+ {"version":3,"sources":["../../src/builder/mergeLayoutHintConfigurations.js"],"names":["glob","require","fs","path","LayoutHintConfiguration","readFiles","files","filePromises","file","resolve","reject","readFile","err","data","JSON","parse","all","exports","mergeLayoutHintConfigurations","srcFolder","outputFolder","escapedSrcFolder","replace","then","jsons","newConfig","Object","writeFile","join","writeErr"],"mappings":";;;;;;;;;AACA,IAAMA,IAAI,GAAGC,OAAO,CAAC,MAAD,CAApB;;AACA,IAAMC,EAAE,GAAGD,OAAO,CAAC,IAAD,CAAlB;;AACA,IAAME,IAAI,GAAGF,OAAO,CAAC,MAAD,CAApB;;AAEA,eAAoCA,OAAO,CAAC,+BAAD,CAA3C;AAAA,IAAQG,uBAAR,YAAQA,uBAAR;;AAEA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAAW;AAC3B,MAAMC,YAAY,GAAG,qBAAAD,KAAK,MAAL,CAAAA,KAAK,EACxB,UAACE,IAAD;AAAA,WACE,aAAY,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAC/BR,MAAAA,EAAE,CAACS,QAAH,CAAYH,IAAZ,EAAkB,OAAlB,EAA2B,UAACI,GAAD,EAAMC,IAAN,EAAe;AACxC,YAAID,GAAJ,EAAS;AACP,iBAAOF,MAAM,CAACE,GAAD,CAAb;AACD,SAFD,MAEO;AACL,iBAAOH,OAAO,CAACK,IAAI,CAACC,KAAL,CAAWF,IAAX,CAAD,CAAd;AACD;AACF,OAND;AAOD,KARD,CADF;AAAA,GADwB,CAA1B;;AAaA,SAAO,SAAQG,GAAR,CAAYT,YAAZ,CAAP;AACD,CAfD;AAiBA;AACA;AACA;AACA;AACA;;;AACAU,OAAO,CAACC,6BAAR;AAAA,sEAAwC,iBACtCC,SADsC,EAEtCC,YAFsC;AAAA;AAAA;AAAA;AAAA;AAAA;AAIhCC,YAAAA,gBAJgC,GAIbF,SAAS,CAACG,OAAV,CAAkB,KAAlB,EAAyB,GAAzB,CAJa;AAAA,8CAK/B,aAAY,UAACb,OAAD,EAAUC,MAAV,EAAqB;AACtCV,cAAAA,IAAI,CAACqB,gBAAgB,GAAG,2BAApB,EAAiD,EAAjD,EAAqD,UAACT,GAAD,EAAMN,KAAN,EAAgB;AACvE,oBAAIM,GAAJ,EAAS;AACP,yBAAOF,MAAM,CAACE,GAAD,CAAb;AACD;;AAEDP,gBAAAA,SAAS,CAACC,KAAD,CAAT,CAAiBiB,IAAjB,CAAsB,UAACC,KAAD,EAAW;AAAA;;AAC/B,sBAAMC,SAAS,GAAG,qBAAAC,MAAM,sCAAQtB,uBAAR,qCAAoCoB,KAApC,GAAxB;;AACAtB,kBAAAA,EAAE,CAACyB,SAAH,CACExB,IAAI,CAACyB,IAAL,CAAUR,YAAV,EAAwB,uBAAxB,CADF,EAEE,gBAAeK,SAAf,CAFF,EAIE,UAACI,QAAD,EAAc;AACZ,wBAAIA,QAAJ,EAAc;AACZ,6BAAOnB,MAAM,CAACmB,QAAD,CAAb;AACD;;AAED,2BAAOpB,OAAO,EAAd;AACD,mBAVH;AAYD,iBAdD;AAeD,eApBG,CAAJ;AAqBD,aAtBM,CAL+B;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAxC;;AAAA;AAAA;AAAA;AAAA","sourcesContent":["// @flow\nconst glob = require(\"glob\");\nconst fs = require(\"fs\");\nconst path = require(\"path\");\n\nconst { LayoutHintConfiguration } = require(\"../constants/LayoutHintConfig\");\n\nconst readFiles = (files) => {\n const filePromises = files.map(\n (file) =>\n new Promise((resolve, reject) => {\n fs.readFile(file, \"utf-8\", (err, data) => {\n if (err) {\n return reject(err);\n } else {\n return resolve(JSON.parse(data));\n }\n });\n })\n );\n\n return Promise.all(filePromises);\n};\n\n/**\n * Merge all LayoutHintConfig.json files from this library and in the srcFolder\n * together into one config file, and copies it to the outputFolder.<br/>\n * This file is consumed by Be Informed studio to give layout hint information\n */\nexports.mergeLayoutHintConfigurations = async (\n srcFolder: string,\n outputFolder: string\n): Promise<void> => {\n const escapedSrcFolder = srcFolder.replace(/\\\\/g, \"/\");\n return new Promise((resolve, reject) => {\n glob(escapedSrcFolder + \"/**/LayoutHintConfig.json\", {}, (err, files) => {\n if (err) {\n return reject(err);\n }\n\n readFiles(files).then((jsons) => {\n const newConfig = Object.assign(LayoutHintConfiguration, ...jsons);\n fs.writeFile(\n path.join(outputFolder, \"LayoutHintConfig.json\"),\n JSON.stringify(newConfig),\n\n (writeErr) => {\n if (writeErr) {\n return reject(writeErr);\n }\n\n return resolve();\n }\n );\n });\n });\n });\n};\n"],"file":"mergeLayoutHintConfigurations.js"}
@@ -89,6 +89,15 @@ export var LayoutHintConfiguration = {
89
89
  link: "",
90
90
  component: ["attribute/number"]
91
91
  },
92
+ IGNORE_FORMAT_SETTING: {
93
+ hint: "ignore-format-setting",
94
+ description: {
95
+ NL: "Maakt het mogelijk om de global date format setting te negeren voor een specifiek attribuut",
96
+ EN: "Makes it possible to ignore the global date format for a specific attribute"
97
+ },
98
+ link: "",
99
+ component: ["attribute/date", "attribute/datetime"]
100
+ },
92
101
  CREATE_ACTION: {
93
102
  hint: "create",
94
103
  description: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/LayoutHintConfig.js"],"names":["LayoutHintConfiguration","MANDATORY","hint","description","NL","EN","link","component","DEPENDENT_ATTRIBUTE_CONTROL","DEPENDENT_ATTRIBUTE_ACTION","SHOW_ONE_RESULT_AS_DETAIL","HIDE_WHEN_EMPTY","INITIAL_FILTER","CONFIRM_PASSWORD","TITLE","INITIAL_TOTAL_FILESIZE","MAX_TOTAL_FILESIZE","CREATE_ACTION","UPDATE_ACTION","DELETE_ACTION","SORT_OPTIONS","CASEVIEW_LINK","DISABLED"],"mappings":"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","sourcesContent":["// @flow\nexport const LayoutHintConfiguration = {\n MANDATORY: {\n hint: \"mandatory\",\n description: {\n NL: \"Geeft aan of een attribuut verplicht is. Dient samen met de dependency hint gebruikt te worden.\",\n EN: \"Indicates a mandatory attribute.\\nShould be used together with the dependency hint.\",\n },\n link: \"\",\n component: [\"attribute\"],\n },\n DEPENDENT_ATTRIBUTE_CONTROL: {\n hint: \"dependent-control:${unique-control-id}\",\n description: {\n NL: \"Geeft aan dat dit het attribuut is waar attributen van afhankelijk zijn. Het unique-control-id is een uniek id dat kan worden gebruikt in the hint voor de show|hide actie op het afhankelijke attribuut.\",\n EN: \"Marks the choice attribute where other attributes depend on. The unique control id is a unique id that can be used in the hint for the show|hide action on the dependent attribute.\",\n },\n link: \"\",\n component: [\"attribute/boolean\", \"attribute/choice\"],\n },\n DEPENDENT_ATTRIBUTE_ACTION: {\n hint: \"dependent-attribute:(show|hide) when dependent-control:${unique-control-id} (equals|includes|notEquals|notIncludes) [${codemaps}]\",\n description: {\n NL: \"Toon of verberg een attribute dat afhankelijk is van de geselecteerde opties van een keuze attribute\",\n EN: \"To show or hide an attribute dependent on options of the choice control codemap that are selected or not selected.\",\n },\n link: \"\",\n component: [\"attribute\"],\n },\n SHOW_ONE_RESULT_AS_DETAIL: {\n hint: \"show-one-result-as-detail\",\n description: {\n NL: \"Een lijst met maar één item mag direct als detail getoond worden.\",\n EN: \"A list with only one detail must be shown as a detail.\",\n },\n link: \"\",\n component: [\"list\"],\n },\n HIDE_WHEN_EMPTY: {\n hint: \"hide-when-empty\",\n description: {\n NL: \"Een lijst zonder lijst-items en lijst-taken dient niet getoond worden.\",\n EN: \"A list without list-items and list-tasks should not be shown.\",\n },\n link: \"\",\n component: [\"list\"],\n },\n INITIAL_FILTER: {\n hint: \"initial-filter:${filter-name}=${initial-value}\",\n description: {\n NL: \"Laad de lijst met een standaardwaarde voor een filter, er is geen controle op het bestaan van het filter. Als het filter niet is geconfigureerd, treedt er een fout op. Houd er rekening mee dat filters hoofdlettergevoelig zijn.\",\n EN: \"Load the list with a default value for a filter, there is no check for the existence of the filter. If the filter is not configured, an error occurs. Keep in mind that filters are case sensitive.\",\n },\n link: \"\",\n component: [\"list\"],\n },\n CONFIRM_PASSWORD: {\n hint: \"confirm-password\",\n description: {\n NL: \"Wachtwoord attribuut moet bevestigd worden dmv een tweede wachtwoord attribuut.\",\n EN: \"Password attribute must be confirmed using a second password attribute.\",\n },\n link: \"\",\n component: [\"attribute/password\"],\n },\n TITLE: {\n hint: \"title\",\n description: {\n NL: \"Markeert een attribuut als een titel attribuut\",\n EN: \"Marks an attribute as a title attribute\",\n },\n link: \"\",\n component: [\n \"caseview_table\",\n \"codemap\",\n \"list/appointment_table\",\n \"list/assignment_table\",\n \"list/caseproperties_table\",\n \"list/document_table\",\n \"list/timelimit_table\",\n \"list/eventhistory_table\",\n \"list/note_table\",\n \"list/record_table\",\n \"list/case_table\",\n \"list/casesearch_table\",\n \"list/datastore_table\",\n \"list/datastoreview_table\",\n \"list/instrumentresult_table\",\n \"list/event_table\",\n \"list/user_table\",\n \"list/organization_table\",\n ],\n },\n INITIAL_TOTAL_FILESIZE: {\n hint: \"initial-total-file-size\",\n description: {\n NL: \"Wordt gebruikt in samenwerking met een upload attribuut, deze hint moet worden gezet op een readonly attribuut dat de reeds gebruikte file grootte bevat.\",\n EN: \"Used in conjunction with an upload attribute, this hint is set on a read only attribute containing the file size currently used.\",\n },\n link: \"\",\n component: [\"attribute/number\"],\n },\n MAX_TOTAL_FILESIZE: {\n hint: \"max-total-file-size\",\n description: {\n NL: \"Wordt gebruikt in samenwerking met een upload attribuut, deze hint moet worden gezet op een readonly attribuut dat de maximaal toegestane file grootte bevat.\",\n EN: \"Used in conjunction with an upload attribute, this hint is set on a read only attribute containing the maximum allowed total file size.\",\n },\n link: \"\",\n component: [\"attribute/number\"],\n },\n CREATE_ACTION: {\n hint: \"create\",\n description: {\n NL: \"Markeer taak als creëer taak.\",\n EN: \"Mark task as create task\",\n },\n component: [\"form\"],\n },\n UPDATE_ACTION: {\n hint: \"update\",\n description: {\n NL: \"Markeer taak als bewerk taak.\",\n EN: \"Mark task as update task\",\n },\n component: [\"form\"],\n },\n DELETE_ACTION: {\n hint: \"delete\",\n description: {\n NL: \"Markeer taak als verwijder taak.\",\n EN: \"Mark task as delete task\",\n },\n component: [\"form\"],\n },\n SORT_OPTIONS: {\n hint: \"sort-options\",\n description: {\n NL: \"Sorteer opties alfabetisch\",\n EN: \"Sort options alphabetically\",\n },\n component: [\"attribute/choice\"],\n },\n CASEVIEW_LINK: {\n hint: \"case-view-link\",\n description: {\n NL: \"Markeer een case id reference attribute als de referentie naar de case view. Vervangt de self link van een lijst item\",\n EN: \"Mark a case id reference attribute as the reference to the case view. Replaces the self link of a list item\",\n },\n component: [\"attribute/reference\", \"list/datastore_table\"],\n },\n DISABLED: {\n hint: \"disabled\",\n description: {\n NL: \"Geeft aan of een attribuut uitgeschakeld is.\",\n EN: \"Indicates a disabled attribute.\",\n },\n link: \"\",\n component: [\"attribute\"],\n },\n};\n"],"file":"LayoutHintConfig.js"}
1
+ {"version":3,"sources":["../../src/constants/LayoutHintConfig.js"],"names":["LayoutHintConfiguration","MANDATORY","hint","description","NL","EN","link","component","DEPENDENT_ATTRIBUTE_CONTROL","DEPENDENT_ATTRIBUTE_ACTION","SHOW_ONE_RESULT_AS_DETAIL","HIDE_WHEN_EMPTY","INITIAL_FILTER","CONFIRM_PASSWORD","TITLE","INITIAL_TOTAL_FILESIZE","MAX_TOTAL_FILESIZE","IGNORE_FORMAT_SETTING","CREATE_ACTION","UPDATE_ACTION","DELETE_ACTION","SORT_OPTIONS","CASEVIEW_LINK","DISABLED"],"mappings":"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","sourcesContent":["// @flow\nexport const LayoutHintConfiguration = {\n MANDATORY: {\n hint: \"mandatory\",\n description: {\n NL: \"Geeft aan of een attribuut verplicht is. Dient samen met de dependency hint gebruikt te worden.\",\n EN: \"Indicates a mandatory attribute.\\nShould be used together with the dependency hint.\",\n },\n link: \"\",\n component: [\"attribute\"],\n },\n DEPENDENT_ATTRIBUTE_CONTROL: {\n hint: \"dependent-control:${unique-control-id}\",\n description: {\n NL: \"Geeft aan dat dit het attribuut is waar attributen van afhankelijk zijn. Het unique-control-id is een uniek id dat kan worden gebruikt in the hint voor de show|hide actie op het afhankelijke attribuut.\",\n EN: \"Marks the choice attribute where other attributes depend on. The unique control id is a unique id that can be used in the hint for the show|hide action on the dependent attribute.\",\n },\n link: \"\",\n component: [\"attribute/boolean\", \"attribute/choice\"],\n },\n DEPENDENT_ATTRIBUTE_ACTION: {\n hint: \"dependent-attribute:(show|hide) when dependent-control:${unique-control-id} (equals|includes|notEquals|notIncludes) [${codemaps}]\",\n description: {\n NL: \"Toon of verberg een attribute dat afhankelijk is van de geselecteerde opties van een keuze attribute\",\n EN: \"To show or hide an attribute dependent on options of the choice control codemap that are selected or not selected.\",\n },\n link: \"\",\n component: [\"attribute\"],\n },\n SHOW_ONE_RESULT_AS_DETAIL: {\n hint: \"show-one-result-as-detail\",\n description: {\n NL: \"Een lijst met maar één item mag direct als detail getoond worden.\",\n EN: \"A list with only one detail must be shown as a detail.\",\n },\n link: \"\",\n component: [\"list\"],\n },\n HIDE_WHEN_EMPTY: {\n hint: \"hide-when-empty\",\n description: {\n NL: \"Een lijst zonder lijst-items en lijst-taken dient niet getoond worden.\",\n EN: \"A list without list-items and list-tasks should not be shown.\",\n },\n link: \"\",\n component: [\"list\"],\n },\n INITIAL_FILTER: {\n hint: \"initial-filter:${filter-name}=${initial-value}\",\n description: {\n NL: \"Laad de lijst met een standaardwaarde voor een filter, er is geen controle op het bestaan van het filter. Als het filter niet is geconfigureerd, treedt er een fout op. Houd er rekening mee dat filters hoofdlettergevoelig zijn.\",\n EN: \"Load the list with a default value for a filter, there is no check for the existence of the filter. If the filter is not configured, an error occurs. Keep in mind that filters are case sensitive.\",\n },\n link: \"\",\n component: [\"list\"],\n },\n CONFIRM_PASSWORD: {\n hint: \"confirm-password\",\n description: {\n NL: \"Wachtwoord attribuut moet bevestigd worden dmv een tweede wachtwoord attribuut.\",\n EN: \"Password attribute must be confirmed using a second password attribute.\",\n },\n link: \"\",\n component: [\"attribute/password\"],\n },\n TITLE: {\n hint: \"title\",\n description: {\n NL: \"Markeert een attribuut als een titel attribuut\",\n EN: \"Marks an attribute as a title attribute\",\n },\n link: \"\",\n component: [\n \"caseview_table\",\n \"codemap\",\n \"list/appointment_table\",\n \"list/assignment_table\",\n \"list/caseproperties_table\",\n \"list/document_table\",\n \"list/timelimit_table\",\n \"list/eventhistory_table\",\n \"list/note_table\",\n \"list/record_table\",\n \"list/case_table\",\n \"list/casesearch_table\",\n \"list/datastore_table\",\n \"list/datastoreview_table\",\n \"list/instrumentresult_table\",\n \"list/event_table\",\n \"list/user_table\",\n \"list/organization_table\",\n ],\n },\n INITIAL_TOTAL_FILESIZE: {\n hint: \"initial-total-file-size\",\n description: {\n NL: \"Wordt gebruikt in samenwerking met een upload attribuut, deze hint moet worden gezet op een readonly attribuut dat de reeds gebruikte file grootte bevat.\",\n EN: \"Used in conjunction with an upload attribute, this hint is set on a read only attribute containing the file size currently used.\",\n },\n link: \"\",\n component: [\"attribute/number\"],\n },\n MAX_TOTAL_FILESIZE: {\n hint: \"max-total-file-size\",\n description: {\n NL: \"Wordt gebruikt in samenwerking met een upload attribuut, deze hint moet worden gezet op een readonly attribuut dat de maximaal toegestane file grootte bevat.\",\n EN: \"Used in conjunction with an upload attribute, this hint is set on a read only attribute containing the maximum allowed total file size.\",\n },\n link: \"\",\n component: [\"attribute/number\"],\n },\n IGNORE_FORMAT_SETTING: {\n hint: \"ignore-format-setting\",\n description: {\n NL: \"Maakt het mogelijk om de global date format setting te negeren voor een specifiek attribuut\",\n EN: \"Makes it possible to ignore the global date format for a specific attribute\",\n },\n link: \"\",\n component: [\"attribute/date\", \"attribute/datetime\"],\n },\n CREATE_ACTION: {\n hint: \"create\",\n description: {\n NL: \"Markeer taak als creëer taak.\",\n EN: \"Mark task as create task\",\n },\n component: [\"form\"],\n },\n UPDATE_ACTION: {\n hint: \"update\",\n description: {\n NL: \"Markeer taak als bewerk taak.\",\n EN: \"Mark task as update task\",\n },\n component: [\"form\"],\n },\n DELETE_ACTION: {\n hint: \"delete\",\n description: {\n NL: \"Markeer taak als verwijder taak.\",\n EN: \"Mark task as delete task\",\n },\n component: [\"form\"],\n },\n SORT_OPTIONS: {\n hint: \"sort-options\",\n description: {\n NL: \"Sorteer opties alfabetisch\",\n EN: \"Sort options alphabetically\",\n },\n component: [\"attribute/choice\"],\n },\n CASEVIEW_LINK: {\n hint: \"case-view-link\",\n description: {\n NL: \"Markeer een case id reference attribute als de referentie naar de case view. Vervangt de self link van een lijst item\",\n EN: \"Mark a case id reference attribute as the reference to the case view. Replaces the self link of a list item\",\n },\n component: [\"attribute/reference\", \"list/datastore_table\"],\n },\n DISABLED: {\n hint: \"disabled\",\n description: {\n NL: \"Geeft aan of een attribuut uitgeschakeld is.\",\n EN: \"Indicates a disabled attribute.\",\n },\n link: \"\",\n component: [\"attribute\"],\n },\n};\n"],"file":"LayoutHintConfig.js"}
@@ -58,6 +58,11 @@ export var SORT_OPTIONS = getHint("SORT_OPTIONS");
58
58
  */
59
59
 
60
60
  export var TITLE = getHint("TITLE");
61
+ /**
62
+ * Layout-hint: Ignore the global input format for specific attribute
63
+ */
64
+
65
+ export var IGNORE_FORMAT_SETTING = getHint("IGNORE_FORMAT_SETTING");
61
66
  /*
62
67
  * --------------------------------
63
68
  * FORM
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/LayoutHints.js"],"names":["LayoutHintConfiguration","getHint","hint","MANDATORY","DISABLED","DEPENDENT_ATTRIBUTE_CONTROL","DEPENDENT_ATTRIBUTE","CONFIRM_PASSWORD","SORT_OPTIONS","TITLE","DELETE_ACTION","UPDATE_ACTION","CREATE_ACTION","INITIAL_TOTAL_FILESIZE","MAX_TOTAL_FILESIZE","SHOW_ONE_RESULT_AS_DETAIL","HIDE_WHEN_EMPTY","INITIAL_FILTER","CASEVIEW_LINK","RENDER_SECTION_LABEL","getLayoutHintConfiguration"],"mappings":"AACA,SAASA,uBAAT,QAAwC,oBAAxC;AAEA;AACA;AACA;;AACA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD,EAA0B;AACxC,MAAIF,uBAAuB,CAACE,IAAD,CAA3B,EAAmC;AACjC,WAAOF,uBAAuB,CAACE,IAAD,CAAvB,CAA8BA,IAArC;AACD;;AAED,SAAO,EAAP;AACD,CAND;AAQA;AACA;AACA;;;AACA,OAAO,IAAMC,SAAiB,GAAGF,OAAO,CAAC,WAAD,CAAjC;AAEP;AACA;AACA;AACA;;AACA,OAAO,IAAMG,QAAgB,GAAGH,OAAO,CAAC,UAAD,CAAhC;AAEP;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,OAAO,IAAMI,2BAA2B,GAAG,mBAApC;AACP;AACA;;AACA,OAAO,IAAMC,mBAAmB,GAAG,sBAA5B;AAEP;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,OAAO,IAAMC,gBAAwB,GAAGN,OAAO,CAAC,kBAAD,CAAxC;AACP;AACA;AACA;;AACA,OAAO,IAAMO,YAAoB,GAAGP,OAAO,CAAC,cAAD,CAApC;AACP;AACA;AACA;;AACA,OAAO,IAAMQ,KAAa,GAAGR,OAAO,CAAC,OAAD,CAA7B;AAEP;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,OAAO,IAAMS,aAAqB,GAAGT,OAAO,CAAC,eAAD,CAArC;AACP;AACA;AACA;;AACA,OAAO,IAAMU,aAAqB,GAAGV,OAAO,CAAC,eAAD,CAArC;AACP;AACA;AACA;;AACA,OAAO,IAAMW,aAAqB,GAAGX,OAAO,CAAC,eAAD,CAArC;AAEP;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,OAAO,IAAMY,sBAA8B,GAAGZ,OAAO,CAAC,wBAAD,CAA9C;AACP;AACA;AACA;;AACA,OAAO,IAAMa,kBAA0B,GAAGb,OAAO,CAAC,oBAAD,CAA1C;AAEP;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,OAAO,IAAMc,yBAAiC,GAAGd,OAAO,CACtD,2BADsD,CAAjD;AAGP;AACA;AACA;;AACA,OAAO,IAAMe,eAAuB,GAAGf,OAAO,CAAC,iBAAD,CAAvC;AACP;AACA;AACA;;AACA,OAAO,IAAMgB,cAAsB,GAAG,iBAA/B;AACP;AACA;AACA;;AACA,OAAO,IAAMC,aAAqB,GAAGjB,OAAO,CAAC,eAAD,CAArC;AAEP;AACA;AACA;;AACA,OAAO,IAAMkB,oBAAoB,GAAG,sBAA7B;AAEP;AACA;;AACA,OAAO,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B;AAAA,SAAcpB,uBAAd;AAAA,CAAnC;AAEP,eAAeC,OAAf","sourcesContent":["// @flow\nimport { LayoutHintConfiguration } from \"./LayoutHintConfig\";\n\n/**\n * Retrieve layout hint by id from the layout hint configuration\n */\nconst getHint = (hint: string): string => {\n if (LayoutHintConfiguration[hint]) {\n return LayoutHintConfiguration[hint].hint;\n }\n\n return \"\";\n};\n\n/**\n * Layout-hint: Indicates a mandatory attribute. Should be used together with the dependency hint.\n */\nexport const MANDATORY: string = getHint(\"MANDATORY\");\n\n/**\n * Layout-hint: Indicates a disabled attribute.\n * @constant\n */\nexport const DISABLED: string = getHint(\"DISABLED\");\n\n/*\n * --------------------------------\n * SELECT DEPENDENT ATTRIBUTES\n * --------------------------------\n */\n/**\n * Layout-hint: Marks the choice attribute where other attributes depend on. The unique control id is a unique id that can be used in the hint for the show|hide action on the dependent attribute.\n */\nexport const DEPENDENT_ATTRIBUTE_CONTROL = \"dependent-control\";\n/**\n */\nexport const DEPENDENT_ATTRIBUTE = \"dependent-attribute:\";\n\n/*\n * --------------------------------\n * ATTRIBUTES\n * --------------------------------\n */\n/**\n * Layout-hint: Password attribute must be confirmed using a second password attribute.\n */\nexport const CONFIRM_PASSWORD: string = getHint(\"CONFIRM_PASSWORD\");\n/**\n * Layout-hint: Sort options alphabetically\n */\nexport const SORT_OPTIONS: string = getHint(\"SORT_OPTIONS\");\n/**\n * Layout-hint: Marks an attribute as a title attribute\n */\nexport const TITLE: string = getHint(\"TITLE\");\n\n/*\n * --------------------------------\n * FORM\n * --------------------------------\n */\n/**\n * Layout-hint: Mark task as delete task\n */\nexport const DELETE_ACTION: string = getHint(\"DELETE_ACTION\");\n/**\n * Layout-hint: Mark task as update task\n */\nexport const UPDATE_ACTION: string = getHint(\"UPDATE_ACTION\");\n/**\n * Layout-hint: Mark task as create task\n */\nexport const CREATE_ACTION: string = getHint(\"CREATE_ACTION\");\n\n/*\n * --------------------------------\n * UPLOAD TOTAL FILE SIZE\n * --------------------------------\n */\n/**\n * Layout-hint: Used in conjunction with an upload attribute, this hint is set on a read only attribute containing the file size currently used.\n */\nexport const INITIAL_TOTAL_FILESIZE: string = getHint(\"INITIAL_TOTAL_FILESIZE\");\n/**\n * Layout-hint: Used in conjunction with an upload attribute, this hint is set on a read only attribute containing the maximum allowed total file size.\n */\nexport const MAX_TOTAL_FILESIZE: string = getHint(\"MAX_TOTAL_FILESIZE\");\n\n/*\n * --------------------------------\n * LISTS\n * --------------------------------\n */\n/**\n * Layout-hint: A list with only one detail must be shown as a detail\n */\nexport const SHOW_ONE_RESULT_AS_DETAIL: string = getHint(\n \"SHOW_ONE_RESULT_AS_DETAIL\"\n);\n/**\n * Layout-hint: A list without list-items and list-tasks should not be shown.\n */\nexport const HIDE_WHEN_EMPTY: string = getHint(\"HIDE_WHEN_EMPTY\");\n/**\n * Layout-hint: Sets a default value on a filter\n */\nexport const INITIAL_FILTER: string = \"initial-filter:\";\n/**\n * Layout-hint: Mark a case id reference attribute as the reference to the case view. Replaces the self link of a list item\n */\nexport const CASEVIEW_LINK: string = getHint(\"CASEVIEW_LINK\");\n\n/**\n * Layout-hint: Set on configuration of instruments to show content in a popover on a label\n */\nexport const RENDER_SECTION_LABEL = \"render-section-label\";\n\n/**\n */\nexport const getLayoutHintConfiguration = (): Object => LayoutHintConfiguration;\n\nexport default getHint;\n"],"file":"LayoutHints.js"}
1
+ {"version":3,"sources":["../../src/constants/LayoutHints.js"],"names":["LayoutHintConfiguration","getHint","hint","MANDATORY","DISABLED","DEPENDENT_ATTRIBUTE_CONTROL","DEPENDENT_ATTRIBUTE","CONFIRM_PASSWORD","SORT_OPTIONS","TITLE","IGNORE_FORMAT_SETTING","DELETE_ACTION","UPDATE_ACTION","CREATE_ACTION","INITIAL_TOTAL_FILESIZE","MAX_TOTAL_FILESIZE","SHOW_ONE_RESULT_AS_DETAIL","HIDE_WHEN_EMPTY","INITIAL_FILTER","CASEVIEW_LINK","RENDER_SECTION_LABEL","getLayoutHintConfiguration"],"mappings":"AACA,SAASA,uBAAT,QAAwC,oBAAxC;AAEA;AACA;AACA;;AACA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD,EAA0B;AACxC,MAAIF,uBAAuB,CAACE,IAAD,CAA3B,EAAmC;AACjC,WAAOF,uBAAuB,CAACE,IAAD,CAAvB,CAA8BA,IAArC;AACD;;AAED,SAAO,EAAP;AACD,CAND;AAQA;AACA;AACA;;;AACA,OAAO,IAAMC,SAAiB,GAAGF,OAAO,CAAC,WAAD,CAAjC;AAEP;AACA;AACA;AACA;;AACA,OAAO,IAAMG,QAAgB,GAAGH,OAAO,CAAC,UAAD,CAAhC;AAEP;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,OAAO,IAAMI,2BAA2B,GAAG,mBAApC;AACP;AACA;;AACA,OAAO,IAAMC,mBAAmB,GAAG,sBAA5B;AAEP;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,OAAO,IAAMC,gBAAwB,GAAGN,OAAO,CAAC,kBAAD,CAAxC;AACP;AACA;AACA;;AACA,OAAO,IAAMO,YAAoB,GAAGP,OAAO,CAAC,cAAD,CAApC;AACP;AACA;AACA;;AACA,OAAO,IAAMQ,KAAa,GAAGR,OAAO,CAAC,OAAD,CAA7B;AACP;AACA;AACA;;AACA,OAAO,IAAMS,qBAA6B,GAAGT,OAAO,CAAC,uBAAD,CAA7C;AAEP;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,OAAO,IAAMU,aAAqB,GAAGV,OAAO,CAAC,eAAD,CAArC;AACP;AACA;AACA;;AACA,OAAO,IAAMW,aAAqB,GAAGX,OAAO,CAAC,eAAD,CAArC;AACP;AACA;AACA;;AACA,OAAO,IAAMY,aAAqB,GAAGZ,OAAO,CAAC,eAAD,CAArC;AAEP;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,OAAO,IAAMa,sBAA8B,GAAGb,OAAO,CAAC,wBAAD,CAA9C;AACP;AACA;AACA;;AACA,OAAO,IAAMc,kBAA0B,GAAGd,OAAO,CAAC,oBAAD,CAA1C;AAEP;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA,OAAO,IAAMe,yBAAiC,GAAGf,OAAO,CACtD,2BADsD,CAAjD;AAGP;AACA;AACA;;AACA,OAAO,IAAMgB,eAAuB,GAAGhB,OAAO,CAAC,iBAAD,CAAvC;AACP;AACA;AACA;;AACA,OAAO,IAAMiB,cAAsB,GAAG,iBAA/B;AACP;AACA;AACA;;AACA,OAAO,IAAMC,aAAqB,GAAGlB,OAAO,CAAC,eAAD,CAArC;AAEP;AACA;AACA;;AACA,OAAO,IAAMmB,oBAAoB,GAAG,sBAA7B;AAEP;AACA;;AACA,OAAO,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B;AAAA,SAAcrB,uBAAd;AAAA,CAAnC;AAEP,eAAeC,OAAf","sourcesContent":["// @flow\nimport { LayoutHintConfiguration } from \"./LayoutHintConfig\";\n\n/**\n * Retrieve layout hint by id from the layout hint configuration\n */\nconst getHint = (hint: string): string => {\n if (LayoutHintConfiguration[hint]) {\n return LayoutHintConfiguration[hint].hint;\n }\n\n return \"\";\n};\n\n/**\n * Layout-hint: Indicates a mandatory attribute. Should be used together with the dependency hint.\n */\nexport const MANDATORY: string = getHint(\"MANDATORY\");\n\n/**\n * Layout-hint: Indicates a disabled attribute.\n * @constant\n */\nexport const DISABLED: string = getHint(\"DISABLED\");\n\n/*\n * --------------------------------\n * SELECT DEPENDENT ATTRIBUTES\n * --------------------------------\n */\n/**\n * Layout-hint: Marks the choice attribute where other attributes depend on. The unique control id is a unique id that can be used in the hint for the show|hide action on the dependent attribute.\n */\nexport const DEPENDENT_ATTRIBUTE_CONTROL = \"dependent-control\";\n/**\n */\nexport const DEPENDENT_ATTRIBUTE = \"dependent-attribute:\";\n\n/*\n * --------------------------------\n * ATTRIBUTES\n * --------------------------------\n */\n/**\n * Layout-hint: Password attribute must be confirmed using a second password attribute.\n */\nexport const CONFIRM_PASSWORD: string = getHint(\"CONFIRM_PASSWORD\");\n/**\n * Layout-hint: Sort options alphabetically\n */\nexport const SORT_OPTIONS: string = getHint(\"SORT_OPTIONS\");\n/**\n * Layout-hint: Marks an attribute as a title attribute\n */\nexport const TITLE: string = getHint(\"TITLE\");\n/**\n * Layout-hint: Ignore the global input format for specific attribute\n */\nexport const IGNORE_FORMAT_SETTING: string = getHint(\"IGNORE_FORMAT_SETTING\");\n\n/*\n * --------------------------------\n * FORM\n * --------------------------------\n */\n/**\n * Layout-hint: Mark task as delete task\n */\nexport const DELETE_ACTION: string = getHint(\"DELETE_ACTION\");\n/**\n * Layout-hint: Mark task as update task\n */\nexport const UPDATE_ACTION: string = getHint(\"UPDATE_ACTION\");\n/**\n * Layout-hint: Mark task as create task\n */\nexport const CREATE_ACTION: string = getHint(\"CREATE_ACTION\");\n\n/*\n * --------------------------------\n * UPLOAD TOTAL FILE SIZE\n * --------------------------------\n */\n/**\n * Layout-hint: Used in conjunction with an upload attribute, this hint is set on a read only attribute containing the file size currently used.\n */\nexport const INITIAL_TOTAL_FILESIZE: string = getHint(\"INITIAL_TOTAL_FILESIZE\");\n/**\n * Layout-hint: Used in conjunction with an upload attribute, this hint is set on a read only attribute containing the maximum allowed total file size.\n */\nexport const MAX_TOTAL_FILESIZE: string = getHint(\"MAX_TOTAL_FILESIZE\");\n\n/*\n * --------------------------------\n * LISTS\n * --------------------------------\n */\n/**\n * Layout-hint: A list with only one detail must be shown as a detail\n */\nexport const SHOW_ONE_RESULT_AS_DETAIL: string = getHint(\n \"SHOW_ONE_RESULT_AS_DETAIL\"\n);\n/**\n * Layout-hint: A list without list-items and list-tasks should not be shown.\n */\nexport const HIDE_WHEN_EMPTY: string = getHint(\"HIDE_WHEN_EMPTY\");\n/**\n * Layout-hint: Sets a default value on a filter\n */\nexport const INITIAL_FILTER: string = \"initial-filter:\";\n/**\n * Layout-hint: Mark a case id reference attribute as the reference to the case view. Replaces the self link of a list item\n */\nexport const CASEVIEW_LINK: string = getHint(\"CASEVIEW_LINK\");\n\n/**\n * Layout-hint: Set on configuration of instruments to show content in a popover on a label\n */\nexport const RENDER_SECTION_LABEL = \"render-section-label\";\n\n/**\n */\nexport const getLayoutHintConfiguration = (): Object => LayoutHintConfiguration;\n\nexport default getHint;\n"],"file":"LayoutHints.js"}
@@ -41,7 +41,8 @@ var defaultSettings = {
41
41
  // disable hide-when-empty hint for layouts running on Be Informed versions older than 21.1
42
42
  ALLOW_HIDE_WHEN_EMPTY_ON_TABS: true,
43
43
  // reload the complete page on signout, usefull when third party authentication is in place
44
- PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false
44
+ PAGE_RELOAD_ON_UNAUTHORIZED_ERROR: false,
45
+ XHR_TIMEOUT_MS: 300000
45
46
  };
46
47
  var settings = defaultSettings;
47
48
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/constants/Settings.js"],"names":["isPlainObject","has","ALL_CONTENT_IN_DATA_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_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","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","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","hasAllContentInData"],"mappings":";AACA,SAASA,aAAT,EAAwBC,GAAxB,QAAmC,0BAAnC;AACA,SAASC,2BAAT,QAA4C,aAA5C;AAIA,IAAMC,eAAe,GAAG;AACtB;AACAC,EAAAA,4BAA4B,EAAE,IAFR;AAItB;AACAC,EAAAA,yBAAyB,EAAE,IALL;AAOtB;AACAC,EAAAA,kBAAkB,EAAE,KARE;AAUtB;AACAC,EAAAA,sBAAsB,EAAE,IAXF;AAatB;AACAC,EAAAA,qCAAqC,EAAE,IAdjB;AAgBtB;AACAC,EAAAA,oCAAoC,EAAE,KAjBhB;AAmBtB;AACAC,EAAAA,oBAAoB,EAAE,CAAC,UAAD,EAAa,WAAb,CApBA;AAsBtB;AACAC,EAAAA,yBAAyB,EAAE,IAvBL;AAyBtB;AACAC,EAAAA,6BAA6B,EAAE,IA1BT;AA4BtB;AACAC,EAAAA,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,CA7BK;AA+BtB;AACAC,EAAAA,qBAAqB,EAAE,IAhCD;AAkCtB;AACAC,EAAAA,wBAAwB,EAAE,GAnCJ;AAqCtB;AACAC,EAAAA,+BAA+B,EAAE,kCAtCX;AAwCtB;AACAC,EAAAA,iBAAiB,EAAE,EAzCG;AA2CtB;AACAC,EAAAA,oBAAoB,EAAE,EA5CA;AA8CtB;AACAC,EAAAA,uBAAuB,EAAE,CA/CH;AAiDtB;AACAC,EAAAA,iCAAiC,EAAE,CAlDb;AAoDtB;AACAC,EAAAA,aAAa,EAAE,EArDO;AAuDtB;AACAC,EAAAA,6BAA6B,EAAE,IAxDT;AA0DtB;AACAC,EAAAA,iCAAiC,EAAE;AA3Db,CAAxB;AA8DA,IAAIC,QAAQ,GAAGrB,eAAf;AAEA;AACA;;AACA,OAAO,IAAMsB,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAAoB;AAC7C,MAAI1B,aAAa,CAAC0B,MAAD,CAAjB,EAA2B;AACzBF,IAAAA,QAAQ,GAAG,eAAcrB,eAAd,EAA+BuB,MAA/B,CAAX;AACD;AACF,CAJM;AAMP;AACA;;AACA,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD,EAAcC,YAAd,EAA0C;AAAA;;AAClE,MAAI,CAAC5B,GAAG,CAACuB,QAAD,EAAWI,GAAX,CAAJ,IAAuBC,YAAY,KAAKC,SAA5C,EAAuD;AACrD,UAAM,IAAIC,KAAJ,6BACiBH,GADjB,0CAAN;AAGD;;AAED,0BAAOJ,QAAQ,CAACI,GAAD,CAAf,yDAAwBC,YAAxB;AACD,CARM;AAUP;AACA;;AACA,OAAO,IAAMG,UAAU,GAAG,SAAbA,UAAa,CAACJ,GAAD,EAAcK,KAAd,EAA6B;AACrDT,EAAAA,QAAQ,CAACI,GAAD,CAAR,GAAgBK,KAAhB;AACD,CAFM;AAIP;AACA;;AACA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAmCV,QAAnC;AAAA,CAApB;AAEP;AACA;;AACA,OAAO,IAAMW,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,SACjCR,UAAU,CAACzB,2BAAD,EAA8B,IAA9B,CADuB;AAAA,CAA5B","sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { ALL_CONTENT_IN_DATA_SETTING } 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 // 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 // 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\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"],"file":"Settings.js"}
1
+ {"version":3,"sources":["../../src/constants/Settings.js"],"names":["isPlainObject","has","ALL_CONTENT_IN_DATA_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_FORMS_IN_MODAL","SHOW_SUBMIT_WAIT_TIMEOUT","SWIM_LANE_DIAGRAM_CONFIGURATION","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","settings","setSettings","config","getSetting","key","defaultValue","undefined","Error","setSetting","value","allSettings","hasAllContentInData"],"mappings":";AACA,SAASA,aAAT,EAAwBC,GAAxB,QAAmC,0BAAnC;AACA,SAASC,2BAAT,QAA4C,aAA5C;AAIA,IAAMC,eAAe,GAAG;AACtB;AACAC,EAAAA,4BAA4B,EAAE,IAFR;AAItB;AACAC,EAAAA,yBAAyB,EAAE,IALL;AAOtB;AACAC,EAAAA,kBAAkB,EAAE,KARE;AAUtB;AACAC,EAAAA,sBAAsB,EAAE,IAXF;AAatB;AACAC,EAAAA,qCAAqC,EAAE,IAdjB;AAgBtB;AACAC,EAAAA,oCAAoC,EAAE,KAjBhB;AAmBtB;AACAC,EAAAA,oBAAoB,EAAE,CAAC,UAAD,EAAa,WAAb,CApBA;AAsBtB;AACAC,EAAAA,yBAAyB,EAAE,IAvBL;AAyBtB;AACAC,EAAAA,6BAA6B,EAAE,IA1BT;AA4BtB;AACAC,EAAAA,eAAe,EAAE,CAAC,IAAD,EAAO,IAAP,CA7BK;AA+BtB;AACAC,EAAAA,qBAAqB,EAAE,IAhCD;AAkCtB;AACAC,EAAAA,wBAAwB,EAAE,GAnCJ;AAqCtB;AACAC,EAAAA,+BAA+B,EAAE,kCAtCX;AAwCtB;AACAC,EAAAA,iBAAiB,EAAE,EAzCG;AA2CtB;AACAC,EAAAA,oBAAoB,EAAE,EA5CA;AA8CtB;AACAC,EAAAA,uBAAuB,EAAE,CA/CH;AAiDtB;AACAC,EAAAA,iCAAiC,EAAE,CAlDb;AAoDtB;AACAC,EAAAA,aAAa,EAAE,EArDO;AAuDtB;AACAC,EAAAA,6BAA6B,EAAE,IAxDT;AA0DtB;AACAC,EAAAA,iCAAiC,EAAE,KA3Db;AA6DtBC,EAAAA,cAAc,EAAE;AA7DM,CAAxB;AAgEA,IAAIC,QAAQ,GAAGtB,eAAf;AAEA;AACA;;AACA,OAAO,IAAMuB,WAAW,GAAG,SAAdA,WAAc,CAACC,MAAD,EAAoB;AAC7C,MAAI3B,aAAa,CAAC2B,MAAD,CAAjB,EAA2B;AACzBF,IAAAA,QAAQ,GAAG,eAActB,eAAd,EAA+BwB,MAA/B,CAAX;AACD;AACF,CAJM;AAMP;AACA;;AACA,OAAO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,GAAD,EAAcC,YAAd,EAA0C;AAAA;;AAClE,MAAI,CAAC7B,GAAG,CAACwB,QAAD,EAAWI,GAAX,CAAJ,IAAuBC,YAAY,KAAKC,SAA5C,EAAuD;AACrD,UAAM,IAAIC,KAAJ,6BACiBH,GADjB,0CAAN;AAGD;;AAED,0BAAOJ,QAAQ,CAACI,GAAD,CAAf,yDAAwBC,YAAxB;AACD,CARM;AAUP;AACA;;AACA,OAAO,IAAMG,UAAU,GAAG,SAAbA,UAAa,CAACJ,GAAD,EAAcK,KAAd,EAA6B;AACrDT,EAAAA,QAAQ,CAACI,GAAD,CAAR,GAAgBK,KAAhB;AACD,CAFM;AAIP;AACA;;AACA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc;AAAA,SAAmCV,QAAnC;AAAA,CAApB;AAEP;AACA;;AACA,OAAO,IAAMW,mBAAmB,GAAG,SAAtBA,mBAAsB;AAAA,SACjCR,UAAU,CAAC1B,2BAAD,EAA8B,IAA9B,CADuB;AAAA,CAA5B","sourcesContent":["// @flow\nimport { isPlainObject, has } from \"../utils/helpers/objects\";\nimport { ALL_CONTENT_IN_DATA_SETTING } 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 // 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 // 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\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"],"file":"Settings.js"}
@@ -51,8 +51,8 @@ export var useContentFromSourceReferences = function useContentFromSourceReferen
51
51
 
52
52
  start();
53
53
 
54
- _Promise.all(requests).then(function (content) {
55
- setContent(content);
54
+ _Promise.all(requests).then(function (responseContent) {
55
+ setContent(responseContent);
56
56
  finish();
57
57
  }); // start and finish don't change
58
58
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useContent.js"],"names":["useState","useEffect","useSelector","SourceReferenceCollection","ModularUIRequest","useProgressIndicator","useContentFromSourceReferences","sourceReferences","renderChildSections","content","setContent","localeCode","state","i18n","locale","start","finish","hrefs","sourceReference","link","selfhref","href","index","self","indexOf","toString","allHrefs","requests","JSON","parse","modularuiRequest","fetchContent","all","then"],"mappings":";;;;;AACA,SAASA,QAAT,EAAmBC,SAAnB,QAAoC,OAApC;AACA,SAASC,WAAT,QAA4B,aAA5B;AAEA,OAAOC,yBAAP,MAAsC,8CAAtC;AACA,OAAOC,gBAAP,MAA6B,+BAA7B;AAEA,SAASC,oBAAT,QAAqC,+BAArC;;AAIA;AACA;AACA;AACA,OAAO,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,CAC5CC,gBAD4C,EAE5CC,mBAF4C,EAGpB;AAAA;;AACxB,kBAA8BR,QAAQ,CAAC,EAAD,CAAtC;AAAA;AAAA,MAAOS,OAAP;AAAA,MAAgBC,UAAhB;;AACA,MAAMC,UAAU,GAAGT,WAAW,CAAC,UAACU,KAAD;AAAA;;AAAA,iCAAWA,KAAK,CAACC,IAAN,CAAWC,MAAtB,mEAAgC,IAAhC;AAAA,GAAD,CAA9B;;AAEA,8BAA0BT,oBAAoB,EAA9C;AAAA,MAAQU,KAAR,yBAAQA,KAAR;AAAA,MAAeC,MAAf,yBAAeA,MAAf;;AAEA,MAAMC,KAAK,GAAG,yFAAAV,gBAAgB,MAAhB,CAAAA,gBAAgB,EACvB,UAACW,eAAD;AAAA,WAAqBA,eAAe,CAACC,IAAhB,CAAqBC,QAArB,CAA8BC,IAAnD;AAAA,GADuB,CAAhB,kBAEJ,UAACA,IAAD,EAAOC,KAAP,EAAcC,IAAd;AAAA,WAAuBA,IAAI,CAACC,OAAL,CAAaH,IAAb,MAAuBC,KAA9C;AAAA,GAFI,kBAGP,UAACD,IAAD;AAAA,WAAUA,IAAI,CAACI,QAAL,EAAV;AAAA,GAHO,CAAd;;AAKA,MAAMC,QAAQ,GAAG,gBAAeT,KAAf,CAAjB;;AACAhB,EAAAA,SAAS,CAAC,YAAM;AAAA;;AACd,QAAM0B,QAAQ,GAAG,iCAAAC,IAAI,CAACC,KAAL,CAAWH,QAAX,mBAAyB,UAACL,IAAD,EAAU;AAClD,UAAMS,gBAAgB,GAAG,IAAI1B,gBAAJ,CAAqBiB,IAArB,CAAzB;AACAS,MAAAA,gBAAgB,CAAChB,MAAjB,GAA0BH,UAA1B;AACA,aAAOmB,gBAAgB,CAACC,YAAjB,CAA8BvB,mBAA9B,CAAP;AACD,KAJgB,CAAjB;;AAMAO,IAAAA,KAAK;;AACL,aAAQiB,GAAR,CAAYL,QAAZ,EAAsBM,IAAtB,CAA2B,UAACxB,OAAD,EAAa;AACtCC,MAAAA,UAAU,CAACD,OAAD,CAAV;AACAO,MAAAA,MAAM;AACP,KAHD,EARc,CAad;AACA;;AACD,GAfQ,EAeN,CAACU,QAAD,EAAWf,UAAX,EAAuBH,mBAAvB,CAfM,CAAT;AAiBA,SAAOC,OAAP;AACD,CAjCM","sourcesContent":["// @flow\nimport { useState, useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\n\nimport SourceReferenceCollection from \"../models/concepts/SourceReferenceCollection\";\nimport ModularUIRequest from \"../modularui/ModularUIRequest\";\n\nimport { useProgressIndicator } from \"../hooks/useProgressIndicator\";\n\nimport type ContentModel from \"../models/content/ContentModel\";\n\n/**\n * Hook to retrieve multiple source references at once\n */\nexport const useContentFromSourceReferences = (\n sourceReferences: SourceReferenceCollection,\n renderChildSections: boolean\n): Array<ContentModel> => {\n const [content, setContent] = useState([]);\n const localeCode = useSelector((state) => state.i18n.locale ?? \"en\");\n\n const { start, finish } = useProgressIndicator();\n\n const hrefs = sourceReferences\n .map((sourceReference) => sourceReference.link.selfhref.href)\n .filter((href, index, self) => self.indexOf(href) === index)\n .map((href) => href.toString());\n\n const allHrefs = JSON.stringify(hrefs);\n useEffect(() => {\n const requests = JSON.parse(allHrefs).map((href) => {\n const modularuiRequest = new ModularUIRequest(href);\n modularuiRequest.locale = localeCode;\n return modularuiRequest.fetchContent(renderChildSections);\n });\n\n start();\n Promise.all(requests).then((content) => {\n setContent(content);\n finish();\n });\n\n // start and finish don't change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [allHrefs, localeCode, renderChildSections]);\n\n return content;\n};\n"],"file":"useContent.js"}
1
+ {"version":3,"sources":["../../src/hooks/useContent.js"],"names":["useState","useEffect","useSelector","SourceReferenceCollection","ModularUIRequest","useProgressIndicator","useContentFromSourceReferences","sourceReferences","renderChildSections","content","setContent","localeCode","state","i18n","locale","start","finish","hrefs","sourceReference","link","selfhref","href","index","self","indexOf","toString","allHrefs","requests","JSON","parse","modularuiRequest","fetchContent","all","then","responseContent"],"mappings":";;;;;AACA,SAASA,QAAT,EAAmBC,SAAnB,QAAoC,OAApC;AACA,SAASC,WAAT,QAA4B,aAA5B;AAEA,OAAOC,yBAAP,MAAsC,8CAAtC;AACA,OAAOC,gBAAP,MAA6B,+BAA7B;AAEA,SAASC,oBAAT,QAAqC,+BAArC;;AAIA;AACA;AACA;AACA,OAAO,IAAMC,8BAA8B,GAAG,SAAjCA,8BAAiC,CAC5CC,gBAD4C,EAE5CC,mBAF4C,EAGpB;AAAA;;AACxB,kBAA8BR,QAAQ,CAAC,EAAD,CAAtC;AAAA;AAAA,MAAOS,OAAP;AAAA,MAAgBC,UAAhB;;AACA,MAAMC,UAAU,GAAGT,WAAW,CAAC,UAACU,KAAD;AAAA;;AAAA,iCAAWA,KAAK,CAACC,IAAN,CAAWC,MAAtB,mEAAgC,IAAhC;AAAA,GAAD,CAA9B;;AAEA,8BAA0BT,oBAAoB,EAA9C;AAAA,MAAQU,KAAR,yBAAQA,KAAR;AAAA,MAAeC,MAAf,yBAAeA,MAAf;;AAEA,MAAMC,KAAK,GAAG,yFAAAV,gBAAgB,MAAhB,CAAAA,gBAAgB,EACvB,UAACW,eAAD;AAAA,WAAqBA,eAAe,CAACC,IAAhB,CAAqBC,QAArB,CAA8BC,IAAnD;AAAA,GADuB,CAAhB,kBAEJ,UAACA,IAAD,EAAOC,KAAP,EAAcC,IAAd;AAAA,WAAuBA,IAAI,CAACC,OAAL,CAAaH,IAAb,MAAuBC,KAA9C;AAAA,GAFI,kBAGP,UAACD,IAAD;AAAA,WAAUA,IAAI,CAACI,QAAL,EAAV;AAAA,GAHO,CAAd;;AAKA,MAAMC,QAAQ,GAAG,gBAAeT,KAAf,CAAjB;;AACAhB,EAAAA,SAAS,CAAC,YAAM;AAAA;;AACd,QAAM0B,QAAQ,GAAG,iCAAAC,IAAI,CAACC,KAAL,CAAWH,QAAX,mBAAyB,UAACL,IAAD,EAAU;AAClD,UAAMS,gBAAgB,GAAG,IAAI1B,gBAAJ,CAAqBiB,IAArB,CAAzB;AACAS,MAAAA,gBAAgB,CAAChB,MAAjB,GAA0BH,UAA1B;AACA,aAAOmB,gBAAgB,CAACC,YAAjB,CAA8BvB,mBAA9B,CAAP;AACD,KAJgB,CAAjB;;AAMAO,IAAAA,KAAK;;AACL,aAAQiB,GAAR,CAAYL,QAAZ,EAAsBM,IAAtB,CAA2B,UAACC,eAAD,EAAqB;AAC9CxB,MAAAA,UAAU,CAACwB,eAAD,CAAV;AACAlB,MAAAA,MAAM;AACP,KAHD,EARc,CAad;AACA;;AACD,GAfQ,EAeN,CAACU,QAAD,EAAWf,UAAX,EAAuBH,mBAAvB,CAfM,CAAT;AAiBA,SAAOC,OAAP;AACD,CAjCM","sourcesContent":["// @flow\nimport { useState, useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\n\nimport SourceReferenceCollection from \"../models/concepts/SourceReferenceCollection\";\nimport ModularUIRequest from \"../modularui/ModularUIRequest\";\n\nimport { useProgressIndicator } from \"../hooks/useProgressIndicator\";\n\nimport type ContentModel from \"../models/content/ContentModel\";\n\n/**\n * Hook to retrieve multiple source references at once\n */\nexport const useContentFromSourceReferences = (\n sourceReferences: SourceReferenceCollection,\n renderChildSections: boolean\n): Array<ContentModel> => {\n const [content, setContent] = useState([]);\n const localeCode = useSelector((state) => state.i18n.locale ?? \"en\");\n\n const { start, finish } = useProgressIndicator();\n\n const hrefs = sourceReferences\n .map((sourceReference) => sourceReference.link.selfhref.href)\n .filter((href, index, self) => self.indexOf(href) === index)\n .map((href) => href.toString());\n\n const allHrefs = JSON.stringify(hrefs);\n useEffect(() => {\n const requests = JSON.parse(allHrefs).map((href) => {\n const modularuiRequest = new ModularUIRequest(href);\n modularuiRequest.locale = localeCode;\n return modularuiRequest.fetchContent(renderChildSections);\n });\n\n start();\n Promise.all(requests).then((responseContent) => {\n setContent(responseContent);\n finish();\n });\n\n // start and finish don't change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [allHrefs, localeCode, renderChildSections]);\n\n return content;\n};\n"],"file":"useContent.js"}
@@ -6,7 +6,8 @@ import { dequal as deepEqual } from "dequal/lite";
6
6
  * Need to copy this, because the dependency on dequal breaks in ie11
7
7
  */
8
8
  var useDeepCompareMemoize = function useDeepCompareMemoize(value) {
9
- var ref = React.useRef(null);
9
+ var ref = React.useRef(null); // NOSONAR
10
+
10
11
  var signalRef = React.useRef(0);
11
12
 
12
13
  if (!deepEqual(value, ref.current)) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useDeepCompareEffect.js"],"names":["React","dequal","deepEqual","useDeepCompareMemoize","value","ref","useRef","signalRef","current","useDeepCompareEffect","callback","dependencies","useEffect"],"mappings":"AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,MAAM,IAAIC,SAAnB,QAAoC,aAApC;;AAKA;AACA;AACA;AACA;AACA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,KAAD,EAA2B;AACvD,MAAMC,GAAG,GAAGL,KAAK,CAACM,MAAN,CAAoC,IAApC,CAAZ;AACA,MAAMC,SAAS,GAAGP,KAAK,CAACM,MAAN,CAAqB,CAArB,CAAlB;;AAEA,MAAI,CAACJ,SAAS,CAACE,KAAD,EAAQC,GAAG,CAACG,OAAZ,CAAd,EAAoC;AAClCH,IAAAA,GAAG,CAACG,OAAJ,GAAcJ,KAAd;AACAG,IAAAA,SAAS,CAACC,OAAV,IAAqB,CAArB;AACD;;AAED,SAAO,CAACD,SAAS,CAACC,OAAX,CAAP;AACD,CAVD;AAYA;AACA;;;AACA,OAAO,SAASC,oBAAT,CACLC,QADK,EAELC,YAFK,EAGC;AACN;AACA,SAAOX,KAAK,CAACY,SAAN,CAAgBF,QAAhB,EAA0BP,qBAAqB,CAACQ,YAAD,CAA/C,CAAP;AACD;AAED,eAAeF,oBAAf","sourcesContent":["// @flow\nimport * as React from \"react\";\nimport { dequal as deepEqual } from \"dequal/lite\";\n\ntype Callback = () => void | (() => void);\ntype DependencyList = Array<mixed>;\n\n/**\n * As copied from https://github.com/kentcdodds/use-deep-compare-effect/\n * Need to copy this, because the dependency on dequal breaks in ie11\n */\nconst useDeepCompareMemoize = (value: DependencyList) => {\n const ref = React.useRef<DependencyList | null>(null);\n const signalRef = React.useRef<number>(0);\n\n if (!deepEqual(value, ref.current)) {\n ref.current = value;\n signalRef.current += 1;\n }\n\n return [signalRef.current];\n};\n\n/**\n */\nexport function useDeepCompareEffect(\n callback: Callback,\n dependencies: DependencyList\n): void {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return React.useEffect(callback, useDeepCompareMemoize(dependencies));\n}\n\nexport default useDeepCompareEffect;\n"],"file":"useDeepCompareEffect.js"}
1
+ {"version":3,"sources":["../../src/hooks/useDeepCompareEffect.js"],"names":["React","dequal","deepEqual","useDeepCompareMemoize","value","ref","useRef","signalRef","current","useDeepCompareEffect","callback","dependencies","useEffect"],"mappings":"AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,MAAM,IAAIC,SAAnB,QAAoC,aAApC;;AAKA;AACA;AACA;AACA;AACA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,KAAD,EAA2B;AACvD,MAAMC,GAAG,GAAGL,KAAK,CAACM,MAAN,CAAoC,IAApC,CAAZ,CADuD,CACA;;AACvD,MAAMC,SAAS,GAAGP,KAAK,CAACM,MAAN,CAAqB,CAArB,CAAlB;;AAEA,MAAI,CAACJ,SAAS,CAACE,KAAD,EAAQC,GAAG,CAACG,OAAZ,CAAd,EAAoC;AAClCH,IAAAA,GAAG,CAACG,OAAJ,GAAcJ,KAAd;AACAG,IAAAA,SAAS,CAACC,OAAV,IAAqB,CAArB;AACD;;AAED,SAAO,CAACD,SAAS,CAACC,OAAX,CAAP;AACD,CAVD;AAYA;AACA;;;AACA,OAAO,SAASC,oBAAT,CACLC,QADK,EAELC,YAFK,EAGC;AACN;AACA,SAAOX,KAAK,CAACY,SAAN,CAAgBF,QAAhB,EAA0BP,qBAAqB,CAACQ,YAAD,CAA/C,CAAP;AACD;AAED,eAAeF,oBAAf","sourcesContent":["// @flow\nimport * as React from \"react\";\nimport { dequal as deepEqual } from \"dequal/lite\";\n\ntype Callback = () => void | (() => void);\ntype DependencyList = Array<mixed>;\n\n/**\n * As copied from https://github.com/kentcdodds/use-deep-compare-effect/\n * Need to copy this, because the dependency on dequal breaks in ie11\n */\nconst useDeepCompareMemoize = (value: DependencyList) => {\n const ref = React.useRef<DependencyList | null>(null); // NOSONAR\n const signalRef = React.useRef<number>(0);\n\n if (!deepEqual(value, ref.current)) {\n ref.current = value;\n signalRef.current += 1;\n }\n\n return [signalRef.current];\n};\n\n/**\n */\nexport function useDeepCompareEffect(\n callback: Callback,\n dependencies: DependencyList\n): void {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return React.useEffect(callback, useDeepCompareMemoize(dependencies));\n}\n\nexport default useDeepCompareEffect;\n"],"file":"useDeepCompareEffect.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useForm.js"],"names":["useDispatch","Href","getSetting","HTTP_METHODS","loadModularUI","removeModelByKey","useModularUI","addRepeatableAttributeSet","cancelForm","cancelRepeatableAttributeSet","previousObject","removeRepeatableAttributeSet","showFormNotification","updateFormAttribute","FormModel","useForm","href","formHref","addParameter","form","method","POST","targetModel","removeOnUnmount","model","useFormNavigation","dispatch","previous","cancel","submit","connectKey","selfhref","data","formdata","updateModel","remove","showFormNotificationAction","useAttributeUpdate","object","attribute","value","options","useAttributeSet","save"],"mappings":"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","sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport Href from \"../models/href/Href\";\n\nimport { getSetting, HTTP_METHODS } from \"../constants\";\n\nimport { loadModularUI, removeModelByKey } from \"../redux/_modularui\";\nimport { useModularUI } from \"./useModularUI\";\n\nimport {\n addRepeatableAttributeSet,\n cancelForm,\n cancelRepeatableAttributeSet,\n previousObject,\n removeRepeatableAttributeSet,\n showFormNotification,\n updateFormAttribute,\n} from \"../redux/actions\";\n\nimport FormModel from \"../models/form/FormModel\";\n\nimport type { FormObjectModel } from \"../models\";\nimport type { AttributeType } from \"../models\";\nimport type { UpdateFormOptions } from \"../redux/types\";\nimport type {\n RemoveModelByKeyAction,\n UpdateModelAction,\n} from \"../redux/_modularui\";\n\ntype FormNavigationHook = {\n previous: (form: FormModel) => UpdateModelAction,\n cancel: (form: FormModel) => void,\n submit: (form: FormModel) => void,\n showFormNotification: (form: FormModel) => void,\n remove: (form: FormModel) => RemoveModelByKeyAction,\n};\n\ntype AttributeSetHook = {\n save: () => UpdateModelAction,\n cancel: (object: FormObjectModel) => UpdateModelAction,\n remove: (object: FormObjectModel) => UpdateModelAction,\n};\n\ntype AttributeUpdateHook = (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n) => void;\n\n/**\n * Load a form by href\n */\nexport const useForm = (href: string | Href): ?FormModel => {\n const formHref = new Href(href);\n\n if (!getSetting(\"ALWAYS_COMMIT_FORM\")) {\n formHref.addParameter(\"commit\", \"false\");\n }\n\n const form = useModularUI(\"form\", formHref, {\n method: HTTP_METHODS.POST,\n targetModel: FormModel,\n removeOnUnmount: true,\n });\n\n if (form?.model) {\n return form.model;\n }\n};\n\n/**\n * Form navigation methods\n */\nexport const useFormNavigation = (): FormNavigationHook => {\n const dispatch = useDispatch();\n\n const previous = (form: FormModel) => dispatch(previousObject(form));\n\n const cancel = (form: FormModel) => dispatch(cancelForm(form));\n\n const submit = (form: FormModel) =>\n dispatch(\n loadModularUI(form.connectKey, form.selfhref, {\n method: HTTP_METHODS.POST,\n data: form.formdata,\n updateModel: form,\n targetModel: FormModel,\n })\n );\n\n const remove = (form: FormModel) =>\n dispatch(removeModelByKey(form.connectKey));\n\n const showFormNotificationAction = (form: FormModel) =>\n dispatch(showFormNotification(form));\n\n return {\n previous,\n cancel,\n submit,\n remove,\n showFormNotification: showFormNotificationAction,\n };\n};\n\n/**\n * Update attributes of a form\n */\nexport const useAttributeUpdate = (\n form: FormModel,\n object: FormObjectModel\n): AttributeUpdateHook => {\n const dispatch = useDispatch();\n\n return (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n ) => dispatch(updateFormAttribute(form, object, attribute, value, options));\n};\n\n/**\n * Attributeset actions\n */\nexport const useAttributeSet = (form: FormModel): AttributeSetHook => {\n const dispatch = useDispatch();\n\n return {\n save: () => dispatch(addRepeatableAttributeSet(form)),\n cancel: (object: FormObjectModel) =>\n dispatch(cancelRepeatableAttributeSet(form, object)),\n remove: (object: FormObjectModel) =>\n dispatch(removeRepeatableAttributeSet(form, object)),\n };\n};\n"],"file":"useForm.js"}
1
+ {"version":3,"sources":["../../src/hooks/useForm.js"],"names":["useDispatch","Href","getSetting","HTTP_METHODS","loadModularUI","removeModelByKey","useModularUI","addRepeatableAttributeSet","cancelForm","cancelRepeatableAttributeSet","previousObject","removeRepeatableAttributeSet","showFormNotification","updateFormAttribute","FormModel","useForm","href","formHref","addParameter","form","method","POST","targetModel","removeOnUnmount","model","useFormNavigation","dispatch","previous","cancel","submit","connectKey","selfhref","data","formdata","updateModel","remove","showFormNotificationAction","useAttributeUpdate","object","attribute","value","options","useAttributeSet","save"],"mappings":"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","sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport Href from \"../models/href/Href\";\n\nimport { getSetting, HTTP_METHODS } from \"../constants\";\n\nimport { loadModularUI, removeModelByKey } from \"../redux/_modularui\";\nimport { useModularUI } from \"./useModularUI\";\n\nimport {\n addRepeatableAttributeSet,\n cancelForm,\n cancelRepeatableAttributeSet,\n previousObject,\n removeRepeatableAttributeSet,\n showFormNotification,\n updateFormAttribute,\n} from \"../redux/actions\";\n\nimport FormModel from \"../models/form/FormModel\";\n\nimport type { FormObjectModel, AttributeType } from \"../models\";\nimport type { UpdateFormOptions } from \"../redux/types\";\nimport type {\n RemoveModelByKeyAction,\n UpdateModelAction,\n} from \"../redux/_modularui\";\n\ntype FormNavigationHook = {\n previous: (form: FormModel) => UpdateModelAction,\n cancel: (form: FormModel) => void,\n submit: (form: FormModel) => void,\n showFormNotification: (form: FormModel) => void,\n remove: (form: FormModel) => RemoveModelByKeyAction,\n};\n\ntype AttributeSetHook = {\n save: () => UpdateModelAction,\n cancel: (object: FormObjectModel) => UpdateModelAction,\n remove: (object: FormObjectModel) => UpdateModelAction,\n};\n\ntype AttributeUpdateHook = (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n) => void;\n\n/**\n * Load a form by href\n */\nexport const useForm = (href: string | Href): ?FormModel => {\n const formHref = new Href(href);\n\n if (!getSetting(\"ALWAYS_COMMIT_FORM\")) {\n formHref.addParameter(\"commit\", \"false\");\n }\n\n const form = useModularUI(\"form\", formHref, {\n method: HTTP_METHODS.POST,\n targetModel: FormModel,\n removeOnUnmount: true,\n });\n\n if (form?.model) {\n return form.model;\n }\n};\n\n/**\n * Form navigation methods\n */\nexport const useFormNavigation = (): FormNavigationHook => {\n const dispatch = useDispatch();\n\n const previous = (form: FormModel) => dispatch(previousObject(form));\n\n const cancel = (form: FormModel) => dispatch(cancelForm(form));\n\n const submit = (form: FormModel) =>\n dispatch(\n loadModularUI(form.connectKey, form.selfhref, {\n method: HTTP_METHODS.POST,\n data: form.formdata,\n updateModel: form,\n targetModel: FormModel,\n })\n );\n\n const remove = (form: FormModel) =>\n dispatch(removeModelByKey(form.connectKey));\n\n const showFormNotificationAction = (form: FormModel) =>\n dispatch(showFormNotification(form));\n\n return {\n previous,\n cancel,\n submit,\n remove,\n showFormNotification: showFormNotificationAction,\n };\n};\n\n/**\n * Update attributes of a form\n */\nexport const useAttributeUpdate = (\n form: FormModel,\n object: FormObjectModel\n): AttributeUpdateHook => {\n const dispatch = useDispatch();\n\n return (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions\n ) => dispatch(updateFormAttribute(form, object, attribute, value, options));\n};\n\n/**\n * Attributeset actions\n */\nexport const useAttributeSet = (form: FormModel): AttributeSetHook => {\n const dispatch = useDispatch();\n\n return {\n save: () => dispatch(addRepeatableAttributeSet(form)),\n cancel: (object: FormObjectModel) =>\n dispatch(cancelRepeatableAttributeSet(form, object)),\n remove: (object: FormObjectModel) =>\n dispatch(removeRepeatableAttributeSet(form, object)),\n };\n};\n"],"file":"useForm.js"}
@@ -17,8 +17,8 @@ export var useModal = function useModal(modalId) {
17
17
  var _context;
18
18
 
19
19
  var modals = _ref.modals;
20
- return _findInstanceProperty(_context = modals.modals).call(_context, function (modal) {
21
- return modal.key === modalId;
20
+ return _findInstanceProperty(_context = modals.modals).call(_context, function (m) {
21
+ return m.key === modalId;
22
22
  });
23
23
  });
24
24
  var show = useCallback(function () {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useModal.js"],"names":["useCallback","useDispatch","useSelector","showModal","closeModal","IllegalArgumentException","useModal","modalId","dispatch","modal","modals","key","show","close","size","visible"],"mappings":";AACA,SAASA,WAAT,QAA4B,OAA5B;AACA,SAASC,WAAT,EAAsBC,WAAtB,QAAyC,aAAzC;AAEA,SAASC,SAAT,EAAoBC,UAApB,QAAsC,yBAAtC;AACA,SAASC,wBAAT,QAAyC,eAAzC;;AAUA;AACA;AACA;AACA,OAAO,IAAMC,QAAmB,GAAG,SAAtBA,QAAsB,CAACC,OAAD,EAAqB;AACtD,MAAI,CAACA,OAAL,EAAc;AACZ,UAAM,IAAIF,wBAAJ,CACJ,4CADI,CAAN;AAGD;;AAED,MAAMG,QAAQ,GAAGP,WAAW,EAA5B;AACA,MAAMQ,KAAK,GAAGP,WAAW,CAAC;AAAA;;AAAA,QAAGQ,MAAH,QAAGA,MAAH;AAAA,WACxB,iCAAAA,MAAM,CAACA,MAAP,iBAAmB,UAACD,KAAD;AAAA,aAAWA,KAAK,CAACE,GAAN,KAAcJ,OAAzB;AAAA,KAAnB,CADwB;AAAA,GAAD,CAAzB;AAIA,MAAMK,IAAI,GAAGZ,WAAW,CAAC,YAAM;AAC7BQ,IAAAA,QAAQ,CAACL,SAAS,CAACI,OAAD,CAAV,CAAR;AACD,GAFuB,EAErB,CAACC,QAAD,EAAWD,OAAX,CAFqB,CAAxB;AAIA,MAAMM,KAAK,GAAGb,WAAW,CAAC,YAAM;AAC9BQ,IAAAA,QAAQ,CAACJ,UAAU,CAACG,OAAD,CAAX,CAAR;AACD,GAFwB,EAEtB,CAACC,QAAD,EAAWD,OAAX,CAFsB,CAAzB;AAIA,SAAO;AACLI,IAAAA,GAAG,EAAEF,KAAK,GAAGA,KAAK,CAACE,GAAT,GAAe,IADpB;AAELG,IAAAA,IAAI,EAAEL,KAAK,GAAGA,KAAK,CAACK,IAAT,GAAgB,IAFtB;AAGLC,IAAAA,OAAO,EAAEN,KAAK,GAAGA,KAAK,CAACM,OAAT,GAAmB,KAH5B;AAILH,IAAAA,IAAI,EAAJA,IAJK;AAKLC,IAAAA,KAAK,EAALA;AALK,GAAP;AAOD,CA3BM","sourcesContent":["// @flow\nimport { useCallback } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { showModal, closeModal } from \"../redux/actions/Modals\";\nimport { IllegalArgumentException } from \"../exceptions\";\n\ntype ModalHook = (modalId: string) => {\n key: string | null,\n size: string | null,\n visible: boolean,\n show: () => void,\n close: () => void,\n};\n\n/**\n * Manage modals\n */\nexport const useModal: ModalHook = (modalId: string) => {\n if (!modalId) {\n throw new IllegalArgumentException(\n \"Missing modalId argument for useModal hook\"\n );\n }\n\n const dispatch = useDispatch();\n const modal = useSelector(({ modals }) =>\n modals.modals.find((modal) => modal.key === modalId)\n );\n\n const show = useCallback(() => {\n dispatch(showModal(modalId));\n }, [dispatch, modalId]);\n\n const close = useCallback(() => {\n dispatch(closeModal(modalId));\n }, [dispatch, modalId]);\n\n return {\n key: modal ? modal.key : null,\n size: modal ? modal.size : null,\n visible: modal ? modal.visible : false,\n show,\n close,\n };\n};\n"],"file":"useModal.js"}
1
+ {"version":3,"sources":["../../src/hooks/useModal.js"],"names":["useCallback","useDispatch","useSelector","showModal","closeModal","IllegalArgumentException","useModal","modalId","dispatch","modal","modals","m","key","show","close","size","visible"],"mappings":";AACA,SAASA,WAAT,QAA4B,OAA5B;AACA,SAASC,WAAT,EAAsBC,WAAtB,QAAyC,aAAzC;AAEA,SAASC,SAAT,EAAoBC,UAApB,QAAsC,yBAAtC;AACA,SAASC,wBAAT,QAAyC,eAAzC;;AAUA;AACA;AACA;AACA,OAAO,IAAMC,QAAmB,GAAG,SAAtBA,QAAsB,CAACC,OAAD,EAAqB;AACtD,MAAI,CAACA,OAAL,EAAc;AACZ,UAAM,IAAIF,wBAAJ,CACJ,4CADI,CAAN;AAGD;;AAED,MAAMG,QAAQ,GAAGP,WAAW,EAA5B;AACA,MAAMQ,KAAK,GAAGP,WAAW,CAAC;AAAA;;AAAA,QAAGQ,MAAH,QAAGA,MAAH;AAAA,WACxB,iCAAAA,MAAM,CAACA,MAAP,iBAAmB,UAACC,CAAD;AAAA,aAAOA,CAAC,CAACC,GAAF,KAAUL,OAAjB;AAAA,KAAnB,CADwB;AAAA,GAAD,CAAzB;AAIA,MAAMM,IAAI,GAAGb,WAAW,CAAC,YAAM;AAC7BQ,IAAAA,QAAQ,CAACL,SAAS,CAACI,OAAD,CAAV,CAAR;AACD,GAFuB,EAErB,CAACC,QAAD,EAAWD,OAAX,CAFqB,CAAxB;AAIA,MAAMO,KAAK,GAAGd,WAAW,CAAC,YAAM;AAC9BQ,IAAAA,QAAQ,CAACJ,UAAU,CAACG,OAAD,CAAX,CAAR;AACD,GAFwB,EAEtB,CAACC,QAAD,EAAWD,OAAX,CAFsB,CAAzB;AAIA,SAAO;AACLK,IAAAA,GAAG,EAAEH,KAAK,GAAGA,KAAK,CAACG,GAAT,GAAe,IADpB;AAELG,IAAAA,IAAI,EAAEN,KAAK,GAAGA,KAAK,CAACM,IAAT,GAAgB,IAFtB;AAGLC,IAAAA,OAAO,EAAEP,KAAK,GAAGA,KAAK,CAACO,OAAT,GAAmB,KAH5B;AAILH,IAAAA,IAAI,EAAJA,IAJK;AAKLC,IAAAA,KAAK,EAALA;AALK,GAAP;AAOD,CA3BM","sourcesContent":["// @flow\nimport { useCallback } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { showModal, closeModal } from \"../redux/actions/Modals\";\nimport { IllegalArgumentException } from \"../exceptions\";\n\ntype ModalHook = (modalId: string) => {\n key: string | null,\n size: string | null,\n visible: boolean,\n show: () => void,\n close: () => void,\n};\n\n/**\n * Manage modals\n */\nexport const useModal: ModalHook = (modalId: string) => {\n if (!modalId) {\n throw new IllegalArgumentException(\n \"Missing modalId argument for useModal hook\"\n );\n }\n\n const dispatch = useDispatch();\n const modal = useSelector(({ modals }) =>\n modals.modals.find((m) => m.key === modalId)\n );\n\n const show = useCallback(() => {\n dispatch(showModal(modalId));\n }, [dispatch, modalId]);\n\n const close = useCallback(() => {\n dispatch(closeModal(modalId));\n }, [dispatch, modalId]);\n\n return {\n key: modal ? modal.key : null,\n size: modal ? modal.size : null,\n visible: modal ? modal.visible : false,\n show,\n close,\n };\n};\n"],"file":"useModal.js"}
@@ -32,7 +32,6 @@ export var useModularUI = function useModularUI(modelKey, url) {
32
32
  var prevHref = useRef(href); // dispatch loadModularUI
33
33
 
34
34
  useDeepCompareEffect(function () {
35
- // console.info({ new: options }, { old: prevOptions.current });
36
35
  // prevent reloads when previous option had the isReload, but the new options not
37
36
  var isOldReload = prevHref.current === href && prevOptions.current.isReload && !options.isReload;
38
37
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useModularUI.js"],"names":["useEffect","useRef","useDispatch","useSelector","HTTP_METHODS","loadModularUI","removeModelByKey","useDeepCompareEffect","useKeyForHook","modelKey","url","locale","state","i18n","split","useModularUI","options","method","GET","removeOnUnmount","dispatch","href","toString","key","prevOptions","prevHref","isOldReload","current","isReload","modularui"],"mappings":";AACA,SAASA,SAAT,EAAoBC,MAApB,QAAkC,OAAlC;AACA,SAASC,WAAT,EAAsBC,WAAtB,QAAyC,aAAzC;AAEA,SAASC,YAAT,QAA6B,cAA7B;AACA,SAASC,aAAT,EAAwBC,gBAAxB,QAAgD,6BAAhD;AAEA,OAAOC,oBAAP,MAAiC,wBAAjC;;AAKA;AACA;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,QAAD,EAAmBC,GAAnB,EAAmC;AAAA;;AACvD,MAAMC,MAAM,GAAGR,WAAW,CAAC,UAACS,KAAD;AAAA,WAAWA,KAAK,CAACC,IAAN,CAAWF,MAAtB;AAAA,GAAD,CAA1B;AAEA,0FAAUF,QAAV,wBAAsBC,GAAG,CAACI,KAAJ,CAAU,GAAV,EAAe,CAAf,CAAtB,wBAA4CH,MAA5C;AACD,CAJD;AAMA;AACA;AACA;;;AACA,OAAO,IAAMI,YAAY,GAAG,SAAfA,YAAe,CAC1BN,QAD0B,EAE1BC,GAF0B,EAOlB;AAAA,MAJRM,OAIQ,uEAJsB;AAC5BC,IAAAA,MAAM,EAAEb,YAAY,CAACc,GADO;AAE5BC,IAAAA,eAAe,EAAE;AAFW,GAItB;AACR,MAAMC,QAAQ,GAAGlB,WAAW,EAA5B;AACA,MAAMmB,IAAI,GAAGX,GAAG,CAACY,QAAJ,EAAb;AACA,MAAMC,GAAG,GAAGf,aAAa,CAACC,QAAD,EAAWY,IAAX,CAAzB;AAEA,MAAMG,WAAW,GAAGvB,MAAM,CAACe,OAAD,CAA1B;AACA,MAAMS,QAAQ,GAAGxB,MAAM,CAACoB,IAAD,CAAvB,CANQ,CAQR;;AACAd,EAAAA,oBAAoB,CAAC,YAAM;AACzB;AAEA;AACA,QAAMmB,WAAW,GACfD,QAAQ,CAACE,OAAT,KAAqBN,IAArB,IACAG,WAAW,CAACG,OAAZ,CAAoBC,QADpB,IAEA,CAACZ,OAAO,CAACY,QAHX;;AAKA,QAAI,CAACF,WAAL,EAAkB;AAChBN,MAAAA,QAAQ,CAACf,aAAa,CAACkB,GAAD,EAAMF,IAAN,EAAYL,OAAZ,CAAd,CAAR;AACD;;AAEDQ,IAAAA,WAAW,CAACG,OAAZ,GAAsBX,OAAtB;AACAS,IAAAA,QAAQ,CAACE,OAAT,GAAmBN,IAAnB;AACD,GAfmB,EAejB,CAACE,GAAD,EAAMF,IAAN,EAAYL,OAAZ,CAfiB,CAApB;AAiBA,8BAAoCA,OAApC,CAAQG,eAAR;AAAA,MAAQA,eAAR,sCAA0B,KAA1B;AACAnB,EAAAA,SAAS,CAAC,YAAM;AACd,WAAO,YAAM;AACX,UAAImB,eAAJ,EAAqB;AACnBC,QAAAA,QAAQ,CAACd,gBAAgB,CAACiB,GAAD,CAAjB,CAAR;AACD;AACF,KAJD;AAKD,GANQ,EAMN,CAACH,QAAD,EAAWG,GAAX,EAAgBJ,eAAhB,CANM,CAAT,CA3BQ,CAmCR;;AACA,SAAOhB,WAAW,CAAC,UAACS,KAAD,EAAW;AAC5B,WAAOA,KAAK,CAACiB,SAAN,CAAgBN,GAAhB,CAAP;AACD,GAFiB,CAAlB;AAGD,CA9CM","sourcesContent":["// @flow\nimport { useEffect, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { HTTP_METHODS } from \"../constants\";\nimport { loadModularUI, removeModelByKey } from \"../redux/_modularui/actions\";\n\nimport useDeepCompareEffect from \"./useDeepCompareEffect\";\n\nimport type Href from \"../models/href/Href\";\nimport type { RequestBaseOptions } from \"../utils\";\n\n/**\n */\nconst useKeyForHook = (modelKey: string, url: string) => {\n const locale = useSelector((state) => state.i18n.locale);\n\n return `${modelKey}(${url.split(\"?\")[0]})(${locale})`;\n};\n\n/**\n * Use redux action and selector to retrieve the correct modular ui service model\n */\nexport const useModularUI = (\n modelKey: string,\n url: string | Href,\n options: RequestBaseOptions = {\n method: HTTP_METHODS.GET,\n removeOnUnmount: false,\n }\n): any => {\n const dispatch = useDispatch();\n const href = url.toString();\n const key = useKeyForHook(modelKey, href);\n\n const prevOptions = useRef(options);\n const prevHref = useRef(href);\n\n // dispatch loadModularUI\n useDeepCompareEffect(() => {\n // console.info({ new: options }, { old: prevOptions.current });\n\n // prevent reloads when previous option had the isReload, but the new options not\n const isOldReload =\n prevHref.current === href &&\n prevOptions.current.isReload &&\n !options.isReload;\n\n if (!isOldReload) {\n dispatch(loadModularUI(key, href, options));\n }\n\n prevOptions.current = options;\n prevHref.current = href;\n }, [key, href, options]);\n\n const { removeOnUnmount = false } = options;\n useEffect(() => {\n return () => {\n if (removeOnUnmount) {\n dispatch(removeModelByKey(key));\n }\n };\n }, [dispatch, key, removeOnUnmount]);\n\n // retrieve current model from modularui reducer\n return useSelector((state) => {\n return state.modularui[key];\n });\n};\n"],"file":"useModularUI.js"}
1
+ {"version":3,"sources":["../../src/hooks/useModularUI.js"],"names":["useEffect","useRef","useDispatch","useSelector","HTTP_METHODS","loadModularUI","removeModelByKey","useDeepCompareEffect","useKeyForHook","modelKey","url","locale","state","i18n","split","useModularUI","options","method","GET","removeOnUnmount","dispatch","href","toString","key","prevOptions","prevHref","isOldReload","current","isReload","modularui"],"mappings":";AACA,SAASA,SAAT,EAAoBC,MAApB,QAAkC,OAAlC;AACA,SAASC,WAAT,EAAsBC,WAAtB,QAAyC,aAAzC;AAEA,SAASC,YAAT,QAA6B,cAA7B;AACA,SAASC,aAAT,EAAwBC,gBAAxB,QAAgD,6BAAhD;AAEA,OAAOC,oBAAP,MAAiC,wBAAjC;;AAKA;AACA;AACA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,QAAD,EAAmBC,GAAnB,EAAmC;AAAA;;AACvD,MAAMC,MAAM,GAAGR,WAAW,CAAC,UAACS,KAAD;AAAA,WAAWA,KAAK,CAACC,IAAN,CAAWF,MAAtB;AAAA,GAAD,CAA1B;AAEA,0FAAUF,QAAV,wBAAsBC,GAAG,CAACI,KAAJ,CAAU,GAAV,EAAe,CAAf,CAAtB,wBAA4CH,MAA5C;AACD,CAJD;AAMA;AACA;AACA;;;AACA,OAAO,IAAMI,YAAY,GAAG,SAAfA,YAAe,CAC1BN,QAD0B,EAE1BC,GAF0B,EAOlB;AAAA,MAJRM,OAIQ,uEAJsB;AAC5BC,IAAAA,MAAM,EAAEb,YAAY,CAACc,GADO;AAE5BC,IAAAA,eAAe,EAAE;AAFW,GAItB;AACR,MAAMC,QAAQ,GAAGlB,WAAW,EAA5B;AACA,MAAMmB,IAAI,GAAGX,GAAG,CAACY,QAAJ,EAAb;AACA,MAAMC,GAAG,GAAGf,aAAa,CAACC,QAAD,EAAWY,IAAX,CAAzB;AAEA,MAAMG,WAAW,GAAGvB,MAAM,CAACe,OAAD,CAA1B;AACA,MAAMS,QAAQ,GAAGxB,MAAM,CAACoB,IAAD,CAAvB,CANQ,CAQR;;AACAd,EAAAA,oBAAoB,CAAC,YAAM;AACzB;AACA,QAAMmB,WAAW,GACfD,QAAQ,CAACE,OAAT,KAAqBN,IAArB,IACAG,WAAW,CAACG,OAAZ,CAAoBC,QADpB,IAEA,CAACZ,OAAO,CAACY,QAHX;;AAKA,QAAI,CAACF,WAAL,EAAkB;AAChBN,MAAAA,QAAQ,CAACf,aAAa,CAACkB,GAAD,EAAMF,IAAN,EAAYL,OAAZ,CAAd,CAAR;AACD;;AAEDQ,IAAAA,WAAW,CAACG,OAAZ,GAAsBX,OAAtB;AACAS,IAAAA,QAAQ,CAACE,OAAT,GAAmBN,IAAnB;AACD,GAbmB,EAajB,CAACE,GAAD,EAAMF,IAAN,EAAYL,OAAZ,CAbiB,CAApB;AAeA,8BAAoCA,OAApC,CAAQG,eAAR;AAAA,MAAQA,eAAR,sCAA0B,KAA1B;AACAnB,EAAAA,SAAS,CAAC,YAAM;AACd,WAAO,YAAM;AACX,UAAImB,eAAJ,EAAqB;AACnBC,QAAAA,QAAQ,CAACd,gBAAgB,CAACiB,GAAD,CAAjB,CAAR;AACD;AACF,KAJD;AAKD,GANQ,EAMN,CAACH,QAAD,EAAWG,GAAX,EAAgBJ,eAAhB,CANM,CAAT,CAzBQ,CAiCR;;AACA,SAAOhB,WAAW,CAAC,UAACS,KAAD,EAAW;AAC5B,WAAOA,KAAK,CAACiB,SAAN,CAAgBN,GAAhB,CAAP;AACD,GAFiB,CAAlB;AAGD,CA5CM","sourcesContent":["// @flow\nimport { useEffect, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { HTTP_METHODS } from \"../constants\";\nimport { loadModularUI, removeModelByKey } from \"../redux/_modularui/actions\";\n\nimport useDeepCompareEffect from \"./useDeepCompareEffect\";\n\nimport type Href from \"../models/href/Href\";\nimport type { RequestBaseOptions } from \"../utils\";\n\n/**\n */\nconst useKeyForHook = (modelKey: string, url: string) => {\n const locale = useSelector((state) => state.i18n.locale);\n\n return `${modelKey}(${url.split(\"?\")[0]})(${locale})`;\n};\n\n/**\n * Use redux action and selector to retrieve the correct modular ui service model\n */\nexport const useModularUI = (\n modelKey: string,\n url: string | Href,\n options: RequestBaseOptions = {\n method: HTTP_METHODS.GET,\n removeOnUnmount: false,\n }\n): any => {\n const dispatch = useDispatch();\n const href = url.toString();\n const key = useKeyForHook(modelKey, href);\n\n const prevOptions = useRef(options);\n const prevHref = useRef(href);\n\n // dispatch loadModularUI\n useDeepCompareEffect(() => {\n // prevent reloads when previous option had the isReload, but the new options not\n const isOldReload =\n prevHref.current === href &&\n prevOptions.current.isReload &&\n !options.isReload;\n\n if (!isOldReload) {\n dispatch(loadModularUI(key, href, options));\n }\n\n prevOptions.current = options;\n prevHref.current = href;\n }, [key, href, options]);\n\n const { removeOnUnmount = false } = options;\n useEffect(() => {\n return () => {\n if (removeOnUnmount) {\n dispatch(removeModelByKey(key));\n }\n };\n }, [dispatch, key, removeOnUnmount]);\n\n // retrieve current model from modularui reducer\n return useSelector((state) => {\n return state.modularui[key];\n });\n};\n"],"file":"useModularUI.js"}
@@ -22,6 +22,7 @@ import DatetimeFormatConstraint from "./input-constraints/DatetimeFormatConstrai
22
22
  import DateBoundaryConstraint from "./input-constraints/DateBoundaryConstraint";
23
23
  import { ATTRIBUTE_WIDTH, ISO_DATE_FORMAT } from "../../constants";
24
24
  import { getSetting } from "../../constants/Settings";
25
+ import { IGNORE_FORMAT_SETTING } from "../../constants/LayoutHints";
25
26
  // date format of default
26
27
  var PRODUCT_DEFAULT_DATE_FORMAT = "dd-MM-yyyy";
27
28
  /**
@@ -278,10 +279,14 @@ var DatetimeAttributeModel = /*#__PURE__*/function (_StringAttributeModel) {
278
279
  } // setting for date input
279
280
 
280
281
 
281
- var dateInputFormatSetting = getSetting("DATE_INPUT_FORMAT", "");
282
+ var ignoreFormatSetting = this.layouthint.has(IGNORE_FORMAT_SETTING);
282
283
 
283
- if (dateInputFormatSetting) {
284
- return dateInputFormatSetting;
284
+ if (!ignoreFormatSetting) {
285
+ var dateInputFormatSetting = getSetting("DATE_INPUT_FORMAT", "");
286
+
287
+ if (dateInputFormatSetting) {
288
+ return dateInputFormatSetting;
289
+ }
285
290
  }
286
291
 
287
292
  var format = this.format;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/models/attributes/DatetimeAttributeModel.js"],"names":["has","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil","StringAttributeModel","ConstraintCollection","DateTimeDateFormatConstraint","DateTimeTimeFormatConstraint","DatetimeFormatConstraint","DateBoundaryConstraint","ATTRIBUTE_WIDTH","ISO_DATE_FORMAT","getSetting","PRODUCT_DEFAULT_DATE_FORMAT","DatetimeAttributeModel","attribute","attributeContributions","updateInitValue","type","value","data","length","split","hasTime","getTimeValue","timeValue","timeInputFormat","toLowerCase","formatUtil","setHour","setMinute","setSecond","setMilliseconds","getInitValue","_initvalue","_inputvalue","getInitialInputValue","_value","initValue","toFormat","inputFormat","getContribution","toString","getInputValue","validate","toISO","format","convertFormat","dateInputFormat","hasDate","dateInputFormatSetting","dateFormat","replace","readonlyFormatSetting","_placeholder","formatLabel","placeholder","timeFormatParts","push","timeFormat","join","hasFormat","dateReadonlyFormat","dateTimeReadonlyFormat","timeReadonlyFormat","formatValue","error","id","message","properties","_errorCollection","addServerError","constraints","add","getFormatConstraint","mindate","maxdate","SMALL","MEDIUM","contributions"],"mappings":";;;;;;;;;;;;;;AACA,SAASA,GAAT,QAAoB,6BAApB;AAEA,SACEC,QADF,EAEEC,YAFF,EAGEC,QAHF,EAIEC,aAJF,QAKO,mCALP;AAOA,OAAOC,oBAAP,MAAiC,wBAAjC;AAEA,OAAOC,oBAAP,MAAiC,0CAAjC;AACA,OAAOC,4BAAP,MAAyC,kDAAzC;AACA,OAAOC,4BAAP,MAAyC,kDAAzC;AACA,OAAOC,wBAAP,MAAqC,8CAArC;AACA,OAAOC,sBAAP,MAAmC,4CAAnC;AAEA,SAASC,eAAT,EAA0BC,eAA1B,QAAiD,iBAAjD;AACA,SAASC,UAAT,QAA2B,0BAA3B;AAIA;AACA,IAAMC,2BAA2B,GAAG,YAApC;AAEA;AACA;;IACMC,sB;;;;;AACJ;AACF;AACE,kCAAYC,SAAZ,EAA+BC,sBAA/B,EAA+D;AAAA;;AAAA;;AAC7D,8BAAMD,SAAN,EAAiBC,sBAAjB;;AAEA,UAAKC,eAAL;;AAH6D;AAI9D;AAED;AACF;;;;;;AAOE;AACF;AACE,mBAIoB;AAClB,cAAQ,KAAKC,IAAb;AACE,aAAK,MAAL;AACE,iBAAOhB,QAAP;;AACF,aAAK,WAAL;AACE,iBAAOC,aAAP;;AACF,aAAK,UAAL;AACE,iBAAOF,YAAP;;AACF;AACE,iBAAOD,QAAP;AARJ;AAUD;AAED;AACF;;;;WACE,wBAA8B;AAC5B,UAAImB,KAAK,GAAG,KAAKC,IAAL,CAAUD,KAAtB;;AACA,UAAIA,KAAK,IAAI,IAAb,EAAmB;AACjB,YAAI,KAAKD,IAAL,KAAc,MAAd,IAAwBC,KAAK,CAACE,MAAN,KAAiB,CAA7C,EAAgD;AAC9CF,UAAAA,KAAK,aAAMA,KAAN,QAAL;AACD,SAHgB,CAKjB;;;AACA,YAAI,KAAKD,IAAL,KAAc,UAAd,IAA4B,0BAAAC,KAAK,MAAL,CAAAA,KAAK,EAAU,GAAV,CAArC,EAAqD;AACnDA,UAAAA,KAAK,GAAGA,KAAK,CAACG,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAR;AACD;;AAED,YAAI,KAAKC,OAAT,EAAkB;AAChBJ,UAAAA,KAAK,GAAG,KAAKK,YAAL,CAAkBL,KAAlB,CAAR;AACD;AACF;;AAED,aAAOA,KAAP;AACD;AAED;AACF;;;;WACE,sBAAaA,KAAb,EAAoC;AAAA;;AAClC,UAAIM,SAAS,GAAGN,KAAhB;;AACA,UAAI,CAAC,0CAAKO,eAAL,CAAqBC,WAArB,mBAA4C,GAA5C,CAAL,EAAuD;AACrDF,QAAAA,SAAS,GAAG,KAAKG,UAAL,CAAgBC,OAAhB,CAAwBV,KAAxB,EAA+B,CAA/B,CAAZ;AACD;;AACD,UAAI,CAAC,2CAAKO,eAAL,kBAA8B,GAA9B,CAAL,EAAyC;AACvCD,QAAAA,SAAS,GAAG,KAAKG,UAAL,CAAgBE,SAAhB,CAA0BX,KAA1B,EAAiC,CAAjC,CAAZ;AACD;;AACD,UAAI,CAAC,2CAAKO,eAAL,kBAA8B,GAA9B,CAAL,EAAyC;AACvCD,QAAAA,SAAS,GAAG,KAAKG,UAAL,CAAgBG,SAAhB,CAA0BZ,KAA1B,EAAiC,CAAjC,CAAZ;AACD;;AACD,UAAI,KAAKD,IAAL,KAAc,WAAd,IAA6B,CAAC,2CAAKQ,eAAL,kBAA8B,GAA9B,CAAlC,EAAsE;AACpED,QAAAA,SAAS,GAAG,KAAKG,UAAL,CAAgBI,eAAhB,CAAgCb,KAAhC,EAAuC,CAAvC,CAAZ;AACD;;AACD,aAAOM,SAAP;AACD;AAED;AACF;AACA;;;;WACE,2BAAkB;AAChB,UAAMN,KAAK,GAAG,KAAKc,YAAL,EAAd;;AACA,UAAId,KAAK,IAAI,IAAb,EAAmB;AACjB,aAAKe,UAAL,GAAkBf,KAAlB;AACA,aAAKgB,WAAL,GAAmB,KAAKC,oBAAL,CAA0BjB,KAA1B,CAAnB;AACA,aAAKkB,MAAL,GAAclB,KAAd;AACD;AACF;AAED;AACF;AACA;;;;WACE,8BAAqBA,KAArB,EAA6C;AAC3C,UAAI,CAACA,KAAL,EAAY;AACV,eAAO,EAAP;AACD;;AAED,UAAImB,SAAS,GAAGnB,KAAhB;;AACA,UAAI,KAAKD,IAAL,KAAc,MAAd,IAAwBC,KAAK,CAACE,MAAN,KAAiB,CAA7C,EAAgD;AAC9CiB,QAAAA,SAAS,aAAMnB,KAAN,QAAT;AACD;;AAED,aAAO,KAAKS,UAAL,CAAgBW,QAAhB,CAAyBD,SAAzB,EAAoC,KAAKE,WAAzC,CAAP;AACD;AAED;AACF;AACA;;;;SACE,eAAmB;AACjB,aAAO,KAAKC,eAAL,CAAqB,MAArB,EAA6B,MAA7B,CAAP;AACD;AAED;AACF;AACA;;;;WACE,yBAAwB;AACtB,aAAO,KAAKN,WAAL,GAAmB,KAAKA,WAAL,CAAiBO,QAAjB,EAAnB,GAAiD,EAAxD;AACD;AAED;AACF;AACA;;;;SACE,eAAyB;AACvB,aAAO,KAAKC,aAAL,EAAP;AACD;AAED;AACF;AACA;;SACE,aAAexB,KAAf,EAA8B;AAC5B,WAAKyB,QAAL,CAAczB,KAAd;AAEA,WAAKgB,WAAL,GAAmBhB,KAAnB;AAEA,WAAKA,KAAL,GACEA,KAAK,KAAK,IAAV,IAAkBA,KAAK,KAAK,EAA5B,GACI,KAAKS,UAAL,CAAgBiB,KAAhB,CAAsB1B,KAAtB,EAA6B,KAAKqB,WAAlC,CADJ,GAEI,IAHN;AAID;AAED;AACF;AACA;;;;SACE,eAAqB;AACnB,UAAMM,MAAM,GAAG,KAAKL,eAAL,CAAqB,QAArB,EAA+B,EAA/B,CAAf;AACA,aAAO,KAAKb,UAAL,CAAgBmB,aAAhB,CAA8BD,MAA9B,CAAP;AACD;AAED;AACF;;;;SACE,eAAuB;AACrB,aAAO,KAAKL,eAAL,CAAqB,UAArB,EAAiC,EAAjC,CAAP;AACD;AAED;AACF;;;;SACE,eAAuB;AACrB,aACE,KAAKvB,IAAL,KAAc,MAAd,IACA,KAAKA,IAAL,KAAc,UADd,IAEA,KAAKA,IAAL,KAAc,WAHhB;AAKD;AAED;AACF;;;;SACE,eAAuB;AACrB,aACE,KAAKA,IAAL,KAAc,MAAd,IACA,KAAKA,IAAL,KAAc,UADd,IAEA,KAAKA,IAAL,KAAc,WAHhB;AAKD;AAED;AACF;;;;SACE,eAA0B;AACxB,cAAQ,KAAKA,IAAb;AACE,aAAK,MAAL;AACE,iBAAO,KAAK8B,eAAL,CAAqBrB,WAArB,EAAP;;AACF,aAAK,MAAL;AACE,iBAAO,KAAKD,eAAL,CAAqBC,WAArB,EAAP;;AACF;AACE,iBAAO,KAAKmB,MAAL,CAAYnB,WAAZ,EAAP;AANJ;AAQD;AAED;AACF;;;;SACE,eAA0B;AACxB,UAAI,KAAKsB,OAAL,IAAgB,KAAK1B,OAAzB,EAAkC;AAAA;;AAChC,eAAO,gFAAG,KAAKyB,eAAR,wBAA2B,KAAKtB,eAAhC,kBAAP;AACD;;AAED,UAAI,KAAKuB,OAAT,EAAkB;AAChB,eAAO,KAAKD,eAAZ;AACD;;AAED,UAAI,KAAKzB,OAAT,EAAkB;AAChB,eAAO,KAAKG,eAAZ;AACD;;AAED,aAAO,EAAP;AACD;AAED;AACF;;;;SACE,eAA8B;AAAA;;AAC5B,UAAI,CAAC,KAAKuB,OAAV,EAAmB;AACjB,eAAO,EAAP;AACD,OAH2B,CAK5B;;;AACA,UAAMC,sBAAsB,GAAGtC,UAAU,CAAC,mBAAD,EAAsB,EAAtB,CAAzC;;AAEA,UAAIsC,sBAAJ,EAA4B;AAC1B,eAAOA,sBAAP;AACD;;AAED,UAAIJ,MAAM,GAAG,KAAKA,MAAlB;AAEA,UAAIK,UAAU,GAAG,KAAK5B,OAAL,GACb,kCAAAuB,MAAM,CAACM,OAAP,CAAe,KAAK1B,eAApB,EAAqC,EAArC,kBADa,GAEboB,MAFJ;AAIA,aAAOK,UAAP;AACD;AAED;AACF;;;;SACE,eAAiC;AAAA;;AAC/B,UAAI,CAAC,KAAKF,OAAV,EAAmB;AACjB,eAAO,EAAP;AACD;;AAED,UAAIH,MAAM,GAAG,KAAKA,MAAlB;AAEA,UAAIK,UAAU,GAAG,KAAK5B,OAAL,GACb,kCAAAuB,MAAM,CAACM,OAAP,CAAe,KAAK1B,eAApB,EAAqC,EAArC,kBADa,GAEboB,MAFJ;AAIA,UAAMO,qBAAqB,GAAGzC,UAAU,CAAC,sBAAD,EAAyB,EAAzB,CAAxC;;AAEA,UAAIuC,UAAU,KAAKtC,2BAAf,IAA8CwC,qBAAlD,EAAyE;AACvEF,QAAAA,UAAU,GAAGE,qBAAb;AACD;;AAED,aAAOF,UAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA0B;AACxB,UAAI,KAAKG,YAAL,KAAsB,EAA1B,EAA8B;AAC5B,eAAO,KAAKA,YAAZ;AACD;;AAED,UAAMJ,sBAAsB,GAAGtC,UAAU,CAAC,mBAAD,EAAsB,EAAtB,CAAzC;;AAEA,UAAIsC,sBAAJ,EAA4B;AAC1B,eAAOA,sBAAsB,CAACvB,WAAvB,EAAP;AACD;;AAED,UAAM4B,WAAW,GAAG,KAAKd,eAAL,CAAqB,aAArB,EAAoC,EAApC,CAApB;;AAEA,UAAI,KAAKQ,OAAL,IAAgB,KAAK1B,OAArB,IAAgC,0BAAAgC,WAAW,MAAX,CAAAA,WAAW,EAAU,GAAV,CAA/C,EAA+D;AAC7D;AACA,eAAOA,WAAW,CAACjC,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,CAAP;AACD;;AAED,aAAOiC,WAAP;AACD;AAED;AACF;AACA;;SACE,aAAgBC,WAAhB,EAAqC;AACnC,WAAKF,YAAL,GAAoBE,WAApB;AACD;AAED;AACF;;;;SACE,eAA8B;AAC5B,UAAI,CAAC,KAAKjC,OAAV,EAAmB;AACjB,eAAO,EAAP;AACD;;AAED,UAAMuB,MAAM,GAAG,KAAKA,MAApB;AAEA,UAAIW,eAAe,GAAG,EAAtB;;AACA,UAAI,0BAAAX,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AACxBW,QAAAA,eAAe,CAACC,IAAhB,CAAqB,IAArB;AACD,OAFD,MAEO,IAAI,0BAAAZ,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AAC/BW,QAAAA,eAAe,CAACC,IAAhB,CAAqB,IAArB;AACD;;AACD,UAAI,0BAAAZ,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AACxBW,QAAAA,eAAe,CAACC,IAAhB,CAAqB,IAArB;AACD;;AACD,UAAI,0BAAAZ,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AACxBW,QAAAA,eAAe,CAACC,IAAhB,CAAqB,IAArB;AACD;;AAED,UAAIC,UAAU,GAAGF,eAAe,CAACG,IAAhB,CAAqB,GAArB,CAAjB;;AACA,UAAI,0BAAAd,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AACxBa,QAAAA,UAAU,aAAMA,UAAN,SAAV;AACD;;AACD,UAAI,0BAAAb,MAAM,MAAN,CAAAA,MAAM,EAAU,GAAV,CAAV,EAA0B;AACxB,yBAAUa,UAAV;AACD;;AACD,aAAOA,UAAP;AACD;AAED;AACF;;;;SACE,eAAiC;AAC/B,UAAI,CAAC,KAAKpC,OAAV,EAAmB;AACjB,eAAO,EAAP;AACD;;AAED,aAAO,KAAKG,eAAZ;AACD;AAED;AACF;;;;SACE,eAA6B;AAC3B,aAAO,OAAO,KAAKP,KAAZ,KAAsB,QAAtB,IAAkC,KAAK6B,eAAL,KAAyB,EAA3D,GACH,KAAKpB,UAAL,CAAgBW,QAAhB,CAAyB,KAAKpB,KAA9B,EAAqC,KAAK6B,eAA1C,CADG,GAEH,EAFJ;AAGD;AAED;AACF;;;;SACE,eAA6B;AAC3B,aAAO,OAAO,KAAK7B,KAAZ,KAAsB,QAAtB,IAAkC,KAAKO,eAAL,KAAyB,EAA3D,GACH,KAAKE,UAAL,CAAgBW,QAAhB,CAAyB,KAAKpB,KAA9B,EAAqC,KAAKO,eAA1C,CADG,GAEH,EAFJ;AAGD,K,CAED;;AACA;AACF;;;;WACE,qBAAYP,KAAZ,EAAoC;AAClC,UAAIA,KAAK,IAAI,IAAT,IAAiBA,KAAK,CAACuB,QAAN,OAAqB,EAA1C,EAA8C;AAC5C,eAAO,EAAP;AACD,OAHiC,CAKlC;;;AACA,UACE,CAAC,KAAKxB,IAAL,KAAc,UAAd,IAA4B,KAAKA,IAAL,KAAc,WAA3C,KACAlB,QAAQ,CAAC6D,SAAT,CAAmB1C,KAAnB,EAA0BR,eAA1B,CAFF,EAGE;AACA,eAAOX,QAAQ,CAACuC,QAAT,CAAkBpB,KAAlB,EAAyB,KAAK2C,kBAA9B,CAAP;AACD;;AAED,UAAI,KAAKb,OAAL,IAAgB,KAAK1B,OAAzB,EAAkC;AAAA;;AAChC,YAAMwC,sBAAsB,iDAAM,KAAKD,kBAAX,wBAAiC,KAAKE,kBAAtC,CAA5B;;AACA,eAAO,KAAKpC,UAAL,CAAgBW,QAAhB,CAAyBpB,KAAzB,EAAgC4C,sBAAhC,CAAP;AACD;;AAED,UAAI,KAAK7C,IAAL,KAAc,MAAlB,EAA0B;AACxB,eAAO,KAAKU,UAAL,CAAgBW,QAAhB,CAAyBpB,KAAzB,EAAgC,KAAK2C,kBAArC,CAAP;AACD;;AAED,aAAO,KAAKlC,UAAL,CAAgBW,QAAhB,CAAyBpB,KAAzB,EAAgC,KAAK2B,MAArC,CAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA4B;AAC1B,UAAI,OAAO,KAAK3B,KAAZ,KAAsB,QAA1B,EAAoC;AAClC,eAAO,KAAK8C,WAAL,CAAiB,KAAK9C,KAAL,CAAWuB,QAAX,EAAjB,CAAP;AACD;;AAED,aAAO,EAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA6B;AAC3B,aAAO,KAAKD,eAAL,CAAqB,SAArB,CAAP;AACD;AAED;AACF;AACA;;;;SACE,eAA6B;AAC3B,aAAO,KAAKA,eAAL,CAAqB,SAArB,CAAP;AACD;AAED;AACF;AACA;;;;WACE,wBAAeyB,KAAf,EAAuC;AACrC,UAAQC,EAAR,GAAoCD,KAApC,CAAQC,EAAR;AAAA,UAAYC,OAAZ,GAAoCF,KAApC,CAAYE,OAAZ;AAAA,UAAqBC,UAArB,GAAoCH,KAApC,CAAqBG,UAArB;;AACA,UAAIA,UAAU,IAAItE,GAAG,CAACsE,UAAD,EAAa,QAAb,CAAjB,IAA2C,KAAKd,WAApD,EAAiE;AAC/Dc,QAAAA,UAAU,CAACvB,MAAX,GAAoB,KAAKS,WAAzB;AACD;;AAED,WAAKe,gBAAL,CAAsBC,cAAtB,CAAqCJ,EAArC,EAAyCC,OAAzC,EAAkDC,UAAlD;AACD;AAED;AACF;;;;WACE,+BAAwC;AACtC,cAAQ,KAAKnD,IAAb;AACE,aAAK,MAAL;AACE,iBAAO,IAAIZ,4BAAJ,CACL,KAAK0C,eADA,EAEL,KAAKO,WAFA,CAAP;;AAIF,aAAK,MAAL;AACE,iBAAO,IAAIhD,4BAAJ,CACL,KAAKmB,eADA,EAEL,KAAK6B,WAFA,CAAP;;AAIF;AACE,iBAAO,IAAI/C,wBAAJ,CACL,KAAKU,IADA,EAEL,KAAKsB,WAFA,EAGL,KAAKe,WAHA,CAAP;AAZJ;AAkBD;AAED;AACF;AACA;;;;WACE,0BAAuC;AACrC,UAAMiB,WAAW,GAAG,IAAInE,oBAAJ,EAApB;AAEAmE,MAAAA,WAAW,CAACC,GAAZ,CAAgB,KAAKC,mBAAL,EAAhB;;AAEA,UAAI,KAAKC,OAAL,IAAgB,KAAKC,OAAzB,EAAkC;AAChCJ,QAAAA,WAAW,CAACC,GAAZ,CACE,IAAIhE,sBAAJ,CACE,KAAKS,IADP,EAEE,KAAKyD,OAFP,EAGE,KAAKC,OAHP,EAIE,KAAKpC,WAJP,CADF;AAQD;;AAED,aAAOgC,WAAP;AACD;AAED;AACF;;;;SACE,eAAmD;AACjD,UAAI,KAAKtD,IAAL,KAAc,MAAd,IAAwB,KAAKA,IAAL,KAAc,MAA1C,EAAkD;AAChD,eAAOR,eAAe,CAACmE,KAAvB;AACD;;AAED,aAAOnE,eAAe,CAACoE,MAAvB;AACD;;;WA9bD,2BAAyBC,aAAzB,EAAyD;AAAA;;AACvD,aAAO,wCAAC,MAAD,EAAS,MAAT,EAAiB,UAAjB,EAA6B,WAA7B,oBACLA,aAAa,CAAC7D,IADT,CAAP;AAGD;;;;EAfkCd,oB;;AA4crC,eAAeU,sBAAf","sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport {\n DateUtil,\n DateTimeUtil,\n TimeUtil,\n TimestampUtil,\n} from \"../../utils/datetime/DateTimeUtil\";\n\nimport StringAttributeModel from \"./StringAttributeModel\";\n\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport DateTimeDateFormatConstraint from \"./input-constraints/DateTimeDateFormatConstraint\";\nimport DateTimeTimeFormatConstraint from \"./input-constraints/DateTimeTimeFormatConstraint\";\nimport DatetimeFormatConstraint from \"./input-constraints/DatetimeFormatConstraint\";\nimport DateBoundaryConstraint from \"./input-constraints/DateBoundaryConstraint\";\n\nimport { ATTRIBUTE_WIDTH, ISO_DATE_FORMAT } from \"../../constants\";\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { FormErrorAnchor, IConstraintModel } from \"../types\";\n\n// date format of default\nconst PRODUCT_DEFAULT_DATE_FORMAT = \"dd-MM-yyyy\";\n\n/**\n */\nclass DatetimeAttributeModel extends StringAttributeModel {\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this.updateInitValue();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return [\"date\", \"time\", \"datetime\", \"timestamp\"].includes(\n contributions.type\n );\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n getInitValue(): string | null {\n let value = this.data.value;\n if (value != null) {\n if (this.type === \"time\" && value.length === 5) {\n value = `${value}:00`;\n }\n\n // handle old datetime values, which contained ms\n if (this.type === \"datetime\" && value.includes(\".\")) {\n value = value.split(\".\")[0];\n }\n\n if (this.hasTime) {\n value = this.getTimeValue(value);\n }\n }\n\n return value;\n }\n\n /**\n */\n getTimeValue(value: string): string {\n let timeValue = value;\n if (!this.timeInputFormat.toLowerCase().includes(\"h\")) {\n timeValue = this.formatUtil.setHour(value, 0);\n }\n if (!this.timeInputFormat.includes(\"m\")) {\n timeValue = this.formatUtil.setMinute(value, 0);\n }\n if (!this.timeInputFormat.includes(\"s\")) {\n timeValue = this.formatUtil.setSecond(value, 0);\n }\n if (this.type === \"timestamp\" && !this.timeInputFormat.includes(\"S\")) {\n timeValue = this.formatUtil.setMilliseconds(value, 0);\n }\n return timeValue;\n }\n\n /**\n * Set time in the correct value based on available elements in the time format\n */\n updateInitValue() {\n const value = this.getInitValue();\n if (value != null) {\n this._initvalue = value;\n this._inputvalue = this.getInitialInputValue(value);\n this._value = value;\n }\n }\n\n /**\n * Get initial user input value\n */\n getInitialInputValue(value?: string): string {\n if (!value) {\n return \"\";\n }\n\n let initValue = value;\n if (this.type === \"time\" && value.length === 5) {\n initValue = `${value}:00`;\n }\n\n return this.formatUtil.toFormat(initValue, this.inputFormat);\n }\n\n /**\n * Set type to date\n */\n get type(): string {\n return this.getContribution(\"type\", \"date\");\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n getInputValue(): string {\n return this._inputvalue ? this._inputvalue.toString() : \"\";\n }\n\n /**\n * Get input value\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this.validate(value);\n\n this._inputvalue = value;\n\n this.value =\n value !== null && value !== \"\"\n ? this.formatUtil.toISO(value, this.inputFormat)\n : null;\n }\n\n /**\n * Get date format\n */\n get format(): string {\n const format = this.getContribution(\"format\", \"\");\n return this.formatUtil.convertFormat(format);\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n get hasDate(): boolean {\n return (\n this.type === \"date\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get hasTime(): boolean {\n return (\n this.type === \"time\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get formatLabel(): string {\n switch (this.type) {\n case \"date\":\n return this.dateInputFormat.toLowerCase();\n case \"time\":\n return this.timeInputFormat.toLowerCase();\n default:\n return this.format.toLowerCase();\n }\n }\n\n /**\n */\n get inputFormat(): string {\n if (this.hasDate && this.hasTime) {\n return `${this.dateInputFormat} ${this.timeInputFormat}`.trim();\n }\n\n if (this.hasDate) {\n return this.dateInputFormat;\n }\n\n if (this.hasTime) {\n return this.timeInputFormat;\n }\n\n return \"\";\n }\n\n /**\n */\n get dateInputFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n // setting for date input\n const dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n\n if (dateInputFormatSetting) {\n return dateInputFormatSetting;\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n return dateFormat;\n }\n\n /**\n */\n get dateReadonlyFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n const readonlyFormatSetting = getSetting(\"DATE_READONLY_FORMAT\", \"\");\n\n if (dateFormat === PRODUCT_DEFAULT_DATE_FORMAT && readonlyFormatSetting) {\n dateFormat = readonlyFormatSetting;\n }\n\n return dateFormat;\n }\n\n /**\n * return attribute placeholder or, if DATE_INPUT_FORMAT setting is used, lowercased setting, otherwise return formatlabel without time input format from contributions\n */\n get placeholder(): string {\n if (this._placeholder !== \"\") {\n return this._placeholder;\n }\n\n const dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n\n if (dateInputFormatSetting) {\n return dateInputFormatSetting.toLowerCase();\n }\n\n const formatLabel = this.getContribution(\"formatlabel\", \"\");\n\n if (this.hasDate && this.hasTime && formatLabel.includes(\" \")) {\n // return first part of formatlabel to keep placeholder matching date input\n return formatLabel.split(\" \")[0];\n }\n\n return formatLabel;\n }\n\n /**\n * Set placeholder text\n */\n set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n\n /**\n */\n get timeInputFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n const format = this.format;\n\n let timeFormatParts = [];\n if (format.includes(\"H\")) {\n timeFormatParts.push(\"HH\");\n } else if (format.includes(\"h\")) {\n timeFormatParts.push(\"hh\");\n }\n if (format.includes(\"m\")) {\n timeFormatParts.push(\"mm\");\n }\n if (format.includes(\"s\")) {\n timeFormatParts.push(\"ss\");\n }\n\n let timeFormat = timeFormatParts.join(\":\");\n if (format.includes(\"S\")) {\n timeFormat = `${timeFormat}.SSS`;\n }\n if (format.includes(\"a\")) {\n return `${timeFormat} a`;\n }\n return timeFormat;\n }\n\n /**\n */\n get timeReadonlyFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n return this.timeInputFormat;\n }\n\n /**\n */\n get dateInputValue(): string {\n return typeof this.value === \"string\" && this.dateInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.dateInputFormat)\n : \"\";\n }\n\n /**\n */\n get timeInputValue(): string {\n return typeof this.value === \"string\" && this.timeInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.timeInputFormat)\n : \"\";\n }\n\n // format value in readonly rendering\n /**\n */\n formatValue(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n // when the value is exactly an iso date, render as date\n if (\n (this.type === \"datetime\" || this.type === \"timestamp\") &&\n DateUtil.hasFormat(value, ISO_DATE_FORMAT)\n ) {\n return DateUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n if (this.hasDate && this.hasTime) {\n const dateTimeReadonlyFormat = `${this.dateReadonlyFormat} ${this.timeReadonlyFormat}`;\n return this.formatUtil.toFormat(value, dateTimeReadonlyFormat);\n }\n\n if (this.type === \"date\") {\n return this.formatUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n return this.formatUtil.toFormat(value, this.format);\n }\n\n /**\n * Retrieve readonly value, the date in the configurated format\n */\n get readonlyvalue(): string {\n if (typeof this.value === \"string\") {\n return this.formatValue(this.value.toString());\n }\n\n return \"\";\n }\n\n /**\n * Get minimum date\n */\n get mindate(): string | null {\n return this.getContribution(\"mindate\");\n }\n\n /**\n * Get maximum date\n */\n get maxdate(): string | null {\n return this.getContribution(\"maxdate\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties } = error;\n if (properties && has(properties, \"format\") && this.formatLabel) {\n properties.format = this.formatLabel;\n }\n\n this._errorCollection.addServerError(id, message, properties);\n }\n\n /**\n */\n getFormatConstraint(): IConstraintModel {\n switch (this.type) {\n case \"date\":\n return new DateTimeDateFormatConstraint(\n this.dateInputFormat,\n this.formatLabel\n );\n case \"time\":\n return new DateTimeTimeFormatConstraint(\n this.timeInputFormat,\n this.formatLabel\n );\n default:\n return new DatetimeFormatConstraint(\n this.type,\n this.inputFormat,\n this.formatLabel\n );\n }\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this.getFormatConstraint());\n\n if (this.mindate || this.maxdate) {\n constraints.add(\n new DateBoundaryConstraint(\n this.type,\n this.mindate,\n this.maxdate,\n this.inputFormat\n )\n );\n }\n\n return constraints;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"date\" || this.type === \"time\") {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n\nexport default DatetimeAttributeModel;\n"],"file":"DatetimeAttributeModel.js"}
1
+ {"version":3,"sources":["../../../src/models/attributes/DatetimeAttributeModel.js"],"names":["has","DateUtil","DateTimeUtil","TimeUtil","TimestampUtil","StringAttributeModel","ConstraintCollection","DateTimeDateFormatConstraint","DateTimeTimeFormatConstraint","DatetimeFormatConstraint","DateBoundaryConstraint","ATTRIBUTE_WIDTH","ISO_DATE_FORMAT","getSetting","IGNORE_FORMAT_SETTING","PRODUCT_DEFAULT_DATE_FORMAT","DatetimeAttributeModel","attribute","attributeContributions","updateInitValue","type","value","data","length","split","hasTime","getTimeValue","timeValue","timeInputFormat","toLowerCase","formatUtil","setHour","setMinute","setSecond","setMilliseconds","getInitValue","_initvalue","_inputvalue","getInitialInputValue","_value","initValue","toFormat","inputFormat","getContribution","toString","getInputValue","validate","toISO","format","convertFormat","dateInputFormat","hasDate","ignoreFormatSetting","layouthint","dateInputFormatSetting","dateFormat","replace","readonlyFormatSetting","_placeholder","formatLabel","placeholder","timeFormatParts","push","timeFormat","join","hasFormat","dateReadonlyFormat","dateTimeReadonlyFormat","timeReadonlyFormat","formatValue","error","id","message","properties","_errorCollection","addServerError","constraints","add","getFormatConstraint","mindate","maxdate","SMALL","MEDIUM","contributions"],"mappings":"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","sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport {\n DateUtil,\n DateTimeUtil,\n TimeUtil,\n TimestampUtil,\n} from \"../../utils/datetime/DateTimeUtil\";\n\nimport StringAttributeModel from \"./StringAttributeModel\";\n\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\nimport DateTimeDateFormatConstraint from \"./input-constraints/DateTimeDateFormatConstraint\";\nimport DateTimeTimeFormatConstraint from \"./input-constraints/DateTimeTimeFormatConstraint\";\nimport DatetimeFormatConstraint from \"./input-constraints/DatetimeFormatConstraint\";\nimport DateBoundaryConstraint from \"./input-constraints/DateBoundaryConstraint\";\n\nimport { ATTRIBUTE_WIDTH, ISO_DATE_FORMAT } from \"../../constants\";\nimport { getSetting } from \"../../constants/Settings\";\nimport { IGNORE_FORMAT_SETTING } from \"../../constants/LayoutHints\";\n\nimport type { FormErrorAnchor, IConstraintModel } from \"../types\";\n\n// date format of default\nconst PRODUCT_DEFAULT_DATE_FORMAT = \"dd-MM-yyyy\";\n\n/**\n */\nclass DatetimeAttributeModel extends StringAttributeModel {\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this.updateInitValue();\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return [\"date\", \"time\", \"datetime\", \"timestamp\"].includes(\n contributions.type\n );\n }\n\n /**\n */\n get formatUtil():\n | typeof TimeUtil\n | typeof TimestampUtil\n | typeof DateTimeUtil\n | typeof DateUtil {\n switch (this.type) {\n case \"time\":\n return TimeUtil;\n case \"timestamp\":\n return TimestampUtil;\n case \"datetime\":\n return DateTimeUtil;\n default:\n return DateUtil;\n }\n }\n\n /**\n */\n getInitValue(): string | null {\n let value = this.data.value;\n if (value != null) {\n if (this.type === \"time\" && value.length === 5) {\n value = `${value}:00`;\n }\n\n // handle old datetime values, which contained ms\n if (this.type === \"datetime\" && value.includes(\".\")) {\n value = value.split(\".\")[0];\n }\n\n if (this.hasTime) {\n value = this.getTimeValue(value);\n }\n }\n\n return value;\n }\n\n /**\n */\n getTimeValue(value: string): string {\n let timeValue = value;\n if (!this.timeInputFormat.toLowerCase().includes(\"h\")) {\n timeValue = this.formatUtil.setHour(value, 0);\n }\n if (!this.timeInputFormat.includes(\"m\")) {\n timeValue = this.formatUtil.setMinute(value, 0);\n }\n if (!this.timeInputFormat.includes(\"s\")) {\n timeValue = this.formatUtil.setSecond(value, 0);\n }\n if (this.type === \"timestamp\" && !this.timeInputFormat.includes(\"S\")) {\n timeValue = this.formatUtil.setMilliseconds(value, 0);\n }\n return timeValue;\n }\n\n /**\n * Set time in the correct value based on available elements in the time format\n */\n updateInitValue() {\n const value = this.getInitValue();\n if (value != null) {\n this._initvalue = value;\n this._inputvalue = this.getInitialInputValue(value);\n this._value = value;\n }\n }\n\n /**\n * Get initial user input value\n */\n getInitialInputValue(value?: string): string {\n if (!value) {\n return \"\";\n }\n\n let initValue = value;\n if (this.type === \"time\" && value.length === 5) {\n initValue = `${value}:00`;\n }\n\n return this.formatUtil.toFormat(initValue, this.inputFormat);\n }\n\n /**\n * Set type to date\n */\n get type(): string {\n return this.getContribution(\"type\", \"date\");\n }\n\n /**\n * Returns the value as entered by the user. This can differ from the internal iso value that is stored\n */\n getInputValue(): string {\n return this._inputvalue ? this._inputvalue.toString() : \"\";\n }\n\n /**\n * Get input value\n */\n get inputvalue(): string {\n return this.getInputValue();\n }\n\n /**\n * Sets the input value to the value entered by the user\n */\n set inputvalue(value: string) {\n this.validate(value);\n\n this._inputvalue = value;\n\n this.value =\n value !== null && value !== \"\"\n ? this.formatUtil.toISO(value, this.inputFormat)\n : null;\n }\n\n /**\n * Get date format\n */\n get format(): string {\n const format = this.getContribution(\"format\", \"\");\n return this.formatUtil.convertFormat(format);\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n get hasDate(): boolean {\n return (\n this.type === \"date\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get hasTime(): boolean {\n return (\n this.type === \"time\" ||\n this.type === \"datetime\" ||\n this.type === \"timestamp\"\n );\n }\n\n /**\n */\n get formatLabel(): string {\n switch (this.type) {\n case \"date\":\n return this.dateInputFormat.toLowerCase();\n case \"time\":\n return this.timeInputFormat.toLowerCase();\n default:\n return this.format.toLowerCase();\n }\n }\n\n /**\n */\n get inputFormat(): string {\n if (this.hasDate && this.hasTime) {\n return `${this.dateInputFormat} ${this.timeInputFormat}`.trim();\n }\n\n if (this.hasDate) {\n return this.dateInputFormat;\n }\n\n if (this.hasTime) {\n return this.timeInputFormat;\n }\n\n return \"\";\n }\n\n /**\n */\n get dateInputFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n // setting for date input\n const ignoreFormatSetting = this.layouthint.has(IGNORE_FORMAT_SETTING);\n if (!ignoreFormatSetting) {\n const dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n if (dateInputFormatSetting) {\n return dateInputFormatSetting;\n }\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n return dateFormat;\n }\n\n /**\n */\n get dateReadonlyFormat(): string {\n if (!this.hasDate) {\n return \"\";\n }\n\n let format = this.format;\n\n let dateFormat = this.hasTime\n ? format.replace(this.timeInputFormat, \"\").trim()\n : format;\n\n const readonlyFormatSetting = getSetting(\"DATE_READONLY_FORMAT\", \"\");\n\n if (dateFormat === PRODUCT_DEFAULT_DATE_FORMAT && readonlyFormatSetting) {\n dateFormat = readonlyFormatSetting;\n }\n\n return dateFormat;\n }\n\n /**\n * return attribute placeholder or, if DATE_INPUT_FORMAT setting is used, lowercased setting, otherwise return formatlabel without time input format from contributions\n */\n get placeholder(): string {\n if (this._placeholder !== \"\") {\n return this._placeholder;\n }\n\n const dateInputFormatSetting = getSetting(\"DATE_INPUT_FORMAT\", \"\");\n\n if (dateInputFormatSetting) {\n return dateInputFormatSetting.toLowerCase();\n }\n\n const formatLabel = this.getContribution(\"formatlabel\", \"\");\n\n if (this.hasDate && this.hasTime && formatLabel.includes(\" \")) {\n // return first part of formatlabel to keep placeholder matching date input\n return formatLabel.split(\" \")[0];\n }\n\n return formatLabel;\n }\n\n /**\n * Set placeholder text\n */\n set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n }\n\n /**\n */\n get timeInputFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n const format = this.format;\n\n let timeFormatParts = [];\n if (format.includes(\"H\")) {\n timeFormatParts.push(\"HH\");\n } else if (format.includes(\"h\")) {\n timeFormatParts.push(\"hh\");\n }\n if (format.includes(\"m\")) {\n timeFormatParts.push(\"mm\");\n }\n if (format.includes(\"s\")) {\n timeFormatParts.push(\"ss\");\n }\n\n let timeFormat = timeFormatParts.join(\":\");\n if (format.includes(\"S\")) {\n timeFormat = `${timeFormat}.SSS`;\n }\n if (format.includes(\"a\")) {\n return `${timeFormat} a`;\n }\n return timeFormat;\n }\n\n /**\n */\n get timeReadonlyFormat(): string {\n if (!this.hasTime) {\n return \"\";\n }\n\n return this.timeInputFormat;\n }\n\n /**\n */\n get dateInputValue(): string {\n return typeof this.value === \"string\" && this.dateInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.dateInputFormat)\n : \"\";\n }\n\n /**\n */\n get timeInputValue(): string {\n return typeof this.value === \"string\" && this.timeInputFormat !== \"\"\n ? this.formatUtil.toFormat(this.value, this.timeInputFormat)\n : \"\";\n }\n\n // format value in readonly rendering\n /**\n */\n formatValue(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n // when the value is exactly an iso date, render as date\n if (\n (this.type === \"datetime\" || this.type === \"timestamp\") &&\n DateUtil.hasFormat(value, ISO_DATE_FORMAT)\n ) {\n return DateUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n if (this.hasDate && this.hasTime) {\n const dateTimeReadonlyFormat = `${this.dateReadonlyFormat} ${this.timeReadonlyFormat}`;\n return this.formatUtil.toFormat(value, dateTimeReadonlyFormat);\n }\n\n if (this.type === \"date\") {\n return this.formatUtil.toFormat(value, this.dateReadonlyFormat);\n }\n\n return this.formatUtil.toFormat(value, this.format);\n }\n\n /**\n * Retrieve readonly value, the date in the configurated format\n */\n get readonlyvalue(): string {\n if (typeof this.value === \"string\") {\n return this.formatValue(this.value.toString());\n }\n\n return \"\";\n }\n\n /**\n * Get minimum date\n */\n get mindate(): string | null {\n return this.getContribution(\"mindate\");\n }\n\n /**\n * Get maximum date\n */\n get maxdate(): string | null {\n return this.getContribution(\"maxdate\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties } = error;\n if (properties && has(properties, \"format\") && this.formatLabel) {\n properties.format = this.formatLabel;\n }\n\n this._errorCollection.addServerError(id, message, properties);\n }\n\n /**\n */\n getFormatConstraint(): IConstraintModel {\n switch (this.type) {\n case \"date\":\n return new DateTimeDateFormatConstraint(\n this.dateInputFormat,\n this.formatLabel\n );\n case \"time\":\n return new DateTimeTimeFormatConstraint(\n this.timeInputFormat,\n this.formatLabel\n );\n default:\n return new DatetimeFormatConstraint(\n this.type,\n this.inputFormat,\n this.formatLabel\n );\n }\n }\n\n /**\n * Add Date constraints for attribute\n */\n addConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n constraints.add(this.getFormatConstraint());\n\n if (this.mindate || this.maxdate) {\n constraints.add(\n new DateBoundaryConstraint(\n this.type,\n this.mindate,\n this.maxdate,\n this.inputFormat\n )\n );\n }\n\n return constraints;\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"date\" || this.type === \"time\") {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n\nexport default DatetimeAttributeModel;\n"],"file":"DatetimeAttributeModel.js"}
@@ -20,6 +20,7 @@ import Href from "../href/Href";
20
20
  import TaskGroupCollection from "../taskgroup/TaskGroupCollection";
21
21
  import TaskGroupModel from "../taskgroup/TaskGroupModel";
22
22
  import { TITLE } from "../../constants/LayoutHints";
23
+ import IllegalStateException from "../../exceptions/IllegalStateException";
23
24
 
24
25
  /**
25
26
  * Model containing the details of one case.
@@ -160,7 +161,7 @@ var CaseViewModel = /*#__PURE__*/function (_DetailModel) {
160
161
  var selfLink = this.links.getLinkByKey("self");
161
162
 
162
163
  if (selfLink === null) {
163
- throw new Error("No self href available");
164
+ throw new IllegalStateException("No self href available");
164
165
  }
165
166
 
166
167
  return new Href(selfLink.href);