@beinformed/ui 1.31.0 → 1.31.3

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 (976) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
  3. package/esm/constants/LayoutHints.js.map +1 -1
  4. package/esm/constants/Settings.js.map +1 -1
  5. package/esm/exceptions/FetchException.js.map +1 -1
  6. package/esm/exceptions/NetworkException.js.map +1 -1
  7. package/esm/exceptions/UnauthorizedException.js.map +1 -1
  8. package/esm/hooks/useAllFormsOnModel.js.map +1 -1
  9. package/esm/hooks/useAuthentication.js.map +1 -1
  10. package/esm/hooks/useContent.js.map +1 -1
  11. package/esm/hooks/useDeepCompareEffect.js.map +1 -1
  12. package/esm/hooks/useForm.js.map +1 -1
  13. package/esm/hooks/useI18n.js.map +1 -1
  14. package/esm/hooks/useModal.js.map +1 -1
  15. package/esm/hooks/useModelCatalog.js.map +1 -1
  16. package/esm/hooks/useModularUI.js.map +1 -1
  17. package/esm/hooks/useModularUIBasic.js.map +1 -1
  18. package/esm/hooks/useModularUIModel.js.map +1 -1
  19. package/esm/hooks/useModularUIRequest.js.map +1 -1
  20. package/esm/hooks/useNotification.js.map +1 -1
  21. package/esm/hooks/usePreference.js +8 -2
  22. package/esm/hooks/usePreference.js.map +1 -1
  23. package/esm/i18n/Locale.js.map +1 -1
  24. package/esm/i18n/Locales.js.map +1 -1
  25. package/esm/i18n/Message.js.map +1 -1
  26. package/esm/i18n/withMessage.js.map +1 -1
  27. package/esm/models/actions/ActionCollection.js.map +1 -1
  28. package/esm/models/actions/ActionModel.js.map +1 -1
  29. package/esm/models/application/ApplicationModel.js.map +1 -1
  30. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  31. package/esm/models/attributes/AttributeContent.js.map +1 -1
  32. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  33. package/esm/models/attributes/AttributeModel.js.map +1 -1
  34. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  35. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  36. package/esm/models/attributes/ChoiceAttributeModel.js +1 -1
  37. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  38. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  39. package/esm/models/attributes/ChoiceAttributeOptionModel.js +8 -0
  40. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  41. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  42. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  43. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  44. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  45. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  46. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  47. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  48. package/esm/models/attributes/_createAttribute.js.map +1 -1
  49. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  50. package/esm/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  51. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  52. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  53. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  54. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  55. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  56. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  57. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  58. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  59. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  60. package/esm/models/base/BaseCollection.js.map +1 -1
  61. package/esm/models/base/BaseModel.js.map +1 -1
  62. package/esm/models/base/ResourceModel.js.map +1 -1
  63. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  64. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  65. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  66. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  67. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  68. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  69. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  70. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  71. package/esm/models/content/ContentIndexModel.js.map +1 -1
  72. package/esm/models/content/ContentLinkModel.js.map +1 -1
  73. package/esm/models/content/ContentModel.js.map +1 -1
  74. package/esm/models/content/ContentTOCModel.js.map +1 -1
  75. package/esm/models/content/SectionModel.js.map +1 -1
  76. package/esm/models/content/SubSectionModel.js.map +1 -1
  77. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  78. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  79. package/esm/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  80. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  81. package/esm/models/detail/DetailModel.js.map +1 -1
  82. package/esm/models/error/ErrorCollection.js.map +1 -1
  83. package/esm/models/error/ErrorModel.js.map +1 -1
  84. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  85. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  86. package/esm/models/filters/FilterCollection.js.map +1 -1
  87. package/esm/models/form/FormModel.js.map +1 -1
  88. package/esm/models/form/FormObjectModel.js.map +1 -1
  89. package/esm/models/grouping/GroupingModel.js.map +1 -1
  90. package/esm/models/href/Href.js.map +1 -1
  91. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  92. package/esm/models/links/LinkCollection.js.map +1 -1
  93. package/esm/models/links/LinkModel.js.map +1 -1
  94. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  95. package/esm/models/list/ListDetailModel.js.map +1 -1
  96. package/esm/models/list/ListItemCollection.js.map +1 -1
  97. package/esm/models/list/ListItemModel.js.map +1 -1
  98. package/esm/models/list/ListModel.js.map +1 -1
  99. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  100. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  101. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  102. package/esm/models/paging/PagingModel.js.map +1 -1
  103. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  104. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  105. package/esm/models/resolveModel.js.map +1 -1
  106. package/esm/models/sorting/SortingModel.js.map +1 -1
  107. package/esm/models/tab/TabModel.js.map +1 -1
  108. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  109. package/esm/models/types.js.map +1 -1
  110. package/esm/models/user/UserProfileModel.js.map +1 -1
  111. package/esm/modularui/CaptchaRequest.js.map +1 -1
  112. package/esm/modularui/ModularUIRequest.js.map +1 -1
  113. package/esm/modularui/UploadRequest.js.map +1 -1
  114. package/esm/react/utils.js.map +1 -1
  115. package/esm/react-client/client.js +1 -0
  116. package/esm/react-client/client.js.map +1 -1
  117. package/esm/react-client/contextPath.js.map +1 -1
  118. package/esm/react-client/rehydrate.js.map +1 -1
  119. package/esm/react-server/createSSRComplete.js.map +1 -1
  120. package/esm/react-server/renderSSRComplete.js.map +1 -1
  121. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  122. package/esm/react-server/requestInformation.js.map +1 -1
  123. package/esm/react-server/serverUtil.js.map +1 -1
  124. package/esm/react-theme/createTheme.js.map +1 -1
  125. package/esm/react-theme/utils/colors.js.map +1 -1
  126. package/esm/react-theme/utils/contrast.js.map +1 -1
  127. package/esm/react-theme/utils/corners.js.map +1 -1
  128. package/esm/react-theme/utils/spacers.js.map +1 -1
  129. package/esm/react-theme/utils/themeProps.js.map +1 -1
  130. package/esm/redux/_i18n/I18nActions.js.map +1 -1
  131. package/esm/redux/_i18n/I18nReducer.js.map +1 -1
  132. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  133. package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
  134. package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  135. package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
  136. package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
  137. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  138. package/esm/redux/_modularui/types.js.map +1 -1
  139. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  140. package/esm/redux/_router/RouterActions.js.map +1 -1
  141. package/esm/redux/_router/RouterConnectors.js.map +1 -1
  142. package/esm/redux/_router/RouterReducer.js.map +1 -1
  143. package/esm/redux/actions/Application.js.map +1 -1
  144. package/esm/redux/actions/Authorization.js.map +1 -1
  145. package/esm/redux/actions/Error.js.map +1 -1
  146. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  147. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  148. package/esm/redux/actions/FormAutosave.js.map +1 -1
  149. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  150. package/esm/redux/actions/FormValidations.js.map +1 -1
  151. package/esm/redux/actions/Notification.js.map +1 -1
  152. package/esm/redux/actions/Preferences.js.map +1 -1
  153. package/esm/redux/actions/ProgressIndicator.js.map +1 -1
  154. package/esm/redux/actions/SignIn.js.map +1 -1
  155. package/esm/redux/connectors/Application.js.map +1 -1
  156. package/esm/redux/connectors/Breadcrumb.js.map +1 -1
  157. package/esm/redux/connectors/CaseView.js.map +1 -1
  158. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  159. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  160. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  161. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  162. package/esm/redux/connectors/Form.js.map +1 -1
  163. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  164. package/esm/redux/connectors/ListDetail.js.map +1 -1
  165. package/esm/redux/connectors/Modal.js.map +1 -1
  166. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  167. package/esm/redux/connectors/Notification.js.map +1 -1
  168. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  169. package/esm/redux/connectors/Preferences.js.map +1 -1
  170. package/esm/redux/connectors/Progress.js.map +1 -1
  171. package/esm/redux/connectors/ProgressIndicator.js.map +1 -1
  172. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  173. package/esm/redux/connectors/SignIn.js.map +1 -1
  174. package/esm/redux/connectors/SignOut.js.map +1 -1
  175. package/esm/redux/connectors/Tab.js.map +1 -1
  176. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  177. package/esm/redux/reducers/ErrorReducer.js.map +1 -1
  178. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  179. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  180. package/esm/redux/reducers/PreferencesReducer.js.map +1 -1
  181. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  182. package/esm/redux/store/beforeRenderHooks.js.map +1 -1
  183. package/esm/redux/store/configureStore.js.map +1 -1
  184. package/esm/utils/browser/Cookies.js.map +1 -1
  185. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  186. package/esm/utils/fetch/universalFetch.js.map +1 -1
  187. package/esm/utils/fetch/xhr.js.map +1 -1
  188. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  189. package/esm/utils/helpers/text.js.map +1 -1
  190. package/esm/utils/number/DecimalFormat.js.map +1 -1
  191. package/esm/utils/number/formatValue.js.map +1 -1
  192. package/esm/utils/number/parseNumbers.js.map +1 -1
  193. package/lib/builder/__tests__/mergeLayoutHintConfigurations.spec.js.flow +4 -4
  194. package/lib/builder/mergeLayoutHintConfigurations.js.flow +3 -3
  195. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  196. package/lib/constants/LayoutHints.js.flow +1 -1
  197. package/lib/constants/LayoutHints.js.map +1 -1
  198. package/lib/constants/Settings.js.flow +2 -2
  199. package/lib/constants/Settings.js.map +1 -1
  200. package/lib/exceptions/FetchException.js.flow +2 -2
  201. package/lib/exceptions/FetchException.js.map +1 -1
  202. package/lib/exceptions/NetworkException.js.flow +1 -1
  203. package/lib/exceptions/NetworkException.js.map +1 -1
  204. package/lib/exceptions/UnauthorizedException.js.flow +1 -1
  205. package/lib/exceptions/UnauthorizedException.js.map +1 -1
  206. package/lib/hooks/__tests__/UseModularUIModel.spec.js.flow +9 -9
  207. package/lib/hooks/__tests__/useAuthentication.spec.js.flow +2 -2
  208. package/lib/hooks/__tests__/useForm.spec.js.flow +2 -2
  209. package/lib/hooks/__tests__/useModelCatalog.spec.js.flow +7 -7
  210. package/lib/hooks/__tests__/useModularUIBasic.spec.js.flow +2 -2
  211. package/lib/hooks/__tests__/usePreference.spec.js.flow +1 -1
  212. package/lib/hooks/useAllFormsOnModel.js.flow +2 -2
  213. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  214. package/lib/hooks/useAuthentication.js.flow +2 -2
  215. package/lib/hooks/useAuthentication.js.map +1 -1
  216. package/lib/hooks/useContent.js.flow +1 -1
  217. package/lib/hooks/useContent.js.map +1 -1
  218. package/lib/hooks/useDeepCompareEffect.js.flow +1 -1
  219. package/lib/hooks/useDeepCompareEffect.js.map +1 -1
  220. package/lib/hooks/useForm.js.flow +4 -4
  221. package/lib/hooks/useForm.js.map +1 -1
  222. package/lib/hooks/useI18n.js.flow +3 -3
  223. package/lib/hooks/useI18n.js.map +1 -1
  224. package/lib/hooks/useModal.js.flow +2 -2
  225. package/lib/hooks/useModal.js.map +1 -1
  226. package/lib/hooks/useModelCatalog.js.flow +1 -1
  227. package/lib/hooks/useModelCatalog.js.map +1 -1
  228. package/lib/hooks/useModularUI.js.flow +1 -1
  229. package/lib/hooks/useModularUI.js.map +1 -1
  230. package/lib/hooks/useModularUIBasic.js.flow +1 -1
  231. package/lib/hooks/useModularUIBasic.js.map +1 -1
  232. package/lib/hooks/useModularUIModel.js.flow +1 -1
  233. package/lib/hooks/useModularUIModel.js.map +1 -1
  234. package/lib/hooks/useModularUIRequest.js.flow +1 -1
  235. package/lib/hooks/useModularUIRequest.js.map +1 -1
  236. package/lib/hooks/useNotification.js.flow +2 -2
  237. package/lib/hooks/useNotification.js.map +1 -1
  238. package/lib/hooks/usePreference.js +8 -2
  239. package/lib/hooks/usePreference.js.flow +17 -7
  240. package/lib/hooks/usePreference.js.map +1 -1
  241. package/lib/i18n/Locale.js.flow +4 -4
  242. package/lib/i18n/Locale.js.map +1 -1
  243. package/lib/i18n/Locales.js.flow +8 -8
  244. package/lib/i18n/Locales.js.map +1 -1
  245. package/lib/i18n/Message.js.flow +2 -2
  246. package/lib/i18n/Message.js.map +1 -1
  247. package/lib/i18n/__tests__/Locale.spec.js.flow +3 -3
  248. package/lib/i18n/__tests__/Locales.spec.js.flow +15 -13
  249. package/lib/i18n/withMessage.js.flow +4 -4
  250. package/lib/i18n/withMessage.js.map +1 -1
  251. package/lib/models/actions/ActionCollection.js.flow +4 -4
  252. package/lib/models/actions/ActionCollection.js.map +1 -1
  253. package/lib/models/actions/ActionModel.js.flow +4 -4
  254. package/lib/models/actions/ActionModel.js.map +1 -1
  255. package/lib/models/actions/__tests__/ActionCollection.spec.js.flow +3 -3
  256. package/lib/models/actions/__tests__/ActionModel.spec.js.flow +1 -1
  257. package/lib/models/application/ApplicationModel.js.flow +3 -3
  258. package/lib/models/application/ApplicationModel.js.map +1 -1
  259. package/lib/models/attributes/AttributeCollection.js.flow +7 -7
  260. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  261. package/lib/models/attributes/AttributeContent.js.flow +9 -9
  262. package/lib/models/attributes/AttributeContent.js.map +1 -1
  263. package/lib/models/attributes/AttributeDataHelper.js.flow +9 -9
  264. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  265. package/lib/models/attributes/AttributeModel.js.flow +24 -24
  266. package/lib/models/attributes/AttributeModel.js.map +1 -1
  267. package/lib/models/attributes/AttributeSetModel.js.flow +1 -1
  268. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  269. package/lib/models/attributes/BooleanAttributeModel.js.flow +4 -4
  270. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  271. package/lib/models/attributes/ChoiceAttributeModel.js +1 -1
  272. package/lib/models/attributes/ChoiceAttributeModel.js.flow +7 -7
  273. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  274. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.flow +15 -15
  275. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  276. package/lib/models/attributes/ChoiceAttributeOptionModel.js +8 -0
  277. package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +19 -11
  278. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  279. package/lib/models/attributes/CompositeAttributeChildCollection.js.flow +10 -10
  280. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  281. package/lib/models/attributes/CompositeAttributeModel.js.flow +7 -7
  282. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  283. package/lib/models/attributes/DatetimeAttributeModel.js.flow +6 -6
  284. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  285. package/lib/models/attributes/NumberAttributeModel.js.flow +9 -9
  286. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  287. package/lib/models/attributes/PasswordAttributeModel.js.flow +8 -8
  288. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  289. package/lib/models/attributes/StringAttributeModel.js.flow +3 -3
  290. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  291. package/lib/models/attributes/UploadAttributeModel.js.flow +5 -5
  292. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  293. package/lib/models/attributes/__tests__/AttributeCollection.spec.js.flow +11 -11
  294. package/lib/models/attributes/__tests__/AttributeContent.spec.js.flow +7 -7
  295. package/lib/models/attributes/__tests__/AttributeModel.spec.js.flow +5 -5
  296. package/lib/models/attributes/__tests__/AttributeSetModel.spec.js.flow +2 -2
  297. package/lib/models/attributes/__tests__/BooleanAttributeModel.spec.js.flow +1 -1
  298. package/lib/models/attributes/__tests__/ChoiceAttributeModel.spec.js.flow +8 -8
  299. package/lib/models/attributes/__tests__/ChoiceAttributeOptionCollection.spec.js.flow +8 -8
  300. package/lib/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js.flow +1 -1
  301. package/lib/models/attributes/__tests__/DateAttributeModel.spec.js.flow +4 -4
  302. package/lib/models/attributes/__tests__/DatetimeAttributeModel.spec.js.flow +11 -11
  303. package/lib/models/attributes/__tests__/HelptextAttributeModel.spec.js.flow +3 -3
  304. package/lib/models/attributes/__tests__/MemoAttributeModel.spec.js.flow +1 -1
  305. package/lib/models/attributes/__tests__/MoneyAttributeModel.spec.js.flow +1 -1
  306. package/lib/models/attributes/__tests__/NumberAttributeModel.spec.js.flow +1 -1
  307. package/lib/models/attributes/__tests__/PasswordAttributeModel.spec.js.flow +1 -1
  308. package/lib/models/attributes/__tests__/StringAttributeModel.spec.js.flow +4 -4
  309. package/lib/models/attributes/__tests__/TimeAttributeModel.spec.js.flow +2 -2
  310. package/lib/models/attributes/__tests__/TimestampModel.spec.js.flow +2 -2
  311. package/lib/models/attributes/__tests__/UploadAttributeModel.spec.js.flow +4 -4
  312. package/lib/models/attributes/__tests__/_createAttribute.spec.js.flow +6 -6
  313. package/lib/models/attributes/__tests__/createAttributeComposite.spec.js.flow +3 -3
  314. package/lib/models/attributes/__tests__/createAttributeDynamicSchema.spec.js.flow +3 -3
  315. package/lib/models/attributes/_createAttribute.js.flow +5 -5
  316. package/lib/models/attributes/_createAttribute.js.map +1 -1
  317. package/lib/models/attributes/input-constraints/ConstraintCollection.js.flow +5 -5
  318. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  319. package/lib/models/attributes/input-constraints/ConstraintModel.js.flow +1 -1
  320. package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
  321. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.flow +6 -6
  322. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  323. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.flow +1 -1
  324. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  325. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.flow +6 -6
  326. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  327. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.flow +2 -2
  328. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  329. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.flow +2 -2
  330. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  331. package/lib/models/attributes/input-constraints/__tests__/ConstraintModel.spec.js.flow +1 -1
  332. package/lib/models/attributes/input-constraints/__tests__/DateBoundaryConstraint.spec.js.flow +6 -6
  333. package/lib/models/attributes/input-constraints/__tests__/DateTimeDateFormatConstraint.spec.js.flow +2 -2
  334. package/lib/models/attributes/input-constraints/__tests__/DateTimeTimeFormatConstraint.spec.js.flow +2 -2
  335. package/lib/models/attributes/input-constraints/__tests__/DatetimeFormatConstraint.spec.js.flow +5 -5
  336. package/lib/models/attributes/input-constraints/__tests__/NumberBoundaryConstraint.spec.js.flow +6 -6
  337. package/lib/models/attributes/input-constraints/__tests__/NumberFormatConstraint.spec.js.flow +3 -3
  338. package/lib/models/attributes/input-constraints/__tests__/NumberGroupingConstraint.spec.js.flow +2 -2
  339. package/lib/models/attributes/input-constraints/__tests__/RegexConstraint.spec.js.flow +1 -1
  340. package/lib/models/attributes/input-constraints/__tests__/StringLengthConstraint.spec.js.flow +4 -4
  341. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.flow +4 -4
  342. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  343. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.flow +15 -15
  344. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  345. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.flow +2 -2
  346. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  347. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.flow +2 -2
  348. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  349. package/lib/models/attributes/layouthint-rules/__tests__/DependentAttribute.spec.js.flow +22 -22
  350. package/lib/models/attributes/layouthint-rules/__tests__/LayoutHintRuleCollection.spec.js.flow +1 -1
  351. package/lib/models/attributes/layouthint-rules/__tests__/RemainingTotalUploadSize.spec.js.flow +4 -4
  352. package/lib/models/base/BaseCollection.js.flow +6 -6
  353. package/lib/models/base/BaseCollection.js.map +1 -1
  354. package/lib/models/base/BaseModel.js.flow +1 -1
  355. package/lib/models/base/BaseModel.js.map +1 -1
  356. package/lib/models/base/ResourceModel.js.flow +5 -5
  357. package/lib/models/base/ResourceModel.js.map +1 -1
  358. package/lib/models/base/__tests__/ResourceCollection.spec.js.flow +1 -1
  359. package/lib/models/caseview/CaseViewModel.js.flow +4 -4
  360. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  361. package/lib/models/caseview/__tests__/CaseViewModel.spec.js.flow +3 -3
  362. package/lib/models/concepts/BusinessScenarioModel.js.flow +9 -9
  363. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  364. package/lib/models/concepts/ConceptDetailModel.js.flow +17 -17
  365. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  366. package/lib/models/concepts/ConceptIndexModel.js.flow +2 -2
  367. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  368. package/lib/models/concepts/ConceptLinkModel.js.flow +6 -4
  369. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  370. package/lib/models/concepts/ConceptRelationCollection.js.flow +5 -5
  371. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  372. package/lib/models/concepts/SourceReferenceCollection.js.flow +2 -2
  373. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  374. package/lib/models/concepts/SourceReferenceModel.js.flow +2 -2
  375. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  376. package/lib/models/concepts/__tests__/ConceptDetailModel.spec.js.flow +1 -1
  377. package/lib/models/content/ContentIndexModel.js.flow +3 -3
  378. package/lib/models/content/ContentIndexModel.js.map +1 -1
  379. package/lib/models/content/ContentLinkModel.js.flow +11 -9
  380. package/lib/models/content/ContentLinkModel.js.map +1 -1
  381. package/lib/models/content/ContentModel.js.flow +2 -2
  382. package/lib/models/content/ContentModel.js.map +1 -1
  383. package/lib/models/content/ContentTOCModel.js.flow +4 -4
  384. package/lib/models/content/ContentTOCModel.js.map +1 -1
  385. package/lib/models/content/SectionModel.js.flow +4 -4
  386. package/lib/models/content/SectionModel.js.map +1 -1
  387. package/lib/models/content/SubSectionModel.js.flow +2 -2
  388. package/lib/models/content/SubSectionModel.js.map +1 -1
  389. package/lib/models/content/__tests__/ContentModel.spec.js.flow +16 -16
  390. package/lib/models/contentconfiguration/ContentConfiguration.js.flow +1 -1
  391. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  392. package/lib/models/contentconfiguration/ContentConfigurationElements.js.flow +5 -5
  393. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  394. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.flow +1 -1
  395. package/lib/models/contentconfiguration/ContentConfigurationEndResults.js.map +1 -1
  396. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.flow +2 -2
  397. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  398. package/lib/models/contentconfiguration/__tests__/ContentConfigurationResults.spec.js.flow +12 -12
  399. package/lib/models/detail/DetailModel.js.flow +5 -5
  400. package/lib/models/detail/DetailModel.js.map +1 -1
  401. package/lib/models/error/ErrorCollection.js.flow +4 -4
  402. package/lib/models/error/ErrorCollection.js.map +1 -1
  403. package/lib/models/error/ErrorModel.js.flow +1 -1
  404. package/lib/models/error/ErrorModel.js.map +1 -1
  405. package/lib/models/error/__tests__/ErrorModel.spec.js.flow +1 -1
  406. package/lib/models/filters/AssignmentFilterModel.js.flow +3 -3
  407. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  408. package/lib/models/filters/BaseFilterModel.js.flow +3 -3
  409. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  410. package/lib/models/filters/FilterCollection.js.flow +5 -5
  411. package/lib/models/filters/FilterCollection.js.map +1 -1
  412. package/lib/models/filters/__tests__/AssignmentFilterModel.spec.js.flow +4 -4
  413. package/lib/models/filters/__tests__/FilterCollection.spec.js.flow +11 -11
  414. package/lib/models/filters/__tests__/FilterModel.spec.js.flow +1 -1
  415. package/lib/models/filters/__tests__/RangeFilterModel.spec.js.flow +1 -1
  416. package/lib/models/form/FormModel.js.flow +39 -39
  417. package/lib/models/form/FormModel.js.map +1 -1
  418. package/lib/models/form/FormObjectModel.js.flow +16 -16
  419. package/lib/models/form/FormObjectModel.js.map +1 -1
  420. package/lib/models/form/__tests__/FormModel.instrument.spec.js.flow +7 -7
  421. package/lib/models/form/__tests__/FormModel.repeating.spec.js.flow +2 -2
  422. package/lib/models/form/__tests__/FormModel.selfhref.spec.js.flow +1 -1
  423. package/lib/models/form/__tests__/FormModel.spec.js.flow +6 -6
  424. package/lib/models/form/__tests__/FormResultData.spec.js.flow +1 -1
  425. package/lib/models/form/__tests__/FormWithContent.spec.js.flow +3 -3
  426. package/lib/models/grouping/GroupingModel.js.flow +7 -7
  427. package/lib/models/grouping/GroupingModel.js.map +1 -1
  428. package/lib/models/grouping/__tests__/GroupingModel.spec.js.flow +2 -2
  429. package/lib/models/href/Href.js.flow +6 -6
  430. package/lib/models/href/Href.js.map +1 -1
  431. package/lib/models/href/__tests__/Href.spec.js.flow +18 -16
  432. package/lib/models/layouthint/LayoutHintCollection.js.flow +3 -3
  433. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  434. package/lib/models/links/LinkCollection.js.flow +4 -4
  435. package/lib/models/links/LinkCollection.js.map +1 -1
  436. package/lib/models/links/LinkModel.js.flow +3 -3
  437. package/lib/models/links/LinkModel.js.map +1 -1
  438. package/lib/models/links/__tests__/LinkModel.spec.js.flow +4 -4
  439. package/lib/models/links/normalizeLinkJSON.js.flow +6 -6
  440. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  441. package/lib/models/list/ListDetailModel.js.flow +7 -7
  442. package/lib/models/list/ListDetailModel.js.map +1 -1
  443. package/lib/models/list/ListItemCollection.js.flow +2 -2
  444. package/lib/models/list/ListItemCollection.js.map +1 -1
  445. package/lib/models/list/ListItemModel.js.flow +2 -2
  446. package/lib/models/list/ListItemModel.js.map +1 -1
  447. package/lib/models/list/ListModel.js.flow +6 -6
  448. package/lib/models/list/ListModel.js.map +1 -1
  449. package/lib/models/list/__tests__/ListDetailModel.spec.js.flow +4 -4
  450. package/lib/models/list/__tests__/ListItemCollection.spec.js.flow +1 -1
  451. package/lib/models/list/__tests__/ListModel.spec.js.flow +3 -3
  452. package/lib/models/list/__tests__/ListResultDetail.spec.js.flow +3 -3
  453. package/lib/models/lookup/LookupOptionCollection.js.flow +1 -1
  454. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  455. package/lib/models/lookup/LookupOptionsModel.js.flow +4 -4
  456. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  457. package/lib/models/lookup/__tests__/LookupOptionsModel.spec.js.flow +3 -3
  458. package/lib/models/modelcatalog/ModelCatalogModel.js.flow +2 -2
  459. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  460. package/lib/models/paging/PagingModel.js.flow +1 -1
  461. package/lib/models/paging/PagingModel.js.map +1 -1
  462. package/lib/models/paging/__tests__/PagingModel.spec.js.flow +2 -2
  463. package/lib/models/panels/GroupingPanelModel.js.flow +5 -5
  464. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  465. package/lib/models/panels/__tests__/GroupingPanelModel.spec.js.flow +8 -8
  466. package/lib/models/parameter/__tests__/Parameter.spec.js.flow +5 -5
  467. package/lib/models/process/ProcessStatusSettingsModel.js.flow +1 -1
  468. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  469. package/lib/models/process/__tests__/ProcessStatusSettingsModel.spec.js.flow +1 -1
  470. package/lib/models/resolveModel.js.flow +4 -4
  471. package/lib/models/resolveModel.js.map +1 -1
  472. package/lib/models/sorting/SortingModel.js.flow +4 -4
  473. package/lib/models/sorting/SortingModel.js.map +1 -1
  474. package/lib/models/sorting/__tests__/SortingModel.spec.js.flow +3 -3
  475. package/lib/models/tab/TabModel.js.flow +3 -3
  476. package/lib/models/tab/TabModel.js.map +1 -1
  477. package/lib/models/tab/__tests__/TabModel.spec.js.flow +5 -5
  478. package/lib/models/taskgroup/TaskGroupModel.js.flow +2 -2
  479. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  480. package/lib/models/types.js.flow +1 -1
  481. package/lib/models/types.js.map +1 -1
  482. package/lib/models/user/UserProfileModel.js.flow +1 -1
  483. package/lib/models/user/UserProfileModel.js.map +1 -1
  484. package/lib/models/user/__tests__/UserModel.spec.js.flow +2 -2
  485. package/lib/models/user/__tests__/UserProfileModel.spec.js.flow +2 -2
  486. package/lib/models/user/__tests__/UserServicesModel.spec.js.flow +1 -1
  487. package/lib/modularui/CaptchaRequest.js.flow +1 -1
  488. package/lib/modularui/CaptchaRequest.js.map +1 -1
  489. package/lib/modularui/ModularUIRequest.js.flow +26 -26
  490. package/lib/modularui/ModularUIRequest.js.map +1 -1
  491. package/lib/modularui/UploadRequest.js.flow +6 -6
  492. package/lib/modularui/UploadRequest.js.map +1 -1
  493. package/lib/modularui/__tests__/ModularUIError.spec.js.flow +1 -1
  494. package/lib/modularui/__tests__/ModularUIRequest.spec.js.flow +9 -9
  495. package/lib/react/utils.js.flow +1 -1
  496. package/lib/react/utils.js.map +1 -1
  497. package/lib/react-client/client.js +1 -0
  498. package/lib/react-client/client.js.flow +11 -10
  499. package/lib/react-client/client.js.map +1 -1
  500. package/lib/react-client/contextPath.js.flow +2 -2
  501. package/lib/react-client/contextPath.js.map +1 -1
  502. package/lib/react-client/rehydrate.js.flow +1 -1
  503. package/lib/react-client/rehydrate.js.map +1 -1
  504. package/lib/react-server/__tests__/serverUtil.spec.js.flow +2 -2
  505. package/lib/react-server/createSSRComplete.js.flow +3 -3
  506. package/lib/react-server/createSSRComplete.js.map +1 -1
  507. package/lib/react-server/renderSSRComplete.js.flow +4 -4
  508. package/lib/react-server/renderSSRComplete.js.map +1 -1
  509. package/lib/react-server/renderSSRMinimal.js.flow +1 -1
  510. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  511. package/lib/react-server/requestInformation.js.flow +2 -2
  512. package/lib/react-server/requestInformation.js.map +1 -1
  513. package/lib/react-server/serverUtil.js.flow +8 -8
  514. package/lib/react-server/serverUtil.js.map +1 -1
  515. package/lib/react-theme/__tests__/createTheme.spec.js.flow +4 -4
  516. package/lib/react-theme/createTheme.js.flow +1 -1
  517. package/lib/react-theme/createTheme.js.map +1 -1
  518. package/lib/react-theme/utils/__tests__/background.spec.js.flow +2 -2
  519. package/lib/react-theme/utils/__tests__/contrast.spec.js.flow +1 -1
  520. package/lib/react-theme/utils/__tests__/corners.spec.js.flow +3 -3
  521. package/lib/react-theme/utils/__tests__/spacers.spec.js.flow +1 -1
  522. package/lib/react-theme/utils/__tests__/themeProps.spec.js.flow +9 -9
  523. package/lib/react-theme/utils/colors.js.flow +3 -3
  524. package/lib/react-theme/utils/colors.js.map +1 -1
  525. package/lib/react-theme/utils/contrast.js.flow +6 -6
  526. package/lib/react-theme/utils/contrast.js.map +1 -1
  527. package/lib/react-theme/utils/corners.js.flow +2 -2
  528. package/lib/react-theme/utils/corners.js.map +1 -1
  529. package/lib/react-theme/utils/spacers.js.flow +2 -2
  530. package/lib/react-theme/utils/spacers.js.map +1 -1
  531. package/lib/react-theme/utils/themeProps.js.flow +8 -8
  532. package/lib/react-theme/utils/themeProps.js.map +1 -1
  533. package/lib/redux/_i18n/I18nActions.js.flow +1 -1
  534. package/lib/redux/_i18n/I18nActions.js.map +1 -1
  535. package/lib/redux/_i18n/I18nReducer.js.flow +2 -2
  536. package/lib/redux/_i18n/I18nReducer.js.map +1 -1
  537. package/lib/redux/_i18n/__tests__/reducer.spec.js.flow +2 -2
  538. package/lib/redux/_modularui/ModularUIActions.js.flow +8 -8
  539. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  540. package/lib/redux/_modularui/ModularUIConnector.js.flow +4 -4
  541. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
  542. package/lib/redux/_modularui/ModularUIMiddleware.js.flow +6 -6
  543. package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  544. package/lib/redux/_modularui/ModularUIReducer.js.flow +5 -5
  545. package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
  546. package/lib/redux/_modularui/ModularUISelectors.js.flow +11 -11
  547. package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
  548. package/lib/redux/_modularui/ModularUIUtils.js.flow +1 -1
  549. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  550. package/lib/redux/_modularui/__tests__/actions.spec.js.flow +1 -1
  551. package/lib/redux/_modularui/__tests__/reducer.spec.js.flow +13 -13
  552. package/lib/redux/_modularui/__tests__/selectors.spec.js.flow +3 -3
  553. package/lib/redux/_modularui/types.js.flow +4 -4
  554. package/lib/redux/_modularui/types.js.map +1 -1
  555. package/lib/redux/_modularui/withModularUI.js.flow +3 -3
  556. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  557. package/lib/redux/_router/RouterActions.js.flow +3 -3
  558. package/lib/redux/_router/RouterActions.js.map +1 -1
  559. package/lib/redux/_router/RouterConnectors.js.flow +5 -5
  560. package/lib/redux/_router/RouterConnectors.js.map +1 -1
  561. package/lib/redux/_router/RouterReducer.js.flow +1 -1
  562. package/lib/redux/_router/RouterReducer.js.map +1 -1
  563. package/lib/redux/_router/__tests__/reducer.spec.js.flow +2 -2
  564. package/lib/redux/actions/Application.js.flow +1 -1
  565. package/lib/redux/actions/Application.js.map +1 -1
  566. package/lib/redux/actions/Authorization.js.flow +1 -1
  567. package/lib/redux/actions/Authorization.js.map +1 -1
  568. package/lib/redux/actions/Error.js.flow +3 -3
  569. package/lib/redux/actions/Error.js.map +1 -1
  570. package/lib/redux/actions/FormAttributeSet.js.flow +2 -2
  571. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  572. package/lib/redux/actions/FormAttributeSetRepeatable.js.flow +3 -3
  573. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  574. package/lib/redux/actions/FormAutosave.js.flow +1 -1
  575. package/lib/redux/actions/FormAutosave.js.map +1 -1
  576. package/lib/redux/actions/FormAutosubmit.js.flow +1 -1
  577. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  578. package/lib/redux/actions/FormValidations.js.flow +3 -3
  579. package/lib/redux/actions/FormValidations.js.map +1 -1
  580. package/lib/redux/actions/Notification.js.flow +4 -4
  581. package/lib/redux/actions/Notification.js.map +1 -1
  582. package/lib/redux/actions/Preferences.js.flow +11 -11
  583. package/lib/redux/actions/Preferences.js.map +1 -1
  584. package/lib/redux/actions/ProgressIndicator.js.flow +1 -1
  585. package/lib/redux/actions/ProgressIndicator.js.map +1 -1
  586. package/lib/redux/actions/SignIn.js.flow +3 -3
  587. package/lib/redux/actions/SignIn.js.map +1 -1
  588. package/lib/redux/actions/__tests__/Authorization.spec.js.flow +2 -2
  589. package/lib/redux/actions/__tests__/Error-server.spec.js.flow +13 -13
  590. package/lib/redux/actions/__tests__/Error.spec.js.flow +6 -6
  591. package/lib/redux/actions/__tests__/Notification.spec.js.flow +1 -1
  592. package/lib/redux/actions/__tests__/Preferences.spec.js.flow +2 -2
  593. package/lib/redux/connectors/Application.js.flow +1 -1
  594. package/lib/redux/connectors/Application.js.map +1 -1
  595. package/lib/redux/connectors/Breadcrumb.js.flow +1 -1
  596. package/lib/redux/connectors/Breadcrumb.js.map +1 -1
  597. package/lib/redux/connectors/CaseView.js.flow +1 -1
  598. package/lib/redux/connectors/CaseView.js.map +1 -1
  599. package/lib/redux/connectors/ConceptDetail.js.flow +1 -1
  600. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  601. package/lib/redux/connectors/ContentBrowser.js.flow +1 -1
  602. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  603. package/lib/redux/connectors/ContentDetail.js.flow +1 -1
  604. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  605. package/lib/redux/connectors/ContentDetailSection.js.flow +2 -2
  606. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  607. package/lib/redux/connectors/Form.js.flow +5 -5
  608. package/lib/redux/connectors/Form.js.map +1 -1
  609. package/lib/redux/connectors/FormAttributeSet.js.flow +6 -6
  610. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  611. package/lib/redux/connectors/ListDetail.js.flow +1 -1
  612. package/lib/redux/connectors/ListDetail.js.map +1 -1
  613. package/lib/redux/connectors/Modal.js.flow +1 -1
  614. package/lib/redux/connectors/Modal.js.map +1 -1
  615. package/lib/redux/connectors/ModelCatalog.js.flow +1 -1
  616. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  617. package/lib/redux/connectors/Notification.js.flow +1 -1
  618. package/lib/redux/connectors/Notification.js.map +1 -1
  619. package/lib/redux/connectors/PanelRenderer.js.flow +2 -2
  620. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  621. package/lib/redux/connectors/Preferences.js.flow +3 -3
  622. package/lib/redux/connectors/Preferences.js.map +1 -1
  623. package/lib/redux/connectors/Progress.js.flow +1 -1
  624. package/lib/redux/connectors/Progress.js.map +1 -1
  625. package/lib/redux/connectors/ProgressIndicator.js.flow +1 -1
  626. package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
  627. package/lib/redux/connectors/QuickSearch.js.flow +2 -2
  628. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  629. package/lib/redux/connectors/SignIn.js.flow +1 -1
  630. package/lib/redux/connectors/SignIn.js.map +1 -1
  631. package/lib/redux/connectors/SignOut.js.flow +1 -1
  632. package/lib/redux/connectors/SignOut.js.map +1 -1
  633. package/lib/redux/connectors/Tab.js.flow +1 -1
  634. package/lib/redux/connectors/Tab.js.map +1 -1
  635. package/lib/redux/reducers/AuthReducer.js.flow +1 -1
  636. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  637. package/lib/redux/reducers/ErrorReducer.js.flow +1 -1
  638. package/lib/redux/reducers/ErrorReducer.js.map +1 -1
  639. package/lib/redux/reducers/ModalsReducer.js.flow +1 -1
  640. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  641. package/lib/redux/reducers/NotificationReducer.js.flow +1 -1
  642. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  643. package/lib/redux/reducers/PreferencesReducer.js.flow +1 -1
  644. package/lib/redux/reducers/PreferencesReducer.js.map +1 -1
  645. package/lib/redux/reducers/ProgressIndicatorReducer.js.flow +1 -1
  646. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  647. package/lib/redux/reducers/__tests__/AuthReducer.spec.js.flow +10 -10
  648. package/lib/redux/reducers/__tests__/ErrorReducer.spec.js.flow +1 -1
  649. package/lib/redux/reducers/__tests__/ModalsReducer.spec.js.flow +3 -3
  650. package/lib/redux/reducers/__tests__/NotificationReducer.spec.js.flow +3 -3
  651. package/lib/redux/reducers/__tests__/PreferencesReducer.spec.js.flow +2 -2
  652. package/lib/redux/reducers/__tests__/ProgressIndicatorReducer.spec.js.flow +8 -8
  653. package/lib/redux/store/beforeRenderHooks.js.flow +1 -1
  654. package/lib/redux/store/beforeRenderHooks.js.map +1 -1
  655. package/lib/redux/store/configureStore.js.flow +3 -3
  656. package/lib/redux/store/configureStore.js.map +1 -1
  657. package/lib/utils/browser/Cookies.js.flow +1 -1
  658. package/lib/utils/browser/Cookies.js.map +1 -1
  659. package/lib/utils/browser/__tests__/Cookies.spec.js.flow +1 -1
  660. package/lib/utils/datetime/DateTimeUtil.js.flow +15 -15
  661. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  662. package/lib/utils/datetime/__tests__/DateTime.spec.js.flow +84 -81
  663. package/lib/utils/fetch/__tests__/xhr.spec.js.flow +2 -2
  664. package/lib/utils/fetch/universalFetch.js.flow +1 -1
  665. package/lib/utils/fetch/universalFetch.js.map +1 -1
  666. package/lib/utils/fetch/xhr.js.flow +6 -6
  667. package/lib/utils/fetch/xhr.js.map +1 -1
  668. package/lib/utils/helpers/__tests__/sanitizeHTML.spec.js.flow +8 -8
  669. package/lib/utils/helpers/sanitizeHtml.js.flow +3 -3
  670. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  671. package/lib/utils/helpers/text.js.flow +1 -1
  672. package/lib/utils/helpers/text.js.map +1 -1
  673. package/lib/utils/number/DecimalFormat.js.flow +2 -2
  674. package/lib/utils/number/DecimalFormat.js.map +1 -1
  675. package/lib/utils/number/__tests__/formatValue.spec.js.flow +1 -1
  676. package/lib/utils/number/formatValue.js.flow +2 -2
  677. package/lib/utils/number/formatValue.js.map +1 -1
  678. package/lib/utils/number/parseNumbers.js.flow +7 -7
  679. package/lib/utils/number/parseNumbers.js.map +1 -1
  680. package/package.json +20 -20
  681. package/src/builder/__tests__/mergeLayoutHintConfigurations.spec.js +4 -4
  682. package/src/builder/mergeLayoutHintConfigurations.js +3 -3
  683. package/src/constants/LayoutHints.js +1 -1
  684. package/src/constants/Settings.js +2 -2
  685. package/src/exceptions/FetchException.js +2 -2
  686. package/src/exceptions/NetworkException.js +1 -1
  687. package/src/exceptions/UnauthorizedException.js +1 -1
  688. package/src/hooks/__tests__/UseModularUIModel.spec.js +9 -9
  689. package/src/hooks/__tests__/useAuthentication.spec.js +2 -2
  690. package/src/hooks/__tests__/useForm.spec.js +2 -2
  691. package/src/hooks/__tests__/useModelCatalog.spec.js +7 -7
  692. package/src/hooks/__tests__/useModularUIBasic.spec.js +2 -2
  693. package/src/hooks/__tests__/usePreference.spec.js +1 -1
  694. package/src/hooks/useAllFormsOnModel.js +2 -2
  695. package/src/hooks/useAuthentication.js +2 -2
  696. package/src/hooks/useContent.js +1 -1
  697. package/src/hooks/useDeepCompareEffect.js +1 -1
  698. package/src/hooks/useForm.js +4 -4
  699. package/src/hooks/useI18n.js +3 -3
  700. package/src/hooks/useModal.js +2 -2
  701. package/src/hooks/useModelCatalog.js +1 -1
  702. package/src/hooks/useModularUI.js +1 -1
  703. package/src/hooks/useModularUIBasic.js +1 -1
  704. package/src/hooks/useModularUIModel.js +1 -1
  705. package/src/hooks/useModularUIRequest.js +1 -1
  706. package/src/hooks/useNotification.js +2 -2
  707. package/src/hooks/usePreference.js +17 -7
  708. package/src/i18n/Locale.js +4 -4
  709. package/src/i18n/Locales.js +8 -8
  710. package/src/i18n/Message.js +2 -2
  711. package/src/i18n/__tests__/Locale.spec.js +3 -3
  712. package/src/i18n/__tests__/Locales.spec.js +15 -13
  713. package/src/i18n/withMessage.js +4 -4
  714. package/src/models/actions/ActionCollection.js +4 -4
  715. package/src/models/actions/ActionModel.js +4 -4
  716. package/src/models/actions/__tests__/ActionCollection.spec.js +3 -3
  717. package/src/models/actions/__tests__/ActionModel.spec.js +1 -1
  718. package/src/models/application/ApplicationModel.js +3 -3
  719. package/src/models/attributes/AttributeCollection.js +7 -7
  720. package/src/models/attributes/AttributeContent.js +9 -9
  721. package/src/models/attributes/AttributeDataHelper.js +9 -9
  722. package/src/models/attributes/AttributeModel.js +24 -24
  723. package/src/models/attributes/AttributeSetModel.js +1 -1
  724. package/src/models/attributes/BooleanAttributeModel.js +4 -4
  725. package/src/models/attributes/ChoiceAttributeModel.js +7 -7
  726. package/src/models/attributes/ChoiceAttributeOptionCollection.js +15 -15
  727. package/src/models/attributes/ChoiceAttributeOptionModel.js +19 -11
  728. package/src/models/attributes/CompositeAttributeChildCollection.js +10 -10
  729. package/src/models/attributes/CompositeAttributeModel.js +7 -7
  730. package/src/models/attributes/DatetimeAttributeModel.js +6 -6
  731. package/src/models/attributes/NumberAttributeModel.js +9 -9
  732. package/src/models/attributes/PasswordAttributeModel.js +8 -8
  733. package/src/models/attributes/StringAttributeModel.js +3 -3
  734. package/src/models/attributes/UploadAttributeModel.js +5 -5
  735. package/src/models/attributes/__tests__/AttributeCollection.spec.js +11 -11
  736. package/src/models/attributes/__tests__/AttributeContent.spec.js +7 -7
  737. package/src/models/attributes/__tests__/AttributeModel.spec.js +5 -5
  738. package/src/models/attributes/__tests__/AttributeSetModel.spec.js +2 -2
  739. package/src/models/attributes/__tests__/BooleanAttributeModel.spec.js +1 -1
  740. package/src/models/attributes/__tests__/ChoiceAttributeModel.spec.js +8 -8
  741. package/src/models/attributes/__tests__/ChoiceAttributeOptionCollection.spec.js +8 -8
  742. package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +1 -1
  743. package/src/models/attributes/__tests__/DateAttributeModel.spec.js +4 -4
  744. package/src/models/attributes/__tests__/DatetimeAttributeModel.spec.js +11 -11
  745. package/src/models/attributes/__tests__/HelptextAttributeModel.spec.js +3 -3
  746. package/src/models/attributes/__tests__/MemoAttributeModel.spec.js +1 -1
  747. package/src/models/attributes/__tests__/MoneyAttributeModel.spec.js +1 -1
  748. package/src/models/attributes/__tests__/NumberAttributeModel.spec.js +1 -1
  749. package/src/models/attributes/__tests__/PasswordAttributeModel.spec.js +1 -1
  750. package/src/models/attributes/__tests__/StringAttributeModel.spec.js +4 -4
  751. package/src/models/attributes/__tests__/TimeAttributeModel.spec.js +2 -2
  752. package/src/models/attributes/__tests__/TimestampModel.spec.js +2 -2
  753. package/src/models/attributes/__tests__/UploadAttributeModel.spec.js +4 -4
  754. package/src/models/attributes/__tests__/_createAttribute.spec.js +6 -6
  755. package/src/models/attributes/__tests__/createAttributeComposite.spec.js +3 -3
  756. package/src/models/attributes/__tests__/createAttributeDynamicSchema.spec.js +3 -3
  757. package/src/models/attributes/_createAttribute.js +5 -5
  758. package/src/models/attributes/input-constraints/ConstraintCollection.js +5 -5
  759. package/src/models/attributes/input-constraints/ConstraintModel.js +1 -1
  760. package/src/models/attributes/input-constraints/DateBoundaryConstraint.js +6 -6
  761. package/src/models/attributes/input-constraints/MandatoryConstraint.js +1 -1
  762. package/src/models/attributes/input-constraints/NumberBoundaryConstraint.js +6 -6
  763. package/src/models/attributes/input-constraints/NumberFormatConstraint.js +2 -2
  764. package/src/models/attributes/input-constraints/NumberGroupingConstraint.js +2 -2
  765. package/src/models/attributes/input-constraints/__tests__/ConstraintModel.spec.js +1 -1
  766. package/src/models/attributes/input-constraints/__tests__/DateBoundaryConstraint.spec.js +6 -6
  767. package/src/models/attributes/input-constraints/__tests__/DateTimeDateFormatConstraint.spec.js +2 -2
  768. package/src/models/attributes/input-constraints/__tests__/DateTimeTimeFormatConstraint.spec.js +2 -2
  769. package/src/models/attributes/input-constraints/__tests__/DatetimeFormatConstraint.spec.js +5 -5
  770. package/src/models/attributes/input-constraints/__tests__/NumberBoundaryConstraint.spec.js +6 -6
  771. package/src/models/attributes/input-constraints/__tests__/NumberFormatConstraint.spec.js +3 -3
  772. package/src/models/attributes/input-constraints/__tests__/NumberGroupingConstraint.spec.js +2 -2
  773. package/src/models/attributes/input-constraints/__tests__/RegexConstraint.spec.js +1 -1
  774. package/src/models/attributes/input-constraints/__tests__/StringLengthConstraint.spec.js +4 -4
  775. package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +4 -4
  776. package/src/models/attributes/layouthint-rules/DependentAttribute.js +15 -15
  777. package/src/models/attributes/layouthint-rules/LayoutHintRuleCollection.js +2 -2
  778. package/src/models/attributes/layouthint-rules/RemainingTotalUploadSize.js +2 -2
  779. package/src/models/attributes/layouthint-rules/__tests__/DependentAttribute.spec.js +22 -22
  780. package/src/models/attributes/layouthint-rules/__tests__/LayoutHintRuleCollection.spec.js +1 -1
  781. package/src/models/attributes/layouthint-rules/__tests__/RemainingTotalUploadSize.spec.js +4 -4
  782. package/src/models/base/BaseCollection.js +6 -6
  783. package/src/models/base/BaseModel.js +1 -1
  784. package/src/models/base/ResourceModel.js +5 -5
  785. package/src/models/base/__tests__/ResourceCollection.spec.js +1 -1
  786. package/src/models/caseview/CaseViewModel.js +4 -4
  787. package/src/models/caseview/__tests__/CaseViewModel.spec.js +3 -3
  788. package/src/models/concepts/BusinessScenarioModel.js +9 -9
  789. package/src/models/concepts/ConceptDetailModel.js +17 -17
  790. package/src/models/concepts/ConceptIndexModel.js +2 -2
  791. package/src/models/concepts/ConceptLinkModel.js +6 -4
  792. package/src/models/concepts/ConceptRelationCollection.js +5 -5
  793. package/src/models/concepts/SourceReferenceCollection.js +2 -2
  794. package/src/models/concepts/SourceReferenceModel.js +2 -2
  795. package/src/models/concepts/__tests__/ConceptDetailModel.spec.js +1 -1
  796. package/src/models/content/ContentIndexModel.js +3 -3
  797. package/src/models/content/ContentLinkModel.js +11 -9
  798. package/src/models/content/ContentModel.js +2 -2
  799. package/src/models/content/ContentTOCModel.js +4 -4
  800. package/src/models/content/SectionModel.js +4 -4
  801. package/src/models/content/SubSectionModel.js +2 -2
  802. package/src/models/content/__tests__/ContentModel.spec.js +16 -16
  803. package/src/models/contentconfiguration/ContentConfiguration.js +1 -1
  804. package/src/models/contentconfiguration/ContentConfigurationElements.js +5 -5
  805. package/src/models/contentconfiguration/ContentConfigurationEndResults.js +1 -1
  806. package/src/models/contentconfiguration/ContentConfigurationQuestions.js +2 -2
  807. package/src/models/contentconfiguration/__tests__/ContentConfigurationResults.spec.js +12 -12
  808. package/src/models/detail/DetailModel.js +5 -5
  809. package/src/models/error/ErrorCollection.js +4 -4
  810. package/src/models/error/ErrorModel.js +1 -1
  811. package/src/models/error/__tests__/ErrorModel.spec.js +1 -1
  812. package/src/models/filters/AssignmentFilterModel.js +3 -3
  813. package/src/models/filters/BaseFilterModel.js +3 -3
  814. package/src/models/filters/FilterCollection.js +5 -5
  815. package/src/models/filters/__tests__/AssignmentFilterModel.spec.js +4 -4
  816. package/src/models/filters/__tests__/FilterCollection.spec.js +11 -11
  817. package/src/models/filters/__tests__/FilterModel.spec.js +1 -1
  818. package/src/models/filters/__tests__/RangeFilterModel.spec.js +1 -1
  819. package/src/models/form/FormModel.js +39 -39
  820. package/src/models/form/FormObjectModel.js +16 -16
  821. package/src/models/form/__tests__/FormModel.instrument.spec.js +7 -7
  822. package/src/models/form/__tests__/FormModel.repeating.spec.js +2 -2
  823. package/src/models/form/__tests__/FormModel.selfhref.spec.js +1 -1
  824. package/src/models/form/__tests__/FormModel.spec.js +6 -6
  825. package/src/models/form/__tests__/FormResultData.spec.js +1 -1
  826. package/src/models/form/__tests__/FormWithContent.spec.js +3 -3
  827. package/src/models/grouping/GroupingModel.js +7 -7
  828. package/src/models/grouping/__tests__/GroupingModel.spec.js +2 -2
  829. package/src/models/href/Href.js +6 -6
  830. package/src/models/href/__tests__/Href.spec.js +18 -16
  831. package/src/models/layouthint/LayoutHintCollection.js +3 -3
  832. package/src/models/links/LinkCollection.js +4 -4
  833. package/src/models/links/LinkModel.js +3 -3
  834. package/src/models/links/__tests__/LinkModel.spec.js +4 -4
  835. package/src/models/links/normalizeLinkJSON.js +6 -6
  836. package/src/models/list/ListDetailModel.js +7 -7
  837. package/src/models/list/ListItemCollection.js +2 -2
  838. package/src/models/list/ListItemModel.js +2 -2
  839. package/src/models/list/ListModel.js +6 -6
  840. package/src/models/list/__tests__/ListDetailModel.spec.js +4 -4
  841. package/src/models/list/__tests__/ListItemCollection.spec.js +1 -1
  842. package/src/models/list/__tests__/ListModel.spec.js +3 -3
  843. package/src/models/list/__tests__/ListResultDetail.spec.js +3 -3
  844. package/src/models/lookup/LookupOptionCollection.js +1 -1
  845. package/src/models/lookup/LookupOptionsModel.js +4 -4
  846. package/src/models/lookup/__tests__/LookupOptionsModel.spec.js +3 -3
  847. package/src/models/modelcatalog/ModelCatalogModel.js +2 -2
  848. package/src/models/paging/PagingModel.js +1 -1
  849. package/src/models/paging/__tests__/PagingModel.spec.js +2 -2
  850. package/src/models/panels/GroupingPanelModel.js +5 -5
  851. package/src/models/panels/__tests__/GroupingPanelModel.spec.js +8 -8
  852. package/src/models/parameter/__tests__/Parameter.spec.js +5 -5
  853. package/src/models/process/ProcessStatusSettingsModel.js +1 -1
  854. package/src/models/process/__tests__/ProcessStatusSettingsModel.spec.js +1 -1
  855. package/src/models/resolveModel.js +4 -4
  856. package/src/models/sorting/SortingModel.js +4 -4
  857. package/src/models/sorting/__tests__/SortingModel.spec.js +3 -3
  858. package/src/models/tab/TabModel.js +3 -3
  859. package/src/models/tab/__tests__/TabModel.spec.js +5 -5
  860. package/src/models/taskgroup/TaskGroupModel.js +2 -2
  861. package/src/models/types.js +1 -1
  862. package/src/models/user/UserProfileModel.js +1 -1
  863. package/src/models/user/__tests__/UserModel.spec.js +2 -2
  864. package/src/models/user/__tests__/UserProfileModel.spec.js +2 -2
  865. package/src/models/user/__tests__/UserServicesModel.spec.js +1 -1
  866. package/src/modularui/CaptchaRequest.js +1 -1
  867. package/src/modularui/ModularUIRequest.js +26 -26
  868. package/src/modularui/UploadRequest.js +6 -6
  869. package/src/modularui/__tests__/ModularUIError.spec.js +1 -1
  870. package/src/modularui/__tests__/ModularUIRequest.spec.js +9 -9
  871. package/src/react/utils.js +1 -1
  872. package/src/react-client/client.js +11 -10
  873. package/src/react-client/contextPath.js +2 -2
  874. package/src/react-client/rehydrate.js +1 -1
  875. package/src/react-server/__tests__/serverUtil.spec.js +2 -2
  876. package/src/react-server/createSSRComplete.js +3 -3
  877. package/src/react-server/renderSSRComplete.js +4 -4
  878. package/src/react-server/renderSSRMinimal.js +1 -1
  879. package/src/react-server/requestInformation.js +2 -2
  880. package/src/react-server/serverUtil.js +8 -8
  881. package/src/react-theme/__tests__/createTheme.spec.js +4 -4
  882. package/src/react-theme/createTheme.js +1 -1
  883. package/src/react-theme/utils/__tests__/background.spec.js +2 -2
  884. package/src/react-theme/utils/__tests__/contrast.spec.js +1 -1
  885. package/src/react-theme/utils/__tests__/corners.spec.js +3 -3
  886. package/src/react-theme/utils/__tests__/spacers.spec.js +1 -1
  887. package/src/react-theme/utils/__tests__/themeProps.spec.js +9 -9
  888. package/src/react-theme/utils/colors.js +3 -3
  889. package/src/react-theme/utils/contrast.js +6 -6
  890. package/src/react-theme/utils/corners.js +2 -2
  891. package/src/react-theme/utils/spacers.js +2 -2
  892. package/src/react-theme/utils/themeProps.js +8 -8
  893. package/src/redux/_i18n/I18nActions.js +1 -1
  894. package/src/redux/_i18n/I18nReducer.js +2 -2
  895. package/src/redux/_i18n/__tests__/reducer.spec.js +2 -2
  896. package/src/redux/_modularui/ModularUIActions.js +8 -8
  897. package/src/redux/_modularui/ModularUIConnector.js +4 -4
  898. package/src/redux/_modularui/ModularUIMiddleware.js +6 -6
  899. package/src/redux/_modularui/ModularUIReducer.js +5 -5
  900. package/src/redux/_modularui/ModularUISelectors.js +11 -11
  901. package/src/redux/_modularui/ModularUIUtils.js +1 -1
  902. package/src/redux/_modularui/__tests__/actions.spec.js +1 -1
  903. package/src/redux/_modularui/__tests__/reducer.spec.js +13 -13
  904. package/src/redux/_modularui/__tests__/selectors.spec.js +3 -3
  905. package/src/redux/_modularui/types.js +4 -4
  906. package/src/redux/_modularui/withModularUI.js +3 -3
  907. package/src/redux/_router/RouterActions.js +3 -3
  908. package/src/redux/_router/RouterConnectors.js +5 -5
  909. package/src/redux/_router/RouterReducer.js +1 -1
  910. package/src/redux/_router/__tests__/reducer.spec.js +2 -2
  911. package/src/redux/actions/Application.js +1 -1
  912. package/src/redux/actions/Authorization.js +1 -1
  913. package/src/redux/actions/Error.js +3 -3
  914. package/src/redux/actions/FormAttributeSet.js +2 -2
  915. package/src/redux/actions/FormAttributeSetRepeatable.js +3 -3
  916. package/src/redux/actions/FormAutosave.js +1 -1
  917. package/src/redux/actions/FormAutosubmit.js +1 -1
  918. package/src/redux/actions/FormValidations.js +3 -3
  919. package/src/redux/actions/Notification.js +4 -4
  920. package/src/redux/actions/Preferences.js +11 -11
  921. package/src/redux/actions/ProgressIndicator.js +1 -1
  922. package/src/redux/actions/SignIn.js +3 -3
  923. package/src/redux/actions/__tests__/Authorization.spec.js +2 -2
  924. package/src/redux/actions/__tests__/Error-server.spec.js +13 -13
  925. package/src/redux/actions/__tests__/Error.spec.js +6 -6
  926. package/src/redux/actions/__tests__/Notification.spec.js +1 -1
  927. package/src/redux/actions/__tests__/Preferences.spec.js +2 -2
  928. package/src/redux/connectors/Application.js +1 -1
  929. package/src/redux/connectors/Breadcrumb.js +1 -1
  930. package/src/redux/connectors/CaseView.js +1 -1
  931. package/src/redux/connectors/ConceptDetail.js +1 -1
  932. package/src/redux/connectors/ContentBrowser.js +1 -1
  933. package/src/redux/connectors/ContentDetail.js +1 -1
  934. package/src/redux/connectors/ContentDetailSection.js +2 -2
  935. package/src/redux/connectors/Form.js +5 -5
  936. package/src/redux/connectors/FormAttributeSet.js +6 -6
  937. package/src/redux/connectors/ListDetail.js +1 -1
  938. package/src/redux/connectors/Modal.js +1 -1
  939. package/src/redux/connectors/ModelCatalog.js +1 -1
  940. package/src/redux/connectors/Notification.js +1 -1
  941. package/src/redux/connectors/PanelRenderer.js +2 -2
  942. package/src/redux/connectors/Preferences.js +3 -3
  943. package/src/redux/connectors/Progress.js +1 -1
  944. package/src/redux/connectors/ProgressIndicator.js +1 -1
  945. package/src/redux/connectors/QuickSearch.js +2 -2
  946. package/src/redux/connectors/SignIn.js +1 -1
  947. package/src/redux/connectors/SignOut.js +1 -1
  948. package/src/redux/connectors/Tab.js +1 -1
  949. package/src/redux/reducers/AuthReducer.js +1 -1
  950. package/src/redux/reducers/ErrorReducer.js +1 -1
  951. package/src/redux/reducers/ModalsReducer.js +1 -1
  952. package/src/redux/reducers/NotificationReducer.js +1 -1
  953. package/src/redux/reducers/PreferencesReducer.js +1 -1
  954. package/src/redux/reducers/ProgressIndicatorReducer.js +1 -1
  955. package/src/redux/reducers/__tests__/AuthReducer.spec.js +10 -10
  956. package/src/redux/reducers/__tests__/ErrorReducer.spec.js +1 -1
  957. package/src/redux/reducers/__tests__/ModalsReducer.spec.js +3 -3
  958. package/src/redux/reducers/__tests__/NotificationReducer.spec.js +3 -3
  959. package/src/redux/reducers/__tests__/PreferencesReducer.spec.js +2 -2
  960. package/src/redux/reducers/__tests__/ProgressIndicatorReducer.spec.js +8 -8
  961. package/src/redux/store/beforeRenderHooks.js +1 -1
  962. package/src/redux/store/configureStore.js +3 -3
  963. package/src/utils/browser/Cookies.js +1 -1
  964. package/src/utils/browser/__tests__/Cookies.spec.js +1 -1
  965. package/src/utils/datetime/DateTimeUtil.js +15 -15
  966. package/src/utils/datetime/__tests__/DateTime.spec.js +84 -81
  967. package/src/utils/fetch/__tests__/xhr.spec.js +2 -2
  968. package/src/utils/fetch/universalFetch.js +1 -1
  969. package/src/utils/fetch/xhr.js +6 -6
  970. package/src/utils/helpers/__tests__/sanitizeHTML.spec.js +8 -8
  971. package/src/utils/helpers/sanitizeHtml.js +3 -3
  972. package/src/utils/helpers/text.js +1 -1
  973. package/src/utils/number/DecimalFormat.js +2 -2
  974. package/src/utils/number/__tests__/formatValue.spec.js +1 -1
  975. package/src/utils/number/formatValue.js +2 -2
  976. package/src/utils/number/parseNumbers.js +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanAttributeModel.js","names":["_AttributeModel","_interopRequireDefault","require","_DateTimeUtil","_ChoiceAttributeOptionCollection","_ContentConfigurationElements","_ChoiceAttributeOptionModel","_LayoutHints","_constants","BooleanAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_defineProperty2","default","_referenceDate","getData","DateUtil","now","_options","ChoiceAttributeOptionCollection","create","referenceDate","isApplicableModel","contributions","type","date","options","choicetype","_context","_find","call","hint","layouthint","has","isMultiple","isTree","hasContentConfiguration","_hasContentConfiguration","contentConfiguration","_context2","content","optionElements","optionElementConfig","_map","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","selected","_context3","option","code","readonlyvalue","_context4","label","join","initvalue","Array","isArray","_initvalue","length","getValue","_context5","hasValue","getInputValue","toggleOption","_context6","_includes","disableOption","enableOption","deselectAll","select","inputvalue","deselect","reset","mergeAttribute","oldAttribute","readonly","concept","isValid","update","value","updateLastModification","values","split","toString","forEach","val","ChoiceAttributeOptionModel","some","getFormData","inError","name","readonlyWidth","hasAlternativeLabel","ATTRIBUTE_WIDTH","SMALL","EXTRA_SMALL","exports"],"sources":["../../../src/models/attributes/BooleanAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\n\nimport { RENDER_SECTION_LABEL } from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Model for a boolean attribute\n */\nexport default class BooleanAttributeModel extends AttributeModel {\n _referenceDate: string;\n _options: ChoiceAttributeOptionCollection;\n _hasContentConfiguration: boolean = false;\n\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this._referenceDate = this.getData(\"referenceDate\", DateUtil.now());\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n this.referenceDate\n );\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"boolean\";\n }\n\n /**\n */\n get type(): string {\n return \"boolean\";\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n */\n get referenceDate(): string {\n return this._referenceDate;\n }\n\n /**\n * Set reference date for concepts and content\n */\n set referenceDate(date: string) {\n this._referenceDate = date;\n\n this.options.referenceDate = date;\n }\n\n /**\n * Getting the type of choice filter. For instance checkbox, radiobutton, combobox.\n */\n get choicetype(): \"checkbox\" | \"radiobutton\" | \"combobox\" | \"toggle\" {\n return (\n [\"checkbox\", \"radiobutton\", \"combobox\", \"toggle\"].find((hint) =>\n this.layouthint.has(hint)\n ) || \"radiobutton\"\n );\n }\n\n /**\n * Can multiple options be selected\n */\n get isMultiple(): boolean {\n return false;\n }\n\n /**\n * Check if options need to be rendered as tree\n */\n get isTree(): boolean {\n return false;\n }\n\n /**\n */\n set hasContentConfiguration(hasContentConfiguration: boolean) {\n this._hasContentConfiguration =\n this.contentConfiguration !== null || hasContentConfiguration;\n }\n\n /**\n */\n get hasContentConfiguration(): boolean {\n return this._hasContentConfiguration;\n }\n\n /**\n * Get content configuration configured on the attribute.\n * Only applicable for taxonomy element and knowledge codemaps,\n * content configuration for instrument questions is available on the form object\n */\n get contentConfiguration(): ContentConfigurationElements | null {\n if (\n !this.contributions.content ||\n !this.contributions.content.optionElements\n ) {\n return null;\n }\n\n // Add RENDER_SECTION_LABEL to all content configuration to make sure the label of a section is always rendered on taxonomy and knowlege codemaps\n const optionElementConfig = this.contributions.content.optionElements.map(\n (optionElement) => {\n if (\"contentElement\" in optionElement) {\n return {\n contentElement: {\n ...optionElement.contentElement,\n layouthint: [RENDER_SECTION_LABEL],\n },\n };\n }\n\n return optionElement;\n }\n );\n\n return new ContentConfigurationElements(optionElementConfig);\n }\n\n /**\n * Retrieve available choice options\n */\n get options(): ChoiceAttributeOptionCollection {\n return this._options;\n }\n\n /**\n * Getting all enabled options\n */\n get selected(): Array<string> {\n // $FlowFixMe[incompatible-call]\n return this.options.selected.map<string, ChoiceAttributeOptionModel>(\n (option: ChoiceAttributeOptionModel) => option.code\n );\n }\n\n /**\n * Flatten options and filter out the options that are not selected\n */\n get readonlyvalue(): string {\n return this.options.selected.map((option) => option.label).join(\", \");\n }\n\n /**\n */\n get initvalue(): any {\n if (Array.isArray(this._initvalue) && this._initvalue.length === 0) {\n return null;\n }\n\n return this._initvalue;\n }\n\n /**\n * Retrieve list of selected options, joined with comma\n */\n getValue(): string | null {\n return this.options.selected.length > 0\n ? this.options.selected.map((option) => option.code).join(\",\")\n : null;\n }\n\n /**\n */\n hasValue(): boolean {\n return this.options.selected.length > 0;\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.selected.join(\",\");\n }\n\n /**\n * Setting an option selected or unselected based on the current state\n */\n toggleOption(code: string) {\n if (this.selected.includes(code)) {\n this.disableOption(code);\n } else {\n this.enableOption(code);\n }\n }\n\n /**\n * Enable a option\n */\n enableOption(code: string) {\n this.options.deselectAll();\n this.options.select(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Disable a option\n */\n disableOption(code: string) {\n this.options.deselect(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Reset boolean attribute to unselected list\n */\n reset() {\n this.options.deselectAll();\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n // when attribute is readonly, don't merge the options no modifications necessary\n if (!this.readonly && oldAttribute instanceof BooleanAttributeModel) {\n this.concept = oldAttribute.concept;\n this.options.deselectAll();\n\n if (oldAttribute.isValid && oldAttribute.inputvalue !== null) {\n this.update(oldAttribute.inputvalue);\n }\n }\n }\n\n /**\n * Update attribute by name and value\n */\n update(value: any): BooleanAttributeModel {\n if (this.readonly) {\n return this;\n }\n\n this.updateLastModification();\n\n let values;\n\n if (Array.isArray(value)) {\n values = value;\n } else if (typeof value === \"string\" && this.isMultiple) {\n values = value.split(\",\");\n } else {\n values = [value.toString()];\n }\n\n values.forEach((val) => {\n if (val instanceof ChoiceAttributeOptionModel) {\n this.toggleOption(val.code);\n } else if (\n typeof val === \"string\" &&\n this.options.some((option) => option.code.toString() === val)\n ) {\n this.toggleOption(val);\n }\n });\n\n return this;\n }\n\n /**\n */\n getFormData(): { [string]: boolean | null } | null {\n if (this.inError()) {\n return null;\n }\n\n if (!this.hasValue()) {\n // no value for checkbox and toggle is same as a false value\n if (this.choicetype === \"checkbox\" || this.choicetype === \"toggle\") {\n return { [this.name]: false };\n }\n\n return { [this.name]: null };\n }\n\n return { [this.name]: this.value === \"true\" };\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.options.some((option) => option.hasAlternativeLabel)) {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.EXTRA_SMALL;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"BooleanAttributeModel.js","names":["_AttributeModel","_interopRequireDefault","require","_DateTimeUtil","_ChoiceAttributeOptionCollection","_ContentConfigurationElements","_ChoiceAttributeOptionModel","_LayoutHints","_constants","BooleanAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_defineProperty2","default","_referenceDate","getData","DateUtil","now","_options","ChoiceAttributeOptionCollection","create","referenceDate","isApplicableModel","contributions","type","date","options","choicetype","_context","_find","call","hint","layouthint","has","isMultiple","isTree","hasContentConfiguration","_hasContentConfiguration","contentConfiguration","_context2","content","optionElements","optionElementConfig","_map","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","selected","_context3","option","code","readonlyvalue","_context4","label","join","initvalue","Array","isArray","_initvalue","length","getValue","_context5","hasValue","getInputValue","toggleOption","_context6","_includes","disableOption","enableOption","deselectAll","select","inputvalue","deselect","reset","mergeAttribute","oldAttribute","readonly","concept","isValid","update","value","updateLastModification","values","split","toString","forEach","val","ChoiceAttributeOptionModel","some","getFormData","inError","name","readonlyWidth","hasAlternativeLabel","ATTRIBUTE_WIDTH","SMALL","EXTRA_SMALL","exports"],"sources":["../../../src/models/attributes/BooleanAttributeModel.js"],"sourcesContent":["// @flow\nimport AttributeModel from \"./AttributeModel\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\n\nimport { RENDER_SECTION_LABEL } from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport type { AttributeType } from \"../types\";\n\n/**\n * Model for a boolean attribute\n */\nexport default class BooleanAttributeModel extends AttributeModel {\n _referenceDate: string;\n _options: ChoiceAttributeOptionCollection;\n _hasContentConfiguration: boolean = false;\n\n /**\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this._referenceDate = this.getData(\"referenceDate\", DateUtil.now());\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n this.referenceDate,\n );\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return contributions.type === \"boolean\";\n }\n\n /**\n */\n get type(): string {\n return \"boolean\";\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n */\n get referenceDate(): string {\n return this._referenceDate;\n }\n\n /**\n * Set reference date for concepts and content\n */\n set referenceDate(date: string) {\n this._referenceDate = date;\n\n this.options.referenceDate = date;\n }\n\n /**\n * Getting the type of choice filter. For instance checkbox, radiobutton, combobox.\n */\n get choicetype(): \"checkbox\" | \"radiobutton\" | \"combobox\" | \"toggle\" {\n return (\n [\"checkbox\", \"radiobutton\", \"combobox\", \"toggle\"].find((hint) =>\n this.layouthint.has(hint),\n ) || \"radiobutton\"\n );\n }\n\n /**\n * Can multiple options be selected\n */\n get isMultiple(): boolean {\n return false;\n }\n\n /**\n * Check if options need to be rendered as tree\n */\n get isTree(): boolean {\n return false;\n }\n\n /**\n */\n set hasContentConfiguration(hasContentConfiguration: boolean) {\n this._hasContentConfiguration =\n this.contentConfiguration !== null || hasContentConfiguration;\n }\n\n /**\n */\n get hasContentConfiguration(): boolean {\n return this._hasContentConfiguration;\n }\n\n /**\n * Get content configuration configured on the attribute.\n * Only applicable for taxonomy element and knowledge codemaps,\n * content configuration for instrument questions is available on the form object\n */\n get contentConfiguration(): ContentConfigurationElements | null {\n if (\n !this.contributions.content ||\n !this.contributions.content.optionElements\n ) {\n return null;\n }\n\n // Add RENDER_SECTION_LABEL to all content configuration to make sure the label of a section is always rendered on taxonomy and knowlege codemaps\n const optionElementConfig = this.contributions.content.optionElements.map(\n (optionElement) => {\n if (\"contentElement\" in optionElement) {\n return {\n contentElement: {\n ...optionElement.contentElement,\n layouthint: [RENDER_SECTION_LABEL],\n },\n };\n }\n\n return optionElement;\n },\n );\n\n return new ContentConfigurationElements(optionElementConfig);\n }\n\n /**\n * Retrieve available choice options\n */\n get options(): ChoiceAttributeOptionCollection {\n return this._options;\n }\n\n /**\n * Getting all enabled options\n */\n get selected(): Array<string> {\n // $FlowFixMe[incompatible-call]\n return this.options.selected.map<string, ChoiceAttributeOptionModel>(\n (option: ChoiceAttributeOptionModel) => option.code,\n );\n }\n\n /**\n * Flatten options and filter out the options that are not selected\n */\n get readonlyvalue(): string {\n return this.options.selected.map((option) => option.label).join(\", \");\n }\n\n /**\n */\n get initvalue(): any {\n if (Array.isArray(this._initvalue) && this._initvalue.length === 0) {\n return null;\n }\n\n return this._initvalue;\n }\n\n /**\n * Retrieve list of selected options, joined with comma\n */\n getValue(): string | null {\n return this.options.selected.length > 0\n ? this.options.selected.map((option) => option.code).join(\",\")\n : null;\n }\n\n /**\n */\n hasValue(): boolean {\n return this.options.selected.length > 0;\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.selected.join(\",\");\n }\n\n /**\n * Setting an option selected or unselected based on the current state\n */\n toggleOption(code: string) {\n if (this.selected.includes(code)) {\n this.disableOption(code);\n } else {\n this.enableOption(code);\n }\n }\n\n /**\n * Enable a option\n */\n enableOption(code: string) {\n this.options.deselectAll();\n this.options.select(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Disable a option\n */\n disableOption(code: string) {\n this.options.deselect(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Reset boolean attribute to unselected list\n */\n reset() {\n this.options.deselectAll();\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n // when attribute is readonly, don't merge the options no modifications necessary\n if (!this.readonly && oldAttribute instanceof BooleanAttributeModel) {\n this.concept = oldAttribute.concept;\n this.options.deselectAll();\n\n if (oldAttribute.isValid && oldAttribute.inputvalue !== null) {\n this.update(oldAttribute.inputvalue);\n }\n }\n }\n\n /**\n * Update attribute by name and value\n */\n update(value: any): BooleanAttributeModel {\n if (this.readonly) {\n return this;\n }\n\n this.updateLastModification();\n\n let values;\n\n if (Array.isArray(value)) {\n values = value;\n } else if (typeof value === \"string\" && this.isMultiple) {\n values = value.split(\",\");\n } else {\n values = [value.toString()];\n }\n\n values.forEach((val) => {\n if (val instanceof ChoiceAttributeOptionModel) {\n this.toggleOption(val.code);\n } else if (\n typeof val === \"string\" &&\n this.options.some((option) => option.code.toString() === val)\n ) {\n this.toggleOption(val);\n }\n });\n\n return this;\n }\n\n /**\n */\n getFormData(): { [string]: boolean | null } | null {\n if (this.inError()) {\n return null;\n }\n\n if (!this.hasValue()) {\n // no value for checkbox and toggle is same as a false value\n if (this.choicetype === \"checkbox\" || this.choicetype === \"toggle\") {\n return { [this.name]: false };\n }\n\n return { [this.name]: null };\n }\n\n return { [this.name]: this.value === \"true\" };\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.options.some((option) => option.hasAlternativeLabel)) {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.EXTRA_SMALL;\n }\n}\n"],"mappings":"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"}
@@ -269,7 +269,7 @@ class ChoiceAttributeModel extends _AttributeModel.default {
269
269
  values = [value];
270
270
  }
271
271
  values.forEach(val => {
272
- if (val instanceof _ChoiceAttributeOptionModel.default) {
272
+ if (typeof val === "object" && val.isChoiceAttributeOptionModel) {
273
273
  // option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options
274
274
  if (!this.options.some(option => option.equals(val))) {
275
275
  this.options.add(val);
@@ -34,7 +34,7 @@ export default class ChoiceAttributeModel extends AttributeModel {
34
34
  this._options = ChoiceAttributeOptionCollection.create(
35
35
  attribute,
36
36
  attributeContributions,
37
- this.referenceDate
37
+ this.referenceDate,
38
38
  );
39
39
 
40
40
  if (this.layouthint.has(SORT_OPTIONS)) {
@@ -95,7 +95,7 @@ export default class ChoiceAttributeModel extends AttributeModel {
95
95
  this.concept = models.find(
96
96
  (model) =>
97
97
  model.type === "ConceptDetail" &&
98
- model.selfhref.equalsWithParameters(conceptLinkHref)
98
+ model.selfhref.equalsWithParameters(conceptLinkHref),
99
99
  );
100
100
  }
101
101
 
@@ -151,7 +151,7 @@ export default class ChoiceAttributeModel extends AttributeModel {
151
151
  get selected(): Array<string> {
152
152
  // $FlowFixMe[incompatible-call]
153
153
  return this.options.selected.map<string, ChoiceAttributeOptionModel>(
154
- (option: ChoiceAttributeOptionModel) => option.code
154
+ (option: ChoiceAttributeOptionModel) => option.code,
155
155
  );
156
156
  }
157
157
 
@@ -323,7 +323,7 @@ export default class ChoiceAttributeModel extends AttributeModel {
323
323
  values = [value];
324
324
  }
325
325
  values.forEach((val) => {
326
- if (val instanceof ChoiceAttributeOptionModel) {
326
+ if (typeof val === "object" && val.isChoiceAttributeOptionModel) {
327
327
  // option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options
328
328
  if (!this.options.some((option) => option.equals(val))) {
329
329
  this.options.add(val);
@@ -380,7 +380,7 @@ export default class ChoiceAttributeModel extends AttributeModel {
380
380
  }
381
381
 
382
382
  return optionElement;
383
- }
383
+ },
384
384
  );
385
385
 
386
386
  return new ContentConfigurationElements(optionElementConfig);
@@ -404,11 +404,11 @@ export default class ChoiceAttributeModel extends AttributeModel {
404
404
  if (properties && has(properties, ANSWER_OPTION_KEY)) {
405
405
  const optionKey = properties[ANSWER_OPTION_KEY];
406
406
  const foundOption = this.options.find(
407
- (option) => option.code === optionKey
407
+ (option) => option.code === optionKey,
408
408
  );
409
409
  if (foundOption) {
410
410
  properties[ANSWER_OPTION_KEY] = foundOption.getContentConfiguredLabel(
411
- this.contentConfiguration
411
+ this.contentConfiguration,
412
412
  );
413
413
  }
414
414
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceAttributeModel.js","names":["_objects","require","_DateTimeUtil","_AttributeModel","_interopRequireDefault","_ChoiceAttributeOptionCollection","_ChoiceAttributeOptionModel","_ContentConfigurationElements","_LayoutHints","_constants","ChoiceAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_defineProperty2","default","_referenceDate","getData","DateUtil","now","_options","ChoiceAttributeOptionCollection","create","referenceDate","layouthint","has","SORT_OPTIONS","sortOptions","isApplicableModel","contributions","type","optionMode","getContribution","hasLookupLink","lookupLink","lookupListLink","getInitialChildModelLinks","links","hasContentConfiguration","hasContentFromData","conceptLink","push","options","setChildModels","models","conceptLinkHref","href","concept","_find","call","model","selfhref","equalsWithParameters","getLinkByKey","lookupListLabel","lookupList","label","date","selected","_context","_map","option","code","readonlyvalue","_context2","join","initvalue","Array","isArray","_initvalue","length","getValue","_context3","hasValue","getInputValue","toggleOption","_context4","_includes","disableOption","enableOption","isMultiple","deselectAll","select","inputvalue","deselect","addOption","_context5","opt","choicetype","_context6","hint","multiplechoice","isTree","some","reset","mergeAttribute","oldAttribute","readonly","mergeOptions","isValid","update","value","updateLastModification","values","split","forEach","val","ChoiceAttributeOptionModel","equals","add","toString","_hasContentConfiguration","contentConfiguration","_context7","content","optionElements","optionElementConfig","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","placeholder","addServerError","error","id","message","properties","ANSWER_OPTION_KEY","_context8","optionKey","foundOption","getContentConfiguredLabel","_errorCollection","readonlyWidth","ATTRIBUTE_WIDTH","SMALL","MEDIUM","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\n\nimport {\n RENDER_SECTION_LABEL,\n SORT_OPTIONS,\n} from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport type { ModularUIModel, AttributeType, FormErrorAnchor } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Model for a choice attribute\n */\nexport default class ChoiceAttributeModel extends AttributeModel {\n _referenceDate: ISO_DATE;\n _options: ChoiceAttributeOptionCollection;\n _hasContentConfiguration: boolean;\n\n /**\n * Constructs a choice attribute\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this._referenceDate = this.getData(\"referenceDate\", DateUtil.now());\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n this.referenceDate\n );\n\n if (this.layouthint.has(SORT_OPTIONS)) {\n this._options.sortOptions = true;\n }\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return (\n contributions.type !== \"composite\" &&\n contributions.type !== \"boolean\" &&\n (contributions.type === \"choice\" ||\n contributions.type === \"array\" ||\n has(contributions, \"enumerated\") ||\n has(contributions, \"options\"))\n );\n }\n\n /**\n */\n get type(): string {\n const optionMode = this.getContribution(\"optionMode\", \"\");\n const hasLookupLink = this.lookupLink || this.lookupListLink;\n\n if (\n optionMode === \"lookup\" ||\n (optionMode === \"dynamicWithThreshold\" && hasLookupLink)\n ) {\n return \"lookup\";\n }\n\n return \"choice\";\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const links = [];\n\n if (this.hasContentConfiguration) {\n if (!this.hasContentFromData && this.conceptLink) {\n links.push(this.conceptLink);\n }\n\n links.push(...this.options.getInitialChildModelLinks());\n }\n\n return links;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n const conceptLinkHref = this.conceptLink?.href;\n if (conceptLinkHref) {\n this.concept = models.find(\n (model) =>\n model.type === \"ConceptDetail\" &&\n model.selfhref.equalsWithParameters(conceptLinkHref)\n );\n }\n\n this.options.setChildModels(models);\n }\n\n /**\n * Retrieve lookup service link\n */\n get lookupLink(): LinkModel | null {\n return this.links.getLinkByKey(\"lookupOptions\");\n }\n\n /**\n * Retrieve lookup service as list link\n */\n get lookupListLink(): LinkModel | null {\n return this.links.getLinkByKey(\"lookupList\");\n }\n\n /**\n */\n get lookupListLabel(): string {\n return this.contributions.lookupList?.label ?? \"\";\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n * Set reference date for concepts and content\n */\n set referenceDate(date: string) {\n this._referenceDate = date;\n\n this.options.referenceDate = date;\n }\n\n /**\n * Retrieve available choice options\n */\n get options(): ChoiceAttributeOptionCollection {\n return this._options;\n }\n\n /**\n * Getting all enabled options\n */\n get selected(): Array<string> {\n // $FlowFixMe[incompatible-call]\n return this.options.selected.map<string, ChoiceAttributeOptionModel>(\n (option: ChoiceAttributeOptionModel) => option.code\n );\n }\n\n /**\n * Flatten options and filter out the options that are not selected\n */\n get readonlyvalue(): string {\n return this.options.selected.map((option) => option.label).join(\", \");\n }\n\n /**\n */\n get initvalue(): any {\n if (Array.isArray(this._initvalue) && this._initvalue.length === 0) {\n return null;\n }\n\n return this._initvalue;\n }\n\n /**\n * Retrieve list of selected options, joined with comma\n */\n getValue(): string | null {\n return this.options.selected.length > 0\n ? this.options.selected.map((option) => option.code).join(\",\")\n : null;\n }\n\n /**\n */\n hasValue(): boolean {\n return this.options.selected.length > 0;\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.selected.join(\",\");\n }\n\n /**\n * Setting an option selected or unselected based on the current state\n */\n toggleOption(code: string) {\n if (this.selected.includes(code)) {\n this.disableOption(code);\n } else {\n this.enableOption(code);\n }\n }\n\n /**\n * Enable a option\n */\n enableOption(code: string) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n this.options.select(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Disable a option\n */\n disableOption(code: string) {\n this.options.deselect(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Add a new option to the collection of lookup options\n */\n addOption(option: Object) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n if (this.options.find((opt) => opt.code === option.code) === null) {\n this.options.addOption(option.code, option);\n }\n }\n\n /**\n * Getting the type of choice filter. For instance checkbox, radiobutton, combobox.\n */\n get choicetype():\n | \"checkbox\"\n | \"radiobutton\"\n | \"combobox\"\n | \"list\"\n | \"listview\"\n | \"table\"\n | \"longlist\"\n | \"toggle\" {\n return (\n [\n \"checkbox\",\n \"radiobutton\",\n \"combobox\",\n \"list\",\n \"listview\",\n \"table\",\n \"longlist\",\n \"toggle\",\n ].find((hint) => this.layouthint.has(hint)) || \"checkbox\"\n );\n }\n\n /**\n * Can multiple options be selected\n */\n get isMultiple(): boolean {\n return this.contributions.multiplechoice || this.choicetype === \"checkbox\";\n }\n\n /**\n * Check if options need to be rendered as tree\n */\n get isTree(): boolean {\n return (\n has(this.contributions, \"options\") &&\n this.contributions.options.some((option) => has(option, \"children\"))\n );\n }\n\n /**\n * Reset choice attribute to unselected list\n */\n reset() {\n this.options.deselectAll();\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n // when attribute is readonly, don't merge the options no modifications necessary\n if (!this.readonly && oldAttribute instanceof ChoiceAttributeModel) {\n this.concept = oldAttribute.concept;\n this.options.mergeOptions(oldAttribute.options, this.type === \"lookup\");\n this.options.deselectAll();\n\n if (oldAttribute.isValid && oldAttribute.inputvalue !== null) {\n this.update(oldAttribute.inputvalue);\n }\n }\n }\n\n /**\n * Update attribute by name and value\n */\n update(value: any): ChoiceAttributeModel {\n if (this.readonly) {\n return this;\n }\n\n this.updateLastModification();\n\n let values;\n\n if (Array.isArray(value)) {\n values = value;\n } else if (typeof value === \"string\" && this.isMultiple) {\n values = value.split(\",\");\n } else {\n values = [value];\n }\n values.forEach((val) => {\n if (val instanceof ChoiceAttributeOptionModel) {\n // option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options\n if (!this.options.some((option) => option.equals(val))) {\n this.options.add(val);\n }\n\n this.toggleOption(val.code);\n } else if (\n typeof val === \"string\" &&\n this.options.some((option) => option.code.toString() === val)\n ) {\n this.toggleOption(val);\n }\n });\n\n return this;\n }\n\n /**\n */\n set hasContentConfiguration(hasContentConfiguration: boolean) {\n this._hasContentConfiguration =\n this.contentConfiguration !== null || hasContentConfiguration;\n }\n\n /**\n */\n get hasContentConfiguration(): boolean {\n return this._hasContentConfiguration;\n }\n\n /**\n * Get content configuration configured on the attribute.\n * Only applicable for taxonomy element and knowledge codemaps,\n * content configuration for instrument questions is available on the form object\n */\n get contentConfiguration(): ContentConfigurationElements | null {\n if (\n !this.contributions.content ||\n !this.contributions.content.optionElements\n ) {\n return null;\n }\n\n // Add RENDER_SECTION_LABEL to all content configuration to make sure the label of a section is always rendered on taxonomy and knowlege codemaps\n const optionElementConfig = this.contributions.content.optionElements.map(\n (optionElement) => {\n if (\"contentElement\" in optionElement) {\n return {\n contentElement: {\n ...optionElement.contentElement,\n layouthint: [RENDER_SECTION_LABEL],\n },\n };\n }\n\n return optionElement;\n }\n );\n\n return new ContentConfigurationElements(optionElementConfig);\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties, layouthint } = error;\n\n const ANSWER_OPTION_KEY = \"answer-option-key\";\n\n if (properties && has(properties, ANSWER_OPTION_KEY)) {\n const optionKey = properties[ANSWER_OPTION_KEY];\n const foundOption = this.options.find(\n (option) => option.code === optionKey\n );\n if (foundOption) {\n properties[ANSWER_OPTION_KEY] = foundOption.getContentConfiguredLabel(\n this.contentConfiguration\n );\n }\n }\n\n this._errorCollection.addServerError(id, message, properties, layouthint);\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"lookup\") {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChoiceAttributeModel.js","names":["_objects","require","_DateTimeUtil","_AttributeModel","_interopRequireDefault","_ChoiceAttributeOptionCollection","_ChoiceAttributeOptionModel","_ContentConfigurationElements","_LayoutHints","_constants","ChoiceAttributeModel","AttributeModel","constructor","attribute","attributeContributions","_defineProperty2","default","_referenceDate","getData","DateUtil","now","_options","ChoiceAttributeOptionCollection","create","referenceDate","layouthint","has","SORT_OPTIONS","sortOptions","isApplicableModel","contributions","type","optionMode","getContribution","hasLookupLink","lookupLink","lookupListLink","getInitialChildModelLinks","links","hasContentConfiguration","hasContentFromData","conceptLink","push","options","setChildModels","models","conceptLinkHref","href","concept","_find","call","model","selfhref","equalsWithParameters","getLinkByKey","lookupListLabel","lookupList","label","date","selected","_context","_map","option","code","readonlyvalue","_context2","join","initvalue","Array","isArray","_initvalue","length","getValue","_context3","hasValue","getInputValue","toggleOption","_context4","_includes","disableOption","enableOption","isMultiple","deselectAll","select","inputvalue","deselect","addOption","_context5","opt","choicetype","_context6","hint","multiplechoice","isTree","some","reset","mergeAttribute","oldAttribute","readonly","mergeOptions","isValid","update","value","updateLastModification","values","split","forEach","val","isChoiceAttributeOptionModel","equals","add","toString","_hasContentConfiguration","contentConfiguration","_context7","content","optionElements","optionElementConfig","optionElement","contentElement","RENDER_SECTION_LABEL","ContentConfigurationElements","placeholder","addServerError","error","id","message","properties","ANSWER_OPTION_KEY","_context8","optionKey","foundOption","getContentConfiguredLabel","_errorCollection","readonlyWidth","ATTRIBUTE_WIDTH","SMALL","MEDIUM","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\n\nimport {\n RENDER_SECTION_LABEL,\n SORT_OPTIONS,\n} from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport type { ModularUIModel, AttributeType, FormErrorAnchor } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Model for a choice attribute\n */\nexport default class ChoiceAttributeModel extends AttributeModel {\n _referenceDate: ISO_DATE;\n _options: ChoiceAttributeOptionCollection;\n _hasContentConfiguration: boolean;\n\n /**\n * Constructs a choice attribute\n */\n constructor(attribute: Object, attributeContributions: Object) {\n super(attribute, attributeContributions);\n\n this._referenceDate = this.getData(\"referenceDate\", DateUtil.now());\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n this.referenceDate,\n );\n\n if (this.layouthint.has(SORT_OPTIONS)) {\n this._options.sortOptions = true;\n }\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return (\n contributions.type !== \"composite\" &&\n contributions.type !== \"boolean\" &&\n (contributions.type === \"choice\" ||\n contributions.type === \"array\" ||\n has(contributions, \"enumerated\") ||\n has(contributions, \"options\"))\n );\n }\n\n /**\n */\n get type(): string {\n const optionMode = this.getContribution(\"optionMode\", \"\");\n const hasLookupLink = this.lookupLink || this.lookupListLink;\n\n if (\n optionMode === \"lookup\" ||\n (optionMode === \"dynamicWithThreshold\" && hasLookupLink)\n ) {\n return \"lookup\";\n }\n\n return \"choice\";\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const links = [];\n\n if (this.hasContentConfiguration) {\n if (!this.hasContentFromData && this.conceptLink) {\n links.push(this.conceptLink);\n }\n\n links.push(...this.options.getInitialChildModelLinks());\n }\n\n return links;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n const conceptLinkHref = this.conceptLink?.href;\n if (conceptLinkHref) {\n this.concept = models.find(\n (model) =>\n model.type === \"ConceptDetail\" &&\n model.selfhref.equalsWithParameters(conceptLinkHref),\n );\n }\n\n this.options.setChildModels(models);\n }\n\n /**\n * Retrieve lookup service link\n */\n get lookupLink(): LinkModel | null {\n return this.links.getLinkByKey(\"lookupOptions\");\n }\n\n /**\n * Retrieve lookup service as list link\n */\n get lookupListLink(): LinkModel | null {\n return this.links.getLinkByKey(\"lookupList\");\n }\n\n /**\n */\n get lookupListLabel(): string {\n return this.contributions.lookupList?.label ?? \"\";\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n * Set reference date for concepts and content\n */\n set referenceDate(date: string) {\n this._referenceDate = date;\n\n this.options.referenceDate = date;\n }\n\n /**\n * Retrieve available choice options\n */\n get options(): ChoiceAttributeOptionCollection {\n return this._options;\n }\n\n /**\n * Getting all enabled options\n */\n get selected(): Array<string> {\n // $FlowFixMe[incompatible-call]\n return this.options.selected.map<string, ChoiceAttributeOptionModel>(\n (option: ChoiceAttributeOptionModel) => option.code,\n );\n }\n\n /**\n * Flatten options and filter out the options that are not selected\n */\n get readonlyvalue(): string {\n return this.options.selected.map((option) => option.label).join(\", \");\n }\n\n /**\n */\n get initvalue(): any {\n if (Array.isArray(this._initvalue) && this._initvalue.length === 0) {\n return null;\n }\n\n return this._initvalue;\n }\n\n /**\n * Retrieve list of selected options, joined with comma\n */\n getValue(): string | null {\n return this.options.selected.length > 0\n ? this.options.selected.map((option) => option.code).join(\",\")\n : null;\n }\n\n /**\n */\n hasValue(): boolean {\n return this.options.selected.length > 0;\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.selected.join(\",\");\n }\n\n /**\n * Setting an option selected or unselected based on the current state\n */\n toggleOption(code: string) {\n if (this.selected.includes(code)) {\n this.disableOption(code);\n } else {\n this.enableOption(code);\n }\n }\n\n /**\n * Enable a option\n */\n enableOption(code: string) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n this.options.select(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Disable a option\n */\n disableOption(code: string) {\n this.options.deselect(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Add a new option to the collection of lookup options\n */\n addOption(option: Object) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n if (this.options.find((opt) => opt.code === option.code) === null) {\n this.options.addOption(option.code, option);\n }\n }\n\n /**\n * Getting the type of choice filter. For instance checkbox, radiobutton, combobox.\n */\n get choicetype():\n | \"checkbox\"\n | \"radiobutton\"\n | \"combobox\"\n | \"list\"\n | \"listview\"\n | \"table\"\n | \"longlist\"\n | \"toggle\" {\n return (\n [\n \"checkbox\",\n \"radiobutton\",\n \"combobox\",\n \"list\",\n \"listview\",\n \"table\",\n \"longlist\",\n \"toggle\",\n ].find((hint) => this.layouthint.has(hint)) || \"checkbox\"\n );\n }\n\n /**\n * Can multiple options be selected\n */\n get isMultiple(): boolean {\n return this.contributions.multiplechoice || this.choicetype === \"checkbox\";\n }\n\n /**\n * Check if options need to be rendered as tree\n */\n get isTree(): boolean {\n return (\n has(this.contributions, \"options\") &&\n this.contributions.options.some((option) => has(option, \"children\"))\n );\n }\n\n /**\n * Reset choice attribute to unselected list\n */\n reset() {\n this.options.deselectAll();\n }\n\n /**\n */\n mergeAttribute(oldAttribute: AttributeType) {\n // when attribute is readonly, don't merge the options no modifications necessary\n if (!this.readonly && oldAttribute instanceof ChoiceAttributeModel) {\n this.concept = oldAttribute.concept;\n this.options.mergeOptions(oldAttribute.options, this.type === \"lookup\");\n this.options.deselectAll();\n\n if (oldAttribute.isValid && oldAttribute.inputvalue !== null) {\n this.update(oldAttribute.inputvalue);\n }\n }\n }\n\n /**\n * Update attribute by name and value\n */\n update(value: any): ChoiceAttributeModel {\n if (this.readonly) {\n return this;\n }\n\n this.updateLastModification();\n\n let values;\n\n if (Array.isArray(value)) {\n values = value;\n } else if (typeof value === \"string\" && this.isMultiple) {\n values = value.split(\",\");\n } else {\n values = [value];\n }\n values.forEach((val) => {\n if (typeof val === \"object\" && val.isChoiceAttributeOptionModel) {\n // option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options\n if (!this.options.some((option) => option.equals(val))) {\n this.options.add(val);\n }\n\n this.toggleOption(val.code);\n } else if (\n typeof val === \"string\" &&\n this.options.some((option) => option.code.toString() === val)\n ) {\n this.toggleOption(val);\n }\n });\n\n return this;\n }\n\n /**\n */\n set hasContentConfiguration(hasContentConfiguration: boolean) {\n this._hasContentConfiguration =\n this.contentConfiguration !== null || hasContentConfiguration;\n }\n\n /**\n */\n get hasContentConfiguration(): boolean {\n return this._hasContentConfiguration;\n }\n\n /**\n * Get content configuration configured on the attribute.\n * Only applicable for taxonomy element and knowledge codemaps,\n * content configuration for instrument questions is available on the form object\n */\n get contentConfiguration(): ContentConfigurationElements | null {\n if (\n !this.contributions.content ||\n !this.contributions.content.optionElements\n ) {\n return null;\n }\n\n // Add RENDER_SECTION_LABEL to all content configuration to make sure the label of a section is always rendered on taxonomy and knowlege codemaps\n const optionElementConfig = this.contributions.content.optionElements.map(\n (optionElement) => {\n if (\"contentElement\" in optionElement) {\n return {\n contentElement: {\n ...optionElement.contentElement,\n layouthint: [RENDER_SECTION_LABEL],\n },\n };\n }\n\n return optionElement;\n },\n );\n\n return new ContentConfigurationElements(optionElementConfig);\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties, layouthint } = error;\n\n const ANSWER_OPTION_KEY = \"answer-option-key\";\n\n if (properties && has(properties, ANSWER_OPTION_KEY)) {\n const optionKey = properties[ANSWER_OPTION_KEY];\n const foundOption = this.options.find(\n (option) => option.code === optionKey,\n );\n if (foundOption) {\n properties[ANSWER_OPTION_KEY] = foundOption.getContentConfiguredLabel(\n this.contentConfiguration,\n );\n }\n }\n\n this._errorCollection.addServerError(id, message, properties, layouthint);\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n if (this.type === \"lookup\") {\n return ATTRIBUTE_WIDTH.SMALL;\n }\n\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n"],"mappings":"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"}
@@ -34,7 +34,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
34
34
  static create(
35
35
  data: Object = {},
36
36
  contributions: Object = {},
37
- referenceDate: ISO_DATE = DateUtil.now()
37
+ referenceDate: ISO_DATE = DateUtil.now(),
38
38
  ): ChoiceAttributeOptionCollection {
39
39
  const collection = new ChoiceAttributeOptionCollection();
40
40
 
@@ -71,7 +71,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
71
71
  selectedOptions.push(
72
72
  ...data.options
73
73
  .filter((option) => option.selected)
74
- .map((option) => option.key)
74
+ .map((option) => option.key),
75
75
  );
76
76
  } else if (Array.isArray(data.value)) {
77
77
  selectedOptions.push(...data.value);
@@ -102,7 +102,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
102
102
  addOptions(
103
103
  data: Object,
104
104
  contributions: Object,
105
- referenceDate: ISO_DATE = DateUtil.now()
105
+ referenceDate: ISO_DATE = DateUtil.now(),
106
106
  ): ChoiceAttributeOptionCollection {
107
107
  const selectedValues = this.getSelectedOptions(data);
108
108
 
@@ -115,7 +115,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
115
115
  ...optionContributions,
116
116
  count: this.getOptionCount(optionCode, data.options),
117
117
  },
118
- referenceDate
118
+ referenceDate,
119
119
  );
120
120
  });
121
121
 
@@ -128,7 +128,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
128
128
  addDynamicSchema(
129
129
  data: Object,
130
130
  contributions: Object,
131
- referenceDate: ISO_DATE = DateUtil.now()
131
+ referenceDate: ISO_DATE = DateUtil.now(),
132
132
  ): ChoiceAttributeOptionCollection {
133
133
  const selectedValues = this.getSelectedOptions(data);
134
134
  data.dynamicschema.forEach((optionDynamicschema) => {
@@ -139,7 +139,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
139
139
  count: this.getOptionCount(optionDynamicschema.code, data.options),
140
140
  elementsContributions: contributions.children,
141
141
  },
142
- referenceDate
142
+ referenceDate,
143
143
  );
144
144
  });
145
145
 
@@ -152,7 +152,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
152
152
  code: "true" | "false",
153
153
  defaultLabel: string,
154
154
  data: string | Array<string>,
155
- options: Array<Object> = []
155
+ options: Array<Object> = [],
156
156
  ) {
157
157
  const foundOption = options.find((option) => option.code === code);
158
158
 
@@ -172,7 +172,7 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
172
172
  */
173
173
  addBooleanOptions(
174
174
  value: any,
175
- contributions: Object
175
+ contributions: Object,
176
176
  ): ChoiceAttributeOptionCollection {
177
177
  const optionValue = value == null ? [] : [value.toString()];
178
178
 
@@ -187,12 +187,12 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
187
187
  addOption(
188
188
  data: string | Array<string>,
189
189
  contributions: Object,
190
- referenceDate: ISO_DATE = DateUtil.now()
190
+ referenceDate: ISO_DATE = DateUtil.now(),
191
191
  ): ChoiceAttributeOptionCollection {
192
192
  const optionModel = new ChoiceAttributeOptionModel(
193
193
  Array.isArray(data) ? data : [data],
194
194
  contributions,
195
- referenceDate
195
+ referenceDate,
196
196
  );
197
197
 
198
198
  this.add(optionModel);
@@ -306,20 +306,20 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
306
306
  */
307
307
  mergeOptions(
308
308
  withOptions: ChoiceAttributeOptionCollection,
309
- addNotExistingOptions: boolean = false
309
+ addNotExistingOptions: boolean = false,
310
310
  ) {
311
311
  if (addNotExistingOptions) {
312
312
  this.collection = [
313
313
  ...this.collection,
314
314
  ...withOptions.filter(
315
- (option) => !this.collection.some((opt) => opt.code === option.code)
315
+ (option) => !this.collection.some((opt) => opt.code === option.code),
316
316
  ),
317
317
  ];
318
318
  }
319
319
 
320
320
  this.collection.forEach((option) => {
321
321
  const foundOption = withOptions.find(
322
- (withOption) => withOption.code === option.code
322
+ (withOption) => withOption.code === option.code,
323
323
  );
324
324
  if (foundOption) {
325
325
  option.mergeOption(foundOption);
@@ -333,9 +333,9 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
333
333
  callbackfn: (
334
334
  value: ChoiceAttributeOptionModel,
335
335
  index: number,
336
- array: Array<ChoiceAttributeOptionModel>
336
+ array: Array<ChoiceAttributeOptionModel>,
337
337
  ) => any,
338
- thisArg?: any
338
+ thisArg?: any,
339
339
  ): boolean {
340
340
  return this.collection.some((option, optionIndex, collectionArray) => {
341
341
  const result = callbackfn(option, optionIndex, collectionArray);
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceAttributeOptionCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ChoiceAttributeOptionModel","_ListHeaderModel","_DateTimeUtil","ChoiceAttributeOptionCollection","ResourceCollection","constructor","arguments","_defineProperty2","default","sortOptions","_sortOptions","collection","forEach","option","children","create","data","length","undefined","contributions","referenceDate","DateUtil","now","type","addBooleanOptions","value","dynamicschema","addDynamicSchema","options","addOptions","addHeaders","all","_context","_sort","call","a","b","label","localeCompare","getSelectedOptions","selectedOptions","Array","isArray","_context2","_context3","push","_map","_filter","selected","key","toString","getOptionCount","code","foundOption","_find","count","selectedValues","optionContributions","optionCode","addOption","optionDynamicschema","elementsContributions","addBooleanOption","defaultLabel","isBooleanType","hasAlternativeLabel","optionValue","optionModel","ChoiceAttributeOptionModel","add","deselectAll","_context4","newOption","clone","select","toggle","deselect","action","_context5","setReferenceDate","date","_context6","headers","_headers","child","ListHeaderModel","mergeOptions","withOptions","addNotExistingOptions","some","opt","withOption","mergeOption","callbackfn","thisArg","optionIndex","collectionArray","result","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\n/**\n */\nclass ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttributeOptionModel> {\n _headers: Array<ListHeaderModel> = [];\n _sortOptions: boolean = false;\n\n /**\n */\n set sortOptions(sortOptions: boolean) {\n this._sortOptions = sortOptions;\n\n this.collection.forEach((option) => {\n if (option.children) {\n option.children.sortOptions = sortOptions;\n }\n });\n }\n\n /**\n */\n get sortOptions(): boolean {\n return this._sortOptions;\n }\n\n /**\n */\n static create(\n data: Object = {},\n contributions: Object = {},\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const collection = new ChoiceAttributeOptionCollection();\n\n if (contributions.type === \"boolean\") {\n collection.addBooleanOptions(data.value, contributions);\n } else if (data.dynamicschema != null) {\n collection.addDynamicSchema(data, contributions, referenceDate);\n } else if (contributions.options != null) {\n collection.addOptions(data, contributions, referenceDate);\n }\n\n if (contributions.children != null) {\n collection.addHeaders(contributions.children);\n }\n\n return collection;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<ChoiceAttributeOptionModel> {\n return this.sortOptions\n ? this.collection.sort((a, b) => a.label.localeCompare(b.label))\n : this.collection;\n }\n\n /**\n */\n getSelectedOptions(data: Object): Array<string> {\n const selectedOptions = [];\n\n if (Array.isArray(data.options)) {\n selectedOptions.push(\n ...data.options\n .filter((option) => option.selected)\n .map((option) => option.key)\n );\n } else if (Array.isArray(data.value)) {\n selectedOptions.push(...data.value);\n } else if (typeof data.value === \"boolean\") {\n selectedOptions.push(data.value.toString());\n } else {\n selectedOptions.push(data.value);\n }\n\n return selectedOptions;\n }\n\n /**\n */\n getOptionCount(code: string, options: Array<Object>): number | null {\n if (Array.isArray(options)) {\n const foundOption = options.find((option) => option.key === code);\n if (foundOption) {\n return foundOption.count;\n }\n }\n\n return null;\n }\n\n /**\n */\n addOptions(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n\n contributions.options.forEach((optionContributions) => {\n const optionCode = optionContributions.code || optionContributions.key;\n\n this.addOption(\n selectedValues,\n {\n ...optionContributions,\n count: this.getOptionCount(optionCode, data.options),\n },\n referenceDate\n );\n });\n\n return this;\n }\n\n /**\n * Create options based on data and dynamischema\n */\n addDynamicSchema(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n data.dynamicschema.forEach((optionDynamicschema) => {\n this.addOption(\n selectedValues,\n {\n ...optionDynamicschema,\n count: this.getOptionCount(optionDynamicschema.code, data.options),\n elementsContributions: contributions.children,\n },\n referenceDate\n );\n });\n\n return this;\n }\n\n /**\n */\n addBooleanOption(\n code: \"true\" | \"false\",\n defaultLabel: string,\n data: string | Array<string>,\n options: Array<Object> = []\n ) {\n const foundOption = options.find((option) => option.code === code);\n\n const label = foundOption ? foundOption.label : defaultLabel;\n\n this.addOption(data, {\n code,\n label,\n isBooleanType: true,\n hasAlternativeLabel: foundOption != null,\n });\n }\n\n /**\n * Create two static options for true and false,\n * there might be alternative labels configured for each option value\n */\n addBooleanOptions(\n value: any,\n contributions: Object\n ): ChoiceAttributeOptionCollection {\n const optionValue = value == null ? [] : [value.toString()];\n\n this.addBooleanOption(\"true\", \"Yes\", optionValue, contributions.options);\n this.addBooleanOption(\"false\", \"No\", optionValue, contributions.options);\n\n return this;\n }\n\n /**\n */\n addOption(\n data: string | Array<string>,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now()\n ): ChoiceAttributeOptionCollection {\n const optionModel = new ChoiceAttributeOptionModel(\n Array.isArray(data) ? data : [data],\n contributions,\n referenceDate\n );\n\n this.add(optionModel);\n\n return this;\n }\n\n /**\n * Get all options that have selected property true\n */\n get selected(): Array<ChoiceAttributeOptionModel> {\n const selectedOptions = [];\n\n this.collection.forEach((option: ChoiceAttributeOptionModel) => {\n if (option.selected && option.selected === true) {\n selectedOptions.push(option);\n }\n\n if (option.children) {\n selectedOptions.push(...option.children.selected);\n }\n });\n\n return selectedOptions;\n }\n\n /**\n * Deselect all options\n */\n deselectAll() {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n newOption.selected = false;\n\n if (newOption.children) {\n newOption.children.deselectAll();\n }\n\n return newOption;\n });\n }\n\n /**\n * Select an option by it's code\n */\n select(optionCode: string) {\n this.toggle(optionCode, \"select\");\n }\n\n /**\n * Deselect an option by it's code\n */\n deselect(optionCode: string) {\n this.toggle(optionCode, \"deselect\");\n }\n\n /**\n * Toggle an option by it's code\n */\n toggle(optionCode: string, action: \"select\" | \"deselect\") {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n if (newOption.code === optionCode) {\n newOption.selected = action === \"select\";\n } else if (newOption.children) {\n newOption.children.toggle(optionCode, action);\n }\n\n return newOption;\n });\n }\n\n /**\n */\n setReferenceDate(date: ISO_DATE): Array<ChoiceAttributeOptionModel> {\n return this.collection.map((option) => {\n option.referenceDate = date;\n if (option.children) {\n option.children.referenceDate = date;\n }\n\n return option;\n });\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this.collection = this.setReferenceDate(date);\n }\n\n /**\n */\n addHeaders(headers: Array<Object>) {\n this._headers = headers.map((child) => new ListHeaderModel(child));\n }\n\n /**\n */\n get headers(): Array<ListHeaderModel> {\n if (this._headers) {\n return this._headers;\n }\n\n return [];\n }\n\n /**\n */\n mergeOptions(\n withOptions: ChoiceAttributeOptionCollection,\n addNotExistingOptions: boolean = false\n ) {\n if (addNotExistingOptions) {\n this.collection = [\n ...this.collection,\n ...withOptions.filter(\n (option) => !this.collection.some((opt) => opt.code === option.code)\n ),\n ];\n }\n\n this.collection.forEach((option) => {\n const foundOption = withOptions.find(\n (withOption) => withOption.code === option.code\n );\n if (foundOption) {\n option.mergeOption(foundOption);\n }\n });\n }\n\n /**\n */\n some(\n callbackfn: (\n value: ChoiceAttributeOptionModel,\n index: number,\n array: Array<ChoiceAttributeOptionModel>\n ) => any,\n thisArg?: any\n ): boolean {\n return this.collection.some((option, optionIndex, collectionArray) => {\n const result = callbackfn(option, optionIndex, collectionArray);\n if (!result && option.children) {\n return option.children.some(callbackfn, thisArg);\n }\n return result;\n });\n }\n}\n\nexport default ChoiceAttributeOptionCollection;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChoiceAttributeOptionCollection.js","names":["_ResourceCollection","_interopRequireDefault","require","_ChoiceAttributeOptionModel","_ListHeaderModel","_DateTimeUtil","ChoiceAttributeOptionCollection","ResourceCollection","constructor","arguments","_defineProperty2","default","sortOptions","_sortOptions","collection","forEach","option","children","create","data","length","undefined","contributions","referenceDate","DateUtil","now","type","addBooleanOptions","value","dynamicschema","addDynamicSchema","options","addOptions","addHeaders","all","_context","_sort","call","a","b","label","localeCompare","getSelectedOptions","selectedOptions","Array","isArray","_context2","_context3","push","_map","_filter","selected","key","toString","getOptionCount","code","foundOption","_find","count","selectedValues","optionContributions","optionCode","addOption","optionDynamicschema","elementsContributions","addBooleanOption","defaultLabel","isBooleanType","hasAlternativeLabel","optionValue","optionModel","ChoiceAttributeOptionModel","add","deselectAll","_context4","newOption","clone","select","toggle","deselect","action","_context5","setReferenceDate","date","_context6","headers","_headers","child","ListHeaderModel","mergeOptions","withOptions","addNotExistingOptions","some","opt","withOption","mergeOption","callbackfn","thisArg","optionIndex","collectionArray","result","_default","exports"],"sources":["../../../src/models/attributes/ChoiceAttributeOptionCollection.js"],"sourcesContent":["// @flow\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\n\nimport { DateUtil } from \"../../utils/datetime/DateTimeUtil\";\n\n/**\n */\nclass ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttributeOptionModel> {\n _headers: Array<ListHeaderModel> = [];\n _sortOptions: boolean = false;\n\n /**\n */\n set sortOptions(sortOptions: boolean) {\n this._sortOptions = sortOptions;\n\n this.collection.forEach((option) => {\n if (option.children) {\n option.children.sortOptions = sortOptions;\n }\n });\n }\n\n /**\n */\n get sortOptions(): boolean {\n return this._sortOptions;\n }\n\n /**\n */\n static create(\n data: Object = {},\n contributions: Object = {},\n referenceDate: ISO_DATE = DateUtil.now(),\n ): ChoiceAttributeOptionCollection {\n const collection = new ChoiceAttributeOptionCollection();\n\n if (contributions.type === \"boolean\") {\n collection.addBooleanOptions(data.value, contributions);\n } else if (data.dynamicschema != null) {\n collection.addDynamicSchema(data, contributions, referenceDate);\n } else if (contributions.options != null) {\n collection.addOptions(data, contributions, referenceDate);\n }\n\n if (contributions.children != null) {\n collection.addHeaders(contributions.children);\n }\n\n return collection;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<ChoiceAttributeOptionModel> {\n return this.sortOptions\n ? this.collection.sort((a, b) => a.label.localeCompare(b.label))\n : this.collection;\n }\n\n /**\n */\n getSelectedOptions(data: Object): Array<string> {\n const selectedOptions = [];\n\n if (Array.isArray(data.options)) {\n selectedOptions.push(\n ...data.options\n .filter((option) => option.selected)\n .map((option) => option.key),\n );\n } else if (Array.isArray(data.value)) {\n selectedOptions.push(...data.value);\n } else if (typeof data.value === \"boolean\") {\n selectedOptions.push(data.value.toString());\n } else {\n selectedOptions.push(data.value);\n }\n\n return selectedOptions;\n }\n\n /**\n */\n getOptionCount(code: string, options: Array<Object>): number | null {\n if (Array.isArray(options)) {\n const foundOption = options.find((option) => option.key === code);\n if (foundOption) {\n return foundOption.count;\n }\n }\n\n return null;\n }\n\n /**\n */\n addOptions(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now(),\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n\n contributions.options.forEach((optionContributions) => {\n const optionCode = optionContributions.code || optionContributions.key;\n\n this.addOption(\n selectedValues,\n {\n ...optionContributions,\n count: this.getOptionCount(optionCode, data.options),\n },\n referenceDate,\n );\n });\n\n return this;\n }\n\n /**\n * Create options based on data and dynamischema\n */\n addDynamicSchema(\n data: Object,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now(),\n ): ChoiceAttributeOptionCollection {\n const selectedValues = this.getSelectedOptions(data);\n data.dynamicschema.forEach((optionDynamicschema) => {\n this.addOption(\n selectedValues,\n {\n ...optionDynamicschema,\n count: this.getOptionCount(optionDynamicschema.code, data.options),\n elementsContributions: contributions.children,\n },\n referenceDate,\n );\n });\n\n return this;\n }\n\n /**\n */\n addBooleanOption(\n code: \"true\" | \"false\",\n defaultLabel: string,\n data: string | Array<string>,\n options: Array<Object> = [],\n ) {\n const foundOption = options.find((option) => option.code === code);\n\n const label = foundOption ? foundOption.label : defaultLabel;\n\n this.addOption(data, {\n code,\n label,\n isBooleanType: true,\n hasAlternativeLabel: foundOption != null,\n });\n }\n\n /**\n * Create two static options for true and false,\n * there might be alternative labels configured for each option value\n */\n addBooleanOptions(\n value: any,\n contributions: Object,\n ): ChoiceAttributeOptionCollection {\n const optionValue = value == null ? [] : [value.toString()];\n\n this.addBooleanOption(\"true\", \"Yes\", optionValue, contributions.options);\n this.addBooleanOption(\"false\", \"No\", optionValue, contributions.options);\n\n return this;\n }\n\n /**\n */\n addOption(\n data: string | Array<string>,\n contributions: Object,\n referenceDate: ISO_DATE = DateUtil.now(),\n ): ChoiceAttributeOptionCollection {\n const optionModel = new ChoiceAttributeOptionModel(\n Array.isArray(data) ? data : [data],\n contributions,\n referenceDate,\n );\n\n this.add(optionModel);\n\n return this;\n }\n\n /**\n * Get all options that have selected property true\n */\n get selected(): Array<ChoiceAttributeOptionModel> {\n const selectedOptions = [];\n\n this.collection.forEach((option: ChoiceAttributeOptionModel) => {\n if (option.selected && option.selected === true) {\n selectedOptions.push(option);\n }\n\n if (option.children) {\n selectedOptions.push(...option.children.selected);\n }\n });\n\n return selectedOptions;\n }\n\n /**\n * Deselect all options\n */\n deselectAll() {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n newOption.selected = false;\n\n if (newOption.children) {\n newOption.children.deselectAll();\n }\n\n return newOption;\n });\n }\n\n /**\n * Select an option by it's code\n */\n select(optionCode: string) {\n this.toggle(optionCode, \"select\");\n }\n\n /**\n * Deselect an option by it's code\n */\n deselect(optionCode: string) {\n this.toggle(optionCode, \"deselect\");\n }\n\n /**\n * Toggle an option by it's code\n */\n toggle(optionCode: string, action: \"select\" | \"deselect\") {\n this.collection = this.collection.map((option) => {\n const newOption = option.clone();\n\n if (newOption.code === optionCode) {\n newOption.selected = action === \"select\";\n } else if (newOption.children) {\n newOption.children.toggle(optionCode, action);\n }\n\n return newOption;\n });\n }\n\n /**\n */\n setReferenceDate(date: ISO_DATE): Array<ChoiceAttributeOptionModel> {\n return this.collection.map((option) => {\n option.referenceDate = date;\n if (option.children) {\n option.children.referenceDate = date;\n }\n\n return option;\n });\n }\n\n /**\n */\n set referenceDate(date: ISO_DATE) {\n this.collection = this.setReferenceDate(date);\n }\n\n /**\n */\n addHeaders(headers: Array<Object>) {\n this._headers = headers.map((child) => new ListHeaderModel(child));\n }\n\n /**\n */\n get headers(): Array<ListHeaderModel> {\n if (this._headers) {\n return this._headers;\n }\n\n return [];\n }\n\n /**\n */\n mergeOptions(\n withOptions: ChoiceAttributeOptionCollection,\n addNotExistingOptions: boolean = false,\n ) {\n if (addNotExistingOptions) {\n this.collection = [\n ...this.collection,\n ...withOptions.filter(\n (option) => !this.collection.some((opt) => opt.code === option.code),\n ),\n ];\n }\n\n this.collection.forEach((option) => {\n const foundOption = withOptions.find(\n (withOption) => withOption.code === option.code,\n );\n if (foundOption) {\n option.mergeOption(foundOption);\n }\n });\n }\n\n /**\n */\n some(\n callbackfn: (\n value: ChoiceAttributeOptionModel,\n index: number,\n array: Array<ChoiceAttributeOptionModel>,\n ) => any,\n thisArg?: any,\n ): boolean {\n return this.collection.some((option, optionIndex, collectionArray) => {\n const result = callbackfn(option, optionIndex, collectionArray);\n if (!result && option.children) {\n return option.children.some(callbackfn, thisArg);\n }\n return result;\n });\n }\n}\n\nexport default ChoiceAttributeOptionCollection;\n"],"mappings":"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"}
@@ -60,6 +60,14 @@ class ChoiceAttributeOptionModel extends _BaseModel.default {
60
60
  return option;
61
61
  }
62
62
 
63
+ /**
64
+ * Indicates that this a choice attribute option model, used when adding options to a choice attribute
65
+ * @returns {boolean}
66
+ */
67
+ get isChoiceAttributeOptionModel() {
68
+ return true;
69
+ }
70
+
63
71
  /**
64
72
  */
65
73
  getInitialChildModelLinks() {
@@ -38,7 +38,7 @@ class ChoiceAttributeOptionModel
38
38
  constructor(
39
39
  selectedValues: Array<string> = [],
40
40
  option: Object = {},
41
- referenceDate: ISO_DATE = DateUtil.now()
41
+ referenceDate: ISO_DATE = DateUtil.now(),
42
42
  ) {
43
43
  super({}, option);
44
44
 
@@ -61,7 +61,7 @@ class ChoiceAttributeOptionModel
61
61
  /**
62
62
  */
63
63
  static createFromListItemModel(
64
- listitem: ListItemModel
64
+ listitem: ListItemModel,
65
65
  ): ChoiceAttributeOptionModel {
66
66
  const option = new ChoiceAttributeOptionModel();
67
67
 
@@ -72,6 +72,14 @@ class ChoiceAttributeOptionModel
72
72
  return option;
73
73
  }
74
74
 
75
+ /**
76
+ * Indicates that this a choice attribute option model, used when adding options to a choice attribute
77
+ * @returns {boolean}
78
+ */
79
+ get isChoiceAttributeOptionModel(): boolean {
80
+ return true;
81
+ }
82
+
75
83
  /**
76
84
  */
77
85
  getInitialChildModelLinks(): Array<LinkModel> {
@@ -95,7 +103,7 @@ class ChoiceAttributeOptionModel
95
103
  const conceptHref = this.conceptLink.href;
96
104
 
97
105
  this.concept = models.find((model) =>
98
- model.selfhref.equalsWithParameters(conceptHref)
106
+ model.selfhref.equalsWithParameters(conceptHref),
99
107
  );
100
108
  }
101
109
 
@@ -189,7 +197,7 @@ class ChoiceAttributeOptionModel
189
197
  .getLabelElementByIds(configuredLabelProperties)
190
198
  .filter(
191
199
  (configuredLabel) =>
192
- configuredLabel.value && configuredLabel.value !== ""
200
+ configuredLabel.value && configuredLabel.value !== "",
193
201
  );
194
202
 
195
203
  if (configuredLabels.length > 0) {
@@ -197,14 +205,14 @@ class ChoiceAttributeOptionModel
197
205
  .filter((configuredLabelProperty) =>
198
206
  configuredLabels.some(
199
207
  (configuredLabel) =>
200
- configuredLabel._id === configuredLabelProperty
201
- )
208
+ configuredLabel._id === configuredLabelProperty,
209
+ ),
202
210
  )
203
211
  .map((configuredLabelProperty) =>
204
212
  configuredLabels.find(
205
213
  (configuredLabel) =>
206
- configuredLabel._id === configuredLabelProperty
207
- )
214
+ configuredLabel._id === configuredLabelProperty,
215
+ ),
208
216
  )[0].value;
209
217
  }
210
218
  }
@@ -238,7 +246,7 @@ class ChoiceAttributeOptionModel
238
246
  addChildren(
239
247
  selectedValues: Array<string> = [],
240
248
  option: Object = {},
241
- referenceDate: ISO_DATE = DateUtil.now()
249
+ referenceDate: ISO_DATE = DateUtil.now(),
242
250
  ): ChoiceAttributeOptionCollection {
243
251
  // When contributions contain elements this is a list not nested options
244
252
  if (has(option, "elements")) {
@@ -250,7 +258,7 @@ class ChoiceAttributeOptionModel
250
258
  value: selectedValues,
251
259
  },
252
260
  { options: option?.children ?? [] },
253
- referenceDate
261
+ referenceDate,
254
262
  );
255
263
  }
256
264
 
@@ -295,7 +303,7 @@ class ChoiceAttributeOptionModel
295
303
  if (conceptLink !== null) {
296
304
  conceptLink.href = conceptLink.href.addParameter(
297
305
  TIMEVERSION_FILTER_NAME,
298
- this.referenceDate
306
+ this.referenceDate,
299
307
  );
300
308
 
301
309
  conceptLink.isCacheable = true;