@beinformed/ui 1.30.0 → 1.31.0

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 (612) hide show
  1. package/CHANGELOG.md +13 -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/NetworkException.js.map +1 -1
  6. package/esm/hooks/useAllFormsOnModel.js.map +1 -1
  7. package/esm/hooks/useAuthentication.js.map +1 -1
  8. package/esm/hooks/useContent.js.map +1 -1
  9. package/esm/hooks/useForm.js +3 -2
  10. package/esm/hooks/useForm.js.map +1 -1
  11. package/esm/hooks/useI18n.js.map +1 -1
  12. package/esm/hooks/useModal.js.map +1 -1
  13. package/esm/hooks/useModelCatalog.js.map +1 -1
  14. package/esm/hooks/useModels.js.map +1 -1
  15. package/esm/hooks/useModularUI.js.map +1 -1
  16. package/esm/hooks/useModularUIBasic.js.map +1 -1
  17. package/esm/hooks/useNotification.js.map +1 -1
  18. package/esm/hooks/useProgressIndicator.js.map +1 -1
  19. package/esm/hooks/useRouter.js.map +1 -1
  20. package/esm/i18n/Locale.js.map +1 -1
  21. package/esm/i18n/Locales.js.map +1 -1
  22. package/esm/i18n/Message.js.map +1 -1
  23. package/esm/i18n/withMessage.js.map +1 -1
  24. package/esm/models/actions/ActionCollection.js.map +1 -1
  25. package/esm/models/actions/ActionModel.js.map +1 -1
  26. package/esm/models/application/ApplicationModel.js.map +1 -1
  27. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  28. package/esm/models/attributes/AttributeContent.js.map +1 -1
  29. package/esm/models/attributes/AttributeDataHelper.js.map +1 -1
  30. package/esm/models/attributes/AttributeModel.js.map +1 -1
  31. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  32. package/esm/models/attributes/BooleanAttributeModel.js +1 -1
  33. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  34. package/esm/models/attributes/CaptchaAttributeModel.js.map +1 -1
  35. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  36. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  37. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  38. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  39. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  40. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  41. package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
  42. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  43. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  44. package/esm/models/attributes/UploadAttributeModel.js.map +1 -1
  45. package/esm/models/attributes/XMLAttributeModel.js.map +1 -1
  46. package/esm/models/attributes/_createAttribute.js.map +1 -1
  47. package/esm/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  48. package/esm/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  49. package/esm/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  50. package/esm/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  51. package/esm/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  52. package/esm/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  53. package/esm/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  54. package/esm/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  55. package/esm/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  56. package/esm/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  57. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js +5 -7
  58. package/esm/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  59. package/esm/models/attributes/layouthint-rules/DependentAttribute.js +2 -0
  60. package/esm/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  61. package/esm/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  62. package/esm/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  63. package/esm/models/base/BaseCollection.js.map +1 -1
  64. package/esm/models/base/BaseModel.js.map +1 -1
  65. package/esm/models/base/ResourceCollection.js.map +1 -1
  66. package/esm/models/base/ResourceModel.js.map +1 -1
  67. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  68. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  69. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  70. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  71. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  72. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  73. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  74. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  75. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  76. package/esm/models/content/ContentIndexModel.js.map +1 -1
  77. package/esm/models/content/ContentLinkModel.js.map +1 -1
  78. package/esm/models/content/ContentModel.js.map +1 -1
  79. package/esm/models/content/ContentTOCModel.js.map +1 -1
  80. package/esm/models/content/SectionModel.js.map +1 -1
  81. package/esm/models/content/SubSectionModel.js.map +1 -1
  82. package/esm/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  83. package/esm/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  84. package/esm/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  85. package/esm/models/detail/DetailModel.js.map +1 -1
  86. package/esm/models/error/ErrorCollection.js.map +1 -1
  87. package/esm/models/error/ErrorModel.js.map +1 -1
  88. package/esm/models/error/ErrorResponse.js +6 -0
  89. package/esm/models/error/ErrorResponse.js.map +1 -1
  90. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  91. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  92. package/esm/models/filters/FilterCollection.js.map +1 -1
  93. package/esm/models/form/FormModel.js +30 -3
  94. package/esm/models/form/FormModel.js.map +1 -1
  95. package/esm/models/form/FormObjectModel.js.map +1 -1
  96. package/esm/models/grouping/GroupingModel.js.map +1 -1
  97. package/esm/models/href/Href.js.map +1 -1
  98. package/esm/models/href/ListHref.js.map +1 -1
  99. package/esm/models/layouthint/LayoutHintCollection.js +4 -4
  100. package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
  101. package/esm/models/links/LinkCollection.js.map +1 -1
  102. package/esm/models/links/LinkModel.js.map +1 -1
  103. package/esm/models/links/normalizeLinkJSON.js.map +1 -1
  104. package/esm/models/list/ListDetailModel.js.map +1 -1
  105. package/esm/models/list/ListItemCollection.js.map +1 -1
  106. package/esm/models/list/ListItemModel.js.map +1 -1
  107. package/esm/models/list/ListModel.js.map +1 -1
  108. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  109. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  110. package/esm/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  111. package/esm/models/paging/PagingModel.js.map +1 -1
  112. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  113. package/esm/models/process/ProcessStatusSettingsModel.js.map +1 -1
  114. package/esm/models/resolveModel.js.map +1 -1
  115. package/esm/models/search/CaseSearchModel.js.map +1 -1
  116. package/esm/models/sorting/SortingModel.js +1 -1
  117. package/esm/models/sorting/SortingModel.js.map +1 -1
  118. package/esm/models/tab/TabModel.js.map +1 -1
  119. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  120. package/esm/models/user/UserProfileModel.js.map +1 -1
  121. package/esm/modularui/Authenticate.js.map +1 -1
  122. package/esm/modularui/CaptchaRequest.js.map +1 -1
  123. package/esm/modularui/ModularUIRequest.js.map +1 -1
  124. package/esm/modularui/ModularUIResponse.js.map +1 -1
  125. package/esm/modularui/UploadRequest.js.map +1 -1
  126. package/esm/react/ErrorBoundary.js.map +1 -1
  127. package/esm/react/ErrorBoundaryFallback.js.map +1 -1
  128. package/esm/react-client/Init.js.map +1 -1
  129. package/esm/react-client/client.js.map +1 -1
  130. package/esm/react-client/contextPath.js.map +1 -1
  131. package/esm/react-client/rehydrate.js.map +1 -1
  132. package/esm/react-server/contextPath.js.map +1 -1
  133. package/esm/react-server/createSSRComplete.js.map +1 -1
  134. package/esm/react-server/htmlpage.js.map +1 -1
  135. package/esm/react-server/renderSSRComplete.js.map +1 -1
  136. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  137. package/esm/react-server/requestInformation.js.map +1 -1
  138. package/esm/react-server/serverNoSSR.js.map +1 -1
  139. package/esm/react-server/serverSSR.js.map +1 -1
  140. package/esm/react-server/serverUtil.js.map +1 -1
  141. package/esm/react-theme/ThemeProvider.js.map +1 -1
  142. package/esm/react-theme/createTheme.js.map +1 -1
  143. package/esm/react-theme/utils/contrast.js.map +1 -1
  144. package/esm/react-theme/utils/corners.js.map +1 -1
  145. package/esm/react-theme/utils/spacers.js.map +1 -1
  146. package/esm/react-theme/utils/themeProps.js.map +1 -1
  147. package/esm/redux/_i18n/I18nActions.js.map +1 -1
  148. package/esm/redux/_i18n/I18nReducer.js.map +1 -1
  149. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  150. package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
  151. package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  152. package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
  153. package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
  154. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  155. package/esm/redux/_modularui/withModularUI.js.map +1 -1
  156. package/esm/redux/_router/RouterConnectors.js.map +1 -1
  157. package/esm/redux/_router/RouterMiddleware.js.map +1 -1
  158. package/esm/redux/actions/Application.js.map +1 -1
  159. package/esm/redux/actions/Authorization.js.map +1 -1
  160. package/esm/redux/actions/Error.js.map +1 -1
  161. package/esm/redux/actions/Form.js.map +1 -1
  162. package/esm/redux/actions/FormAttributeSet.js.map +1 -1
  163. package/esm/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  164. package/esm/redux/actions/FormAutosave.js.map +1 -1
  165. package/esm/redux/actions/FormAutosubmit.js.map +1 -1
  166. package/esm/redux/actions/FormValidations.js.map +1 -1
  167. package/esm/redux/actions/Notification.js.map +1 -1
  168. package/esm/redux/actions/Preferences.js.map +1 -1
  169. package/esm/redux/actions/SignIn.js.map +1 -1
  170. package/esm/redux/actions/SignOut.js.map +1 -1
  171. package/esm/redux/connectors/Application.js.map +1 -1
  172. package/esm/redux/connectors/CaseView.js.map +1 -1
  173. package/esm/redux/connectors/ConceptDetail.js.map +1 -1
  174. package/esm/redux/connectors/ContentBrowser.js.map +1 -1
  175. package/esm/redux/connectors/ContentDetail.js.map +1 -1
  176. package/esm/redux/connectors/ContentDetailSection.js.map +1 -1
  177. package/esm/redux/connectors/Form.js.map +1 -1
  178. package/esm/redux/connectors/FormAttributeSet.js.map +1 -1
  179. package/esm/redux/connectors/ListDetail.js.map +1 -1
  180. package/esm/redux/connectors/ModelCatalog.js.map +1 -1
  181. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  182. package/esm/redux/connectors/Preferences.js.map +1 -1
  183. package/esm/redux/connectors/QuickSearch.js.map +1 -1
  184. package/esm/redux/connectors/Tab.js.map +1 -1
  185. package/esm/redux/reducers/AuthReducer.js.map +1 -1
  186. package/esm/redux/reducers/ModalsReducer.js.map +1 -1
  187. package/esm/redux/reducers/NotificationReducer.js.map +1 -1
  188. package/esm/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  189. package/esm/redux/store/configureStore.js.map +1 -1
  190. package/esm/utils/browser/Cache.js.map +1 -1
  191. package/esm/utils/browser/Cookies.js.map +1 -1
  192. package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
  193. package/esm/utils/fetch/serverFetch.js.map +1 -1
  194. package/esm/utils/fetch/universalFetch.js.map +1 -1
  195. package/esm/utils/fetch/xhr.js.map +1 -1
  196. package/esm/utils/helpers/checkResource.js.map +1 -1
  197. package/esm/utils/helpers/createHash.js.map +1 -1
  198. package/esm/utils/helpers/createUUID.js.map +1 -1
  199. package/esm/utils/helpers/repositoryResource.js.map +1 -1
  200. package/esm/utils/helpers/sanitizeHtml.js.map +1 -1
  201. package/esm/utils/number/DecimalFormat.js +4 -8
  202. package/esm/utils/number/DecimalFormat.js.map +1 -1
  203. package/esm/utils/number/formatValue.js.map +1 -1
  204. package/esm/utils/number/parseNumbers.js.map +1 -1
  205. package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
  206. package/lib/constants/LayoutHints.js.map +1 -1
  207. package/lib/constants/Settings.js.map +1 -1
  208. package/lib/exceptions/NetworkException.js.map +1 -1
  209. package/lib/hooks/useAllFormsOnModel.js.map +1 -1
  210. package/lib/hooks/useAuthentication.js.map +1 -1
  211. package/lib/hooks/useContent.js.map +1 -1
  212. package/lib/hooks/useForm.js +3 -2
  213. package/lib/hooks/useForm.js.flow +2 -1
  214. package/lib/hooks/useForm.js.map +1 -1
  215. package/lib/hooks/useI18n.js.map +1 -1
  216. package/lib/hooks/useModal.js.map +1 -1
  217. package/lib/hooks/useModelCatalog.js.map +1 -1
  218. package/lib/hooks/useModels.js.map +1 -1
  219. package/lib/hooks/useModularUI.js.map +1 -1
  220. package/lib/hooks/useModularUIBasic.js.map +1 -1
  221. package/lib/hooks/useNotification.js.map +1 -1
  222. package/lib/hooks/useProgressIndicator.js.map +1 -1
  223. package/lib/hooks/useRouter.js.map +1 -1
  224. package/lib/i18n/Locale.js.map +1 -1
  225. package/lib/i18n/Locales.js.map +1 -1
  226. package/lib/i18n/Message.js.map +1 -1
  227. package/lib/i18n/withMessage.js.map +1 -1
  228. package/lib/models/actions/ActionCollection.js.map +1 -1
  229. package/lib/models/actions/ActionModel.js.map +1 -1
  230. package/lib/models/application/ApplicationModel.js.map +1 -1
  231. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  232. package/lib/models/attributes/AttributeContent.js.map +1 -1
  233. package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
  234. package/lib/models/attributes/AttributeModel.js.map +1 -1
  235. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  236. package/lib/models/attributes/BooleanAttributeModel.js +1 -1
  237. package/lib/models/attributes/BooleanAttributeModel.js.flow +1 -1
  238. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  239. package/lib/models/attributes/CaptchaAttributeModel.js.map +1 -1
  240. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  241. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  242. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  243. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  244. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  245. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  246. package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
  247. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  248. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  249. package/lib/models/attributes/UploadAttributeModel.js.map +1 -1
  250. package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
  251. package/lib/models/attributes/__tests__/BooleanAttributeModel.spec.js.flow +14 -0
  252. package/lib/models/attributes/_createAttribute.js.map +1 -1
  253. package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
  254. package/lib/models/attributes/input-constraints/DateBoundaryConstraint.js.map +1 -1
  255. package/lib/models/attributes/input-constraints/MandatoryConstraint.js.map +1 -1
  256. package/lib/models/attributes/input-constraints/MandatoryRangeConstraint.js.map +1 -1
  257. package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
  258. package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
  259. package/lib/models/attributes/input-constraints/NumberGroupingConstraint.js.map +1 -1
  260. package/lib/models/attributes/input-constraints/RangeConstraint.js.map +1 -1
  261. package/lib/models/attributes/input-constraints/StringLengthConstraint.js.map +1 -1
  262. package/lib/models/attributes/input-constraints/XMLConstraint.js.map +1 -1
  263. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js +5 -7
  264. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.flow +0 -1
  265. package/lib/models/attributes/layouthint-rules/BaseLayoutHintRule.js.map +1 -1
  266. package/lib/models/attributes/layouthint-rules/DependentAttribute.js +2 -0
  267. package/lib/models/attributes/layouthint-rules/DependentAttribute.js.map +1 -1
  268. package/lib/models/attributes/layouthint-rules/LayoutHintRuleCollection.js.map +1 -1
  269. package/lib/models/attributes/layouthint-rules/RemainingTotalUploadSize.js.map +1 -1
  270. package/lib/models/base/BaseCollection.js.map +1 -1
  271. package/lib/models/base/BaseModel.js.map +1 -1
  272. package/lib/models/base/ResourceCollection.js.map +1 -1
  273. package/lib/models/base/ResourceModel.js.map +1 -1
  274. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  275. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  276. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  277. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  278. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  279. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  280. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  281. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  282. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  283. package/lib/models/content/ContentIndexModel.js.map +1 -1
  284. package/lib/models/content/ContentLinkModel.js.map +1 -1
  285. package/lib/models/content/ContentModel.js.map +1 -1
  286. package/lib/models/content/ContentTOCModel.js.map +1 -1
  287. package/lib/models/content/SectionModel.js.map +1 -1
  288. package/lib/models/content/SubSectionModel.js.map +1 -1
  289. package/lib/models/contentconfiguration/ContentConfiguration.js.map +1 -1
  290. package/lib/models/contentconfiguration/ContentConfigurationElements.js.map +1 -1
  291. package/lib/models/contentconfiguration/ContentConfigurationQuestions.js.map +1 -1
  292. package/lib/models/detail/DetailModel.js.map +1 -1
  293. package/lib/models/error/ErrorCollection.js.map +1 -1
  294. package/lib/models/error/ErrorModel.js.map +1 -1
  295. package/lib/models/error/ErrorResponse.js +6 -0
  296. package/lib/models/error/ErrorResponse.js.map +1 -1
  297. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  298. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  299. package/lib/models/filters/FilterCollection.js.map +1 -1
  300. package/lib/models/form/FormModel.js +30 -3
  301. package/lib/models/form/FormModel.js.flow +32 -4
  302. package/lib/models/form/FormModel.js.map +1 -1
  303. package/lib/models/form/FormObjectModel.js.map +1 -1
  304. package/lib/models/form/__tests__/FormModel.spec.js.flow +4 -0
  305. package/lib/models/grouping/GroupingModel.js.map +1 -1
  306. package/lib/models/href/Href.js.map +1 -1
  307. package/lib/models/href/ListHref.js.map +1 -1
  308. package/lib/models/layouthint/LayoutHintCollection.js +4 -4
  309. package/lib/models/layouthint/LayoutHintCollection.js.flow +4 -4
  310. package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
  311. package/lib/models/links/LinkCollection.js.map +1 -1
  312. package/lib/models/links/LinkModel.js.map +1 -1
  313. package/lib/models/links/normalizeLinkJSON.js.map +1 -1
  314. package/lib/models/list/ListDetailModel.js.map +1 -1
  315. package/lib/models/list/ListItemCollection.js.map +1 -1
  316. package/lib/models/list/ListItemModel.js.map +1 -1
  317. package/lib/models/list/ListModel.js.map +1 -1
  318. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  319. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  320. package/lib/models/modelcatalog/ModelCatalogModel.js.map +1 -1
  321. package/lib/models/paging/PagingModel.js.map +1 -1
  322. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  323. package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
  324. package/lib/models/resolveModel.js.map +1 -1
  325. package/lib/models/search/CaseSearchModel.js.map +1 -1
  326. package/lib/models/sorting/SortingModel.js +1 -1
  327. package/lib/models/sorting/SortingModel.js.flow +1 -1
  328. package/lib/models/sorting/SortingModel.js.map +1 -1
  329. package/lib/models/tab/TabModel.js.map +1 -1
  330. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  331. package/lib/models/user/UserProfileModel.js.map +1 -1
  332. package/lib/modularui/Authenticate.js.map +1 -1
  333. package/lib/modularui/CaptchaRequest.js.map +1 -1
  334. package/lib/modularui/ModularUIRequest.js.map +1 -1
  335. package/lib/modularui/ModularUIResponse.js.map +1 -1
  336. package/lib/modularui/UploadRequest.js.map +1 -1
  337. package/lib/react/ErrorBoundary.js.map +1 -1
  338. package/lib/react/ErrorBoundaryFallback.js.map +1 -1
  339. package/lib/react-client/Init.js.map +1 -1
  340. package/lib/react-client/client.js.map +1 -1
  341. package/lib/react-client/contextPath.js.map +1 -1
  342. package/lib/react-client/rehydrate.js.map +1 -1
  343. package/lib/react-server/contextPath.js.map +1 -1
  344. package/lib/react-server/createSSRComplete.js.map +1 -1
  345. package/lib/react-server/htmlpage.js.map +1 -1
  346. package/lib/react-server/renderSSRComplete.js.map +1 -1
  347. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  348. package/lib/react-server/requestInformation.js.map +1 -1
  349. package/lib/react-server/serverNoSSR.js.map +1 -1
  350. package/lib/react-server/serverSSR.js.map +1 -1
  351. package/lib/react-server/serverUtil.js.map +1 -1
  352. package/lib/react-theme/ThemeProvider.js.map +1 -1
  353. package/lib/react-theme/createTheme.js.map +1 -1
  354. package/lib/react-theme/utils/contrast.js.map +1 -1
  355. package/lib/react-theme/utils/corners.js.map +1 -1
  356. package/lib/react-theme/utils/spacers.js.map +1 -1
  357. package/lib/react-theme/utils/themeProps.js.map +1 -1
  358. package/lib/redux/_i18n/I18nActions.js.map +1 -1
  359. package/lib/redux/_i18n/I18nReducer.js.map +1 -1
  360. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  361. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
  362. package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  363. package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
  364. package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
  365. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  366. package/lib/redux/_modularui/withModularUI.js.map +1 -1
  367. package/lib/redux/_router/RouterConnectors.js.map +1 -1
  368. package/lib/redux/_router/RouterMiddleware.js.map +1 -1
  369. package/lib/redux/actions/Application.js.map +1 -1
  370. package/lib/redux/actions/Authorization.js.map +1 -1
  371. package/lib/redux/actions/Error.js.map +1 -1
  372. package/lib/redux/actions/Form.js.map +1 -1
  373. package/lib/redux/actions/FormAttributeSet.js.map +1 -1
  374. package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
  375. package/lib/redux/actions/FormAutosave.js.map +1 -1
  376. package/lib/redux/actions/FormAutosubmit.js.map +1 -1
  377. package/lib/redux/actions/FormValidations.js.map +1 -1
  378. package/lib/redux/actions/Notification.js.map +1 -1
  379. package/lib/redux/actions/Preferences.js.map +1 -1
  380. package/lib/redux/actions/SignIn.js.map +1 -1
  381. package/lib/redux/actions/SignOut.js.map +1 -1
  382. package/lib/redux/connectors/Application.js.map +1 -1
  383. package/lib/redux/connectors/CaseView.js.map +1 -1
  384. package/lib/redux/connectors/ConceptDetail.js.map +1 -1
  385. package/lib/redux/connectors/ContentBrowser.js.map +1 -1
  386. package/lib/redux/connectors/ContentDetail.js.map +1 -1
  387. package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
  388. package/lib/redux/connectors/Form.js.map +1 -1
  389. package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
  390. package/lib/redux/connectors/ListDetail.js.map +1 -1
  391. package/lib/redux/connectors/ModelCatalog.js.map +1 -1
  392. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  393. package/lib/redux/connectors/Preferences.js.map +1 -1
  394. package/lib/redux/connectors/QuickSearch.js.map +1 -1
  395. package/lib/redux/connectors/Tab.js.map +1 -1
  396. package/lib/redux/reducers/AuthReducer.js.map +1 -1
  397. package/lib/redux/reducers/ModalsReducer.js.map +1 -1
  398. package/lib/redux/reducers/NotificationReducer.js.map +1 -1
  399. package/lib/redux/reducers/ProgressIndicatorReducer.js.map +1 -1
  400. package/lib/redux/store/configureStore.js.map +1 -1
  401. package/lib/utils/browser/Cache.js.map +1 -1
  402. package/lib/utils/browser/Cookies.js.map +1 -1
  403. package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
  404. package/lib/utils/fetch/serverFetch.js.map +1 -1
  405. package/lib/utils/fetch/universalFetch.js.map +1 -1
  406. package/lib/utils/fetch/xhr.js.map +1 -1
  407. package/lib/utils/helpers/checkResource.js.map +1 -1
  408. package/lib/utils/helpers/createHash.js.map +1 -1
  409. package/lib/utils/helpers/createUUID.js.map +1 -1
  410. package/lib/utils/helpers/repositoryResource.js.map +1 -1
  411. package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
  412. package/lib/utils/number/DecimalFormat.js +4 -8
  413. package/lib/utils/number/DecimalFormat.js.map +1 -1
  414. package/lib/utils/number/formatValue.js.map +1 -1
  415. package/lib/utils/number/parseNumbers.js.map +1 -1
  416. package/package.json +32 -32
  417. package/src/hooks/useForm.js +2 -1
  418. package/src/models/attributes/BooleanAttributeModel.js +1 -1
  419. package/src/models/attributes/__tests__/BooleanAttributeModel.spec.js +14 -0
  420. package/src/models/attributes/layouthint-rules/BaseLayoutHintRule.js +0 -1
  421. package/src/models/form/FormModel.js +32 -4
  422. package/src/models/form/__tests__/FormModel.spec.js +4 -0
  423. package/src/models/layouthint/LayoutHintCollection.js +4 -4
  424. package/src/models/sorting/SortingModel.js +1 -1
  425. package/types/constants/Constants.d.ts +145 -145
  426. package/types/constants/LayoutHintConfig.d.ts +226 -226
  427. package/types/constants/LayoutHints.d.ts +74 -74
  428. package/types/constants/Settings.d.ts +29 -29
  429. package/types/constants/index.d.ts +3 -3
  430. package/types/exceptions/ConfigurationException.d.ts +6 -6
  431. package/types/exceptions/FetchException.d.ts +31 -31
  432. package/types/exceptions/IllegalArgumentException.d.ts +6 -6
  433. package/types/exceptions/IllegalReturnException.d.ts +5 -5
  434. package/types/exceptions/IllegalStateException.d.ts +6 -6
  435. package/types/exceptions/JsonParseException.d.ts +6 -6
  436. package/types/exceptions/MissingPropertyException.d.ts +6 -6
  437. package/types/exceptions/NetworkException.d.ts +9 -9
  438. package/types/exceptions/NotAllowedUriException.d.ts +6 -6
  439. package/types/exceptions/NotFoundException.d.ts +10 -10
  440. package/types/exceptions/ServerRequestException.d.ts +6 -6
  441. package/types/exceptions/ThemePropertyException.d.ts +6 -6
  442. package/types/exceptions/TimeoutException.d.ts +7 -7
  443. package/types/exceptions/UnauthorizedException.d.ts +11 -11
  444. package/types/exceptions/UnsupportedOperationException.d.ts +6 -6
  445. package/types/exceptions/index.d.ts +15 -15
  446. package/types/hooks/useI18n.d.ts +9 -9
  447. package/types/i18n/Locale.d.ts +53 -53
  448. package/types/i18n/Locales.d.ts +55 -55
  449. package/types/i18n/Message.d.ts +6 -6
  450. package/types/i18n/index.d.ts +5 -5
  451. package/types/i18n/languages.d.ts +215 -215
  452. package/types/i18n/translations/beinformed_error_messages_en.nl.d.ts +97 -97
  453. package/types/i18n/translations/beinformed_error_messages_nl.nl.d.ts +97 -97
  454. package/types/i18n/types.d.ts +11 -11
  455. package/types/i18n/withMessage.d.ts +3 -3
  456. package/types/index.d.ts +6 -6
  457. package/types/models/actions/ActionCollection.d.ts +29 -29
  458. package/types/models/actions/ActionModel.d.ts +84 -84
  459. package/types/models/application/ApplicationModel.d.ts +41 -41
  460. package/types/models/attributes/AttributeCollection.d.ts +96 -96
  461. package/types/models/attributes/AttributeContent.d.ts +64 -64
  462. package/types/models/attributes/AttributeDataHelper.d.ts +67 -67
  463. package/types/models/attributes/AttributeModel.d.ts +395 -395
  464. package/types/models/attributes/AttributeSetModel.d.ts +28 -28
  465. package/types/models/attributes/BooleanAttributeModel.d.ts +65 -65
  466. package/types/models/attributes/CaptchaAttributeModel.d.ts +19 -19
  467. package/types/models/attributes/ChoiceAttributeModel.d.ts +76 -76
  468. package/types/models/attributes/ChoiceAttributeOptionCollection.d.ts +79 -79
  469. package/types/models/attributes/ChoiceAttributeOptionModel.d.ts +133 -133
  470. package/types/models/attributes/CompositeAttributeChildCollection.d.ts +56 -56
  471. package/types/models/attributes/CompositeAttributeModel.d.ts +44 -44
  472. package/types/models/attributes/DatetimeAttributeModel.d.ts +117 -117
  473. package/types/models/attributes/HelptextAttributeModel.d.ts +16 -16
  474. package/types/models/attributes/LabelAttributeModel.d.ts +12 -12
  475. package/types/models/attributes/MemoAttributeModel.d.ts +14 -14
  476. package/types/models/attributes/MoneyAttributeModel.d.ts +14 -14
  477. package/types/models/attributes/NumberAttributeModel.d.ts +49 -49
  478. package/types/models/attributes/PasswordAttributeModel.d.ts +62 -62
  479. package/types/models/attributes/StringAttributeModel.d.ts +62 -62
  480. package/types/models/attributes/UploadAttributeModel.d.ts +60 -60
  481. package/types/models/attributes/XMLAttributeModel.d.ts +10 -10
  482. package/types/models/attributes/_createAttribute.d.ts +6 -6
  483. package/types/models/attributes/input-constraints/BSNConstraint.d.ts +26 -26
  484. package/types/models/attributes/input-constraints/ConstraintCollection.d.ts +24 -24
  485. package/types/models/attributes/input-constraints/ConstraintModel.d.ts +34 -34
  486. package/types/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +109 -109
  487. package/types/models/attributes/input-constraints/DateTimeDateFormatConstraint.d.ts +36 -36
  488. package/types/models/attributes/input-constraints/DateTimeTimeFormatConstraint.d.ts +36 -36
  489. package/types/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +92 -92
  490. package/types/models/attributes/input-constraints/FileExtensionConstraint.d.ts +33 -33
  491. package/types/models/attributes/input-constraints/FileSizeConstraint.d.ts +42 -42
  492. package/types/models/attributes/input-constraints/IBANConstraint.d.ts +23 -23
  493. package/types/models/attributes/input-constraints/MandatoryConstraint.d.ts +23 -23
  494. package/types/models/attributes/input-constraints/MandatoryRangeConstraint.d.ts +36 -36
  495. package/types/models/attributes/input-constraints/NumberBoundaryConstraint.d.ts +61 -61
  496. package/types/models/attributes/input-constraints/NumberFormatConstraint.d.ts +52 -52
  497. package/types/models/attributes/input-constraints/NumberGroupingConstraint.d.ts +46 -46
  498. package/types/models/attributes/input-constraints/PasswordConfirmConstraint.d.ts +36 -36
  499. package/types/models/attributes/input-constraints/PasswordLowerAndUpperCaseConstraint.d.ts +23 -23
  500. package/types/models/attributes/input-constraints/PasswordMinNumericCharactersConstraint.d.ts +32 -32
  501. package/types/models/attributes/input-constraints/PasswordMinSpecialCharactersConstraint.d.ts +32 -32
  502. package/types/models/attributes/input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint.d.ts +35 -35
  503. package/types/models/attributes/input-constraints/RangeConstraint.d.ts +97 -97
  504. package/types/models/attributes/input-constraints/RegexConstraint.d.ts +37 -37
  505. package/types/models/attributes/input-constraints/StringLengthConstraint.d.ts +46 -46
  506. package/types/models/attributes/input-constraints/XMLConstraint.d.ts +26 -26
  507. package/types/models/attributes/layouthint-rules/BaseLayoutHintRule.d.ts +46 -46
  508. package/types/models/attributes/layouthint-rules/DependentAttribute.d.ts +57 -57
  509. package/types/models/attributes/layouthint-rules/LayoutHintRuleCollection.d.ts +27 -27
  510. package/types/models/attributes/layouthint-rules/RemainingTotalUploadSize.d.ts +17 -17
  511. package/types/models/base/BaseCollection.d.ts +89 -89
  512. package/types/models/base/BaseModel.d.ts +67 -67
  513. package/types/models/base/ResourceCollection.d.ts +19 -19
  514. package/types/models/base/ResourceModel.d.ts +97 -97
  515. package/types/models/caseview/CaseViewModel.d.ts +45 -45
  516. package/types/models/concepts/BusinessScenarioModel.d.ts +20 -20
  517. package/types/models/concepts/ConceptDetailModel.d.ts +69 -69
  518. package/types/models/concepts/ConceptIndexModel.d.ts +36 -36
  519. package/types/models/concepts/ConceptLinkModel.d.ts +65 -65
  520. package/types/models/concepts/ConceptRelationCollection.d.ts +34 -34
  521. package/types/models/concepts/ConceptRelationModel.d.ts +44 -44
  522. package/types/models/concepts/ConceptTypeDetailModel.d.ts +39 -39
  523. package/types/models/concepts/SourceReferenceCollection.d.ts +13 -13
  524. package/types/models/concepts/SourceReferenceModel.d.ts +30 -30
  525. package/types/models/content/ContentIndexModel.d.ts +34 -34
  526. package/types/models/content/ContentLinkModel.d.ts +81 -81
  527. package/types/models/content/ContentModel.d.ts +74 -74
  528. package/types/models/content/ContentTOCModel.d.ts +37 -37
  529. package/types/models/content/ContentTypeModel.d.ts +26 -26
  530. package/types/models/content/SectionModel.d.ts +75 -75
  531. package/types/models/content/SubSectionModel.d.ts +64 -64
  532. package/types/models/contentconfiguration/ContentConfiguration.d.ts +28 -28
  533. package/types/models/contentconfiguration/ContentConfigurationElements.d.ts +47 -47
  534. package/types/models/contentconfiguration/ContentConfigurationEndResults.d.ts +16 -16
  535. package/types/models/contentconfiguration/ContentConfigurationQuestions.d.ts +22 -22
  536. package/types/models/contentconfiguration/ContentConfigurationResults.d.ts +39 -39
  537. package/types/models/detail/DetailModel.d.ts +72 -72
  538. package/types/models/error/ErrorCollection.d.ts +51 -51
  539. package/types/models/error/ErrorModel.d.ts +41 -41
  540. package/types/models/error/ErrorResponse.d.ts +148 -148
  541. package/types/models/filters/AssignmentFilterModel.d.ts +35 -35
  542. package/types/models/filters/BaseFilterModel.d.ts +85 -85
  543. package/types/models/filters/ConceptIndexFilterModel.d.ts +6 -6
  544. package/types/models/filters/FilterCollection.d.ts +48 -48
  545. package/types/models/filters/FilterModel.d.ts +5 -5
  546. package/types/models/filters/RangeFilterModel.d.ts +6 -6
  547. package/types/models/form/FormModel.d.ts +343 -320
  548. package/types/models/form/FormObjectModel.d.ts +196 -196
  549. package/types/models/grouping/GroupingModel.d.ts +85 -85
  550. package/types/models/href/Href.d.ts +196 -196
  551. package/types/models/href/ListHref.d.ts +64 -64
  552. package/types/models/index.d.ts +95 -94
  553. package/types/models/layouthint/LayoutHintCollection.d.ts +43 -43
  554. package/types/models/links/LinkCollection.d.ts +62 -62
  555. package/types/models/links/LinkModel.d.ts +92 -92
  556. package/types/models/links/normalizeLinkJSON.d.ts +9 -9
  557. package/types/models/list/ListDetailModel.d.ts +69 -69
  558. package/types/models/list/ListHeaderModel.d.ts +64 -64
  559. package/types/models/list/ListItemCollection.d.ts +21 -21
  560. package/types/models/list/ListItemModel.d.ts +34 -34
  561. package/types/models/list/ListModel.d.ts +135 -135
  562. package/types/models/lookup/LookupOptionCollection.d.ts +11 -11
  563. package/types/models/lookup/LookupOptionsModel.d.ts +19 -19
  564. package/types/models/modelcatalog/ModelCatalogModel.d.ts +18 -18
  565. package/types/models/paging/PagesizeModel.d.ts +25 -25
  566. package/types/models/paging/PagingModel.d.ts +49 -49
  567. package/types/models/panels/GroupingPanelModel.d.ts +39 -39
  568. package/types/models/parameter/Parameter.d.ts +40 -40
  569. package/types/models/process/ProcessStatusSettingsModel.d.ts +38 -38
  570. package/types/models/resolveModel.d.ts +7 -7
  571. package/types/models/search/CaseSearchModel.d.ts +14 -14
  572. package/types/models/sorting/SortOptionModel.d.ts +48 -48
  573. package/types/models/sorting/SortingModel.d.ts +42 -42
  574. package/types/models/tab/TabModel.d.ts +44 -44
  575. package/types/models/taskgroup/TaskGroupCollection.d.ts +12 -12
  576. package/types/models/taskgroup/TaskGroupModel.d.ts +15 -15
  577. package/types/models/types.d.ts +161 -161
  578. package/types/models/user/UserModel.d.ts +14 -14
  579. package/types/models/user/UserProfileModel.d.ts +12 -12
  580. package/types/models/user/UserServicesModel.d.ts +28 -28
  581. package/types/modularui/Authenticate.d.ts +49 -49
  582. package/types/modularui/CaptchaRequest.d.ts +45 -45
  583. package/types/modularui/ModularUIError.d.ts +10 -10
  584. package/types/modularui/ModularUIRequest.d.ts +198 -198
  585. package/types/modularui/ModularUIResponse.d.ts +56 -56
  586. package/types/modularui/UploadRequest.d.ts +35 -35
  587. package/types/modularui/index.d.ts +5 -5
  588. package/types/modularui/types.d.ts +2 -2
  589. package/types/redux/_i18n/types.d.ts +13 -13
  590. package/types/redux/_modularui/types.d.ts +61 -61
  591. package/types/redux/_router/types.d.ts +35 -35
  592. package/types/redux/selectors/i18n.d.ts +4 -4
  593. package/types/redux/types.d.ts +105 -105
  594. package/types/utils/browser/Cache.d.ts +45 -45
  595. package/types/utils/browser/Cookies.d.ts +9 -9
  596. package/types/utils/datetime/DateTimeUtil.d.ts +164 -164
  597. package/types/utils/fetch/serverFetch.d.ts +5 -5
  598. package/types/utils/fetch/types.d.ts +40 -40
  599. package/types/utils/fetch/universalFetch.d.ts +7 -7
  600. package/types/utils/fetch/xhr.d.ts +5 -5
  601. package/types/utils/helpers/checkResource.d.ts +3 -3
  602. package/types/utils/helpers/createHash.d.ts +8 -8
  603. package/types/utils/helpers/createUUID.d.ts +4 -4
  604. package/types/utils/helpers/index.d.ts +7 -7
  605. package/types/utils/helpers/objects.d.ts +11 -11
  606. package/types/utils/helpers/repositoryResource.d.ts +1 -1
  607. package/types/utils/helpers/sanitizeHtml.d.ts +9 -9
  608. package/types/utils/helpers/text.d.ts +7 -7
  609. package/types/utils/index.d.ts +11 -11
  610. package/types/utils/number/DecimalFormat.d.ts +90 -90
  611. package/types/utils/number/formatValue.d.ts +4 -4
  612. package/types/utils/number/parseNumbers.d.ts +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"DetailModel.js","names":["_objects","require","_ActionCollection","_interopRequireDefault","_AttributeCollection","_ResourceModel","_LayoutHints","DetailModel","ResourceModel","constructor","modularuiResponse","_defineProperty2","default","createAttributeCollection","createMetadataCollection","createActionCollection","type","modelName","isApplicableModel","data","_context","resourceType","contributions","resourcetype","_endsWith","call","_includes","getInitialChildModelLinks","_attributeCollection","setChildModels","models","id","getData","key","label","getContribution","_context2","attributeContributions","attributes","_filter","contribution","_keys","has","attributeCollection","AttributeCollection","collection","_context3","all","attribute","layouthint","TITLE","isHidden","getAttributeByKey","_context4","metadataContributions","metadata","_map","metadataKey","metadataCollection","_metadataCollection","_actionCollection","ActionCollection","actions","actionCollection","isCase","titleAttribute","getAttributeByLayoutHint","update","model","clonedModel","clone","equals","toString","exports"],"sources":["../../../src/models/detail/DetailModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ActionCollection from \"../actions/ActionCollection\";\nimport AttributeCollection from \"../attributes/AttributeCollection\";\nimport ResourceModel from \"../base/ResourceModel\";\n\nimport { TITLE } from \"../../constants/LayoutHints\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Base class for details<br/>\n * For instance the details of case 1<br/>\n * For instance the details of record 12<br/>\n */\nexport default class DetailModel extends ResourceModel {\n _attributeCollection: AttributeCollection;\n _metadataCollection: AttributeCollection;\n _actionCollection: ActionCollection;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this.createAttributeCollection();\n this.createMetadataCollection();\n this.createActionCollection();\n }\n\n /**\n */\n get type(): string {\n return \"Detail\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"DetailModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n const resourceType = data.contributions?.resourcetype;\n return (\n resourceType &&\n (resourceType.endsWith(\"DetailPanel\") ||\n [\"Detail\", \"CasePropertiesPanel\", \"CasePropertiesPanelDetail\"].includes(\n resourceType\n ))\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this._attributeCollection.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this._attributeCollection.setChildModels(models);\n }\n\n /**\n * Getting the unique identifier of the details\n */\n get id(): string {\n return this.getData(\"_id\", this.key);\n }\n\n /**\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Attribute collection\n */\n createAttributeCollection() {\n const attributeContributions = this.contributions.attributes\n ? this.contributions.attributes.filter((contribution) => {\n const [key] = Object.keys(contribution);\n return has(this.data, key);\n })\n : [];\n\n this.attributeCollection = new AttributeCollection(\n this.data,\n attributeContributions,\n true\n );\n }\n\n /**\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n */\n set attributeCollection(collection: AttributeCollection) {\n this._attributeCollection = collection;\n }\n\n /**\n * Retrieve list of visible attributes\n */\n get attributes(): Array<AttributeType> {\n return this.attributeCollection.all.filter(\n (attribute) => !attribute.layouthint.has(TITLE) && !attribute.isHidden\n );\n }\n\n /**\n * Retrieve an attribute by it's key\n */\n getAttributeByKey(key: string): AttributeType | null {\n return this._attributeCollection.getAttributeByKey(key);\n }\n\n /**\n * Metadata collection\n */\n createMetadataCollection() {\n const metadataContributions = this.contributions.metadata\n ? Object.keys(this.contributions.metadata).map((metadataKey) => ({\n [metadataKey]: this.contributions.metadata[metadataKey],\n }))\n : [];\n\n this.metadataCollection = new AttributeCollection(\n this.data,\n metadataContributions,\n true\n );\n }\n\n /**\n */\n get metadataCollection(): AttributeCollection {\n return this._metadataCollection;\n }\n\n /**\n */\n set metadataCollection(collection: AttributeCollection) {\n this._metadataCollection = collection;\n }\n\n /**\n * Action collection\n */\n createActionCollection() {\n this._actionCollection = new ActionCollection(\n this.data.actions,\n this.contributions.actions\n );\n }\n\n /**\n */\n get actionCollection(): ActionCollection {\n return this._actionCollection;\n }\n\n /**\n */\n set actionCollection(actionCollection: ActionCollection) {\n this._actionCollection = actionCollection;\n }\n\n /**\n * Determines if this is a case\n */\n get isCase(): boolean {\n return this.contributions.resourcetype === \"CaseView\";\n }\n\n /**\n * Getting the attribute that has as layout hint 'title'\n */\n get titleAttribute(): ?AttributeType {\n return this._attributeCollection.getAttributeByLayoutHint(TITLE);\n }\n\n /**\n * Update current detail with a new detail model and return a cloned version of the model\n */\n update(model: ModularUIModel): DetailModel {\n if (model instanceof DetailModel) {\n const clonedModel = this.clone();\n\n clonedModel.attributeCollection = model._attributeCollection;\n clonedModel.metadataCollection = model._metadataCollection;\n clonedModel.actionCollection = model._actionCollection;\n\n return clonedModel;\n }\n\n return this;\n }\n\n /**\n */\n equals(model: DetailModel): boolean {\n return this.id.toString() === model.id.toString();\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"DetailModel.js","names":["_objects","require","_ActionCollection","_interopRequireDefault","_AttributeCollection","_ResourceModel","_LayoutHints","DetailModel","ResourceModel","constructor","modularuiResponse","_defineProperty2","default","createAttributeCollection","createMetadataCollection","createActionCollection","type","modelName","isApplicableModel","data","_context","resourceType","contributions","resourcetype","_endsWith","call","_includes","getInitialChildModelLinks","_attributeCollection","setChildModels","models","id","getData","key","label","getContribution","_context2","attributeContributions","attributes","_filter","contribution","_keys","has","attributeCollection","AttributeCollection","collection","_context3","all","attribute","layouthint","TITLE","isHidden","getAttributeByKey","_context4","metadataContributions","metadata","_map","metadataKey","metadataCollection","_metadataCollection","_actionCollection","ActionCollection","actions","actionCollection","isCase","titleAttribute","getAttributeByLayoutHint","update","model","clonedModel","clone","equals","toString","exports"],"sources":["../../../src/models/detail/DetailModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ActionCollection from \"../actions/ActionCollection\";\nimport AttributeCollection from \"../attributes/AttributeCollection\";\nimport ResourceModel from \"../base/ResourceModel\";\n\nimport { TITLE } from \"../../constants/LayoutHints\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Base class for details<br/>\n * For instance the details of case 1<br/>\n * For instance the details of record 12<br/>\n */\nexport default class DetailModel extends ResourceModel {\n _attributeCollection: AttributeCollection;\n _metadataCollection: AttributeCollection;\n _actionCollection: ActionCollection;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this.createAttributeCollection();\n this.createMetadataCollection();\n this.createActionCollection();\n }\n\n /**\n */\n get type(): string {\n return \"Detail\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"DetailModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n const resourceType = data.contributions?.resourcetype;\n return (\n resourceType &&\n (resourceType.endsWith(\"DetailPanel\") ||\n [\"Detail\", \"CasePropertiesPanel\", \"CasePropertiesPanelDetail\"].includes(\n resourceType\n ))\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this._attributeCollection.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this._attributeCollection.setChildModels(models);\n }\n\n /**\n * Getting the unique identifier of the details\n */\n get id(): string {\n return this.getData(\"_id\", this.key);\n }\n\n /**\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Attribute collection\n */\n createAttributeCollection() {\n const attributeContributions = this.contributions.attributes\n ? this.contributions.attributes.filter((contribution) => {\n const [key] = Object.keys(contribution);\n return has(this.data, key);\n })\n : [];\n\n this.attributeCollection = new AttributeCollection(\n this.data,\n attributeContributions,\n true\n );\n }\n\n /**\n */\n get attributeCollection(): AttributeCollection {\n return this._attributeCollection;\n }\n\n /**\n */\n set attributeCollection(collection: AttributeCollection) {\n this._attributeCollection = collection;\n }\n\n /**\n * Retrieve list of visible attributes\n */\n get attributes(): Array<AttributeType> {\n return this.attributeCollection.all.filter(\n (attribute) => !attribute.layouthint.has(TITLE) && !attribute.isHidden\n );\n }\n\n /**\n * Retrieve an attribute by it's key\n */\n getAttributeByKey(key: string): AttributeType | null {\n return this._attributeCollection.getAttributeByKey(key);\n }\n\n /**\n * Metadata collection\n */\n createMetadataCollection() {\n const metadataContributions = this.contributions.metadata\n ? Object.keys(this.contributions.metadata).map((metadataKey) => ({\n [metadataKey]: this.contributions.metadata[metadataKey],\n }))\n : [];\n\n this.metadataCollection = new AttributeCollection(\n this.data,\n metadataContributions,\n true\n );\n }\n\n /**\n */\n get metadataCollection(): AttributeCollection {\n return this._metadataCollection;\n }\n\n /**\n */\n set metadataCollection(collection: AttributeCollection) {\n this._metadataCollection = collection;\n }\n\n /**\n * Action collection\n */\n createActionCollection() {\n this._actionCollection = new ActionCollection(\n this.data.actions,\n this.contributions.actions\n );\n }\n\n /**\n */\n get actionCollection(): ActionCollection {\n return this._actionCollection;\n }\n\n /**\n */\n set actionCollection(actionCollection: ActionCollection) {\n this._actionCollection = actionCollection;\n }\n\n /**\n * Determines if this is a case\n */\n get isCase(): boolean {\n return this.contributions.resourcetype === \"CaseView\";\n }\n\n /**\n * Getting the attribute that has as layout hint 'title'\n */\n get titleAttribute(): ?AttributeType {\n return this._attributeCollection.getAttributeByLayoutHint(TITLE);\n }\n\n /**\n * Update current detail with a new detail model and return a cloned version of the model\n */\n update(model: ModularUIModel): DetailModel {\n if (model instanceof DetailModel) {\n const clonedModel = this.clone();\n\n clonedModel.attributeCollection = model._attributeCollection;\n clonedModel.metadataCollection = model._metadataCollection;\n clonedModel.actionCollection = model._actionCollection;\n\n return clonedModel;\n }\n\n return this;\n }\n\n /**\n */\n equals(model: DetailModel): boolean {\n return this.id.toString() === model.id.toString();\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_ErrorModel","_LayoutHintCollection","ErrorCollection","BaseCollection","constructor","type","errorCollection","_defineProperty2","default","_type","collection","serverErrors","_context","_filter","call","error","isClientConstraint","findById","id","_context2","_findIndex","item","addError","defaultMessage","parameters","layouthint","itemIdx","removeByIndex","add","ErrorModel","removeError","addServerError","undefined","removeServerError","removeServerErrors","forEach","addErrors","errors","addConstraints","constraints","_map","constraint","hasMandatoryError","some","isMandatoryConstraint","exports"],"sources":["../../../src/models/error/ErrorCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\nimport ErrorModel from \"./ErrorModel\";\n\nimport type { MessageParameters } from \"../../i18n/types\";\nimport type { IConstraintModel } from \"../types\";\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\n/**\n * Form Objects\n */\nexport default class ErrorCollection extends BaseCollection<ErrorModel> {\n _type: string;\n\n /**\n * constructor\n */\n constructor(type: string, errorCollection?: ErrorCollection) {\n super();\n\n this._type = type;\n this.collection = [];\n\n if (errorCollection) {\n this.collection = [...errorCollection.collection];\n }\n }\n\n /**\n */\n get serverErrors(): Array<ErrorModel> {\n return this.collection.filter((error) => !error.isClientConstraint);\n }\n\n /**\n */\n findById(id: string): number {\n return this.collection.findIndex((item) => item.id === id);\n }\n\n /**\n * Add an error to the collection\n */\n addError(\n id: string,\n defaultMessage?: string,\n parameters?: MessageParameters,\n layouthint?: LayoutHintCollection\n ) {\n const itemIdx = this.findById(id);\n\n if (itemIdx > -1) {\n this.removeByIndex(itemIdx);\n }\n\n this.add(new ErrorModel(id, defaultMessage, parameters, false, layouthint));\n }\n\n /**\n */\n removeError(id: string) {\n const itemIdx = this.findById(id);\n this.removeByIndex(itemIdx);\n }\n\n /**\n * Add a server error to the collection\n */\n addServerError(\n id: string,\n defaultMessage?: string,\n parameters?: MessageParameters,\n layouthint?: LayoutHintCollection\n ) {\n if (parameters) {\n this.addError(id, defaultMessage, parameters, layouthint);\n } else {\n this.addError(id, defaultMessage, undefined, layouthint);\n }\n }\n\n /**\n */\n removeServerError(id: string) {\n this.removeError(id);\n }\n\n /**\n */\n removeServerErrors() {\n this.serverErrors.forEach((error) => {\n this.removeError(error.id);\n });\n }\n\n /**\n */\n addErrors(errors: Array<ErrorModel>) {\n this.collection = [...this.collection, ...errors];\n }\n\n /**\n * Add constraints to error collection\n */\n addConstraints(constraints: Array<IConstraintModel>) {\n this.collection = [\n ...this.collection,\n ...constraints.map(\n (constraint) =>\n new ErrorModel(\n constraint.id,\n constraint.defaultMessage,\n constraint.parameters,\n true\n )\n ),\n ];\n }\n\n /**\n * Indicates if a mandatory constraint is available and if it is in error.\n * Rationale: When a mandatory constraint is in error other constraint probably don't mather because there is no value to check\n */\n hasMandatoryError(): boolean {\n return this.collection.some((error) => error.isMandatoryConstraint);\n }\n}\n"],"mappings":";;;;;;;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AAIA,IAAAE,qBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACe,MAAMG,eAAe,SAASC,uBAAc,CAAa;EAGtE;AACF;AACA;EACEC,WAAWA,CAACC,IAAY,EAAEC,eAAiC,EAAE;IAC3D,KAAK,EAAE;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IAER,IAAI,CAACC,KAAK,GAAGJ,IAAI;IACjB,IAAI,CAACK,UAAU,GAAG,EAAE;IAEpB,IAAIJ,eAAe,EAAE;MACnB,IAAI,CAACI,UAAU,GAAG,CAAC,GAAGJ,eAAe,CAACI,UAAU,CAAC;IACnD;EACF;;EAEA;AACF;EACE,IAAIC,YAAYA,CAAA,EAAsB;IAAA,IAAAC,QAAA;IACpC,OAAO,IAAAC,OAAA,CAAAL,OAAA,EAAAI,QAAA,OAAI,CAACF,UAAU,EAAAI,IAAA,CAAAF,QAAA,EAASG,KAAK,IAAK,CAACA,KAAK,CAACC,kBAAkB,CAAC;EACrE;;EAEA;AACF;EACEC,QAAQA,CAACC,EAAU,EAAU;IAAA,IAAAC,SAAA;IAC3B,OAAO,IAAAC,UAAA,CAAAZ,OAAA,EAAAW,SAAA,OAAI,CAACT,UAAU,EAAAI,IAAA,CAAAK,SAAA,EAAYE,IAAI,IAAKA,IAAI,CAACH,EAAE,KAAKA,EAAE,CAAC;EAC5D;;EAEA;AACF;AACA;EACEI,QAAQA,CACNJ,EAAU,EACVK,cAAuB,EACvBC,UAA8B,EAC9BC,UAAiC,EACjC;IACA,MAAMC,OAAO,GAAG,IAAI,CAACT,QAAQ,CAACC,EAAE,CAAC;IAEjC,IAAIQ,OAAO,GAAG,CAAC,CAAC,EAAE;MAChB,IAAI,CAACC,aAAa,CAACD,OAAO,CAAC;IAC7B;IAEA,IAAI,CAACE,GAAG,CAAC,IAAIC,mBAAU,CAACX,EAAE,EAAEK,cAAc,EAAEC,UAAU,EAAE,KAAK,EAAEC,UAAU,CAAC,CAAC;EAC7E;;EAEA;AACF;EACEK,WAAWA,CAACZ,EAAU,EAAE;IACtB,MAAMQ,OAAO,GAAG,IAAI,CAACT,QAAQ,CAACC,EAAE,CAAC;IACjC,IAAI,CAACS,aAAa,CAACD,OAAO,CAAC;EAC7B;;EAEA;AACF;AACA;EACEK,cAAcA,CACZb,EAAU,EACVK,cAAuB,EACvBC,UAA8B,EAC9BC,UAAiC,EACjC;IACA,IAAID,UAAU,EAAE;MACd,IAAI,CAACF,QAAQ,CAACJ,EAAE,EAAEK,cAAc,EAAEC,UAAU,EAAEC,UAAU,CAAC;IAC3D,CAAC,MAAM;MACL,IAAI,CAACH,QAAQ,CAACJ,EAAE,EAAEK,cAAc,EAAES,SAAS,EAAEP,UAAU,CAAC;IAC1D;EACF;;EAEA;AACF;EACEQ,iBAAiBA,CAACf,EAAU,EAAE;IAC5B,IAAI,CAACY,WAAW,CAACZ,EAAE,CAAC;EACtB;;EAEA;AACF;EACEgB,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAACvB,YAAY,CAACwB,OAAO,CAAEpB,KAAK,IAAK;MACnC,IAAI,CAACe,WAAW,CAACf,KAAK,CAACG,EAAE,CAAC;IAC5B,CAAC,CAAC;EACJ;;EAEA;AACF;EACEkB,SAASA,CAACC,MAAyB,EAAE;IACnC,IAAI,CAAC3B,UAAU,GAAG,CAAC,GAAG,IAAI,CAACA,UAAU,EAAE,GAAG2B,MAAM,CAAC;EACnD;;EAEA;AACF;AACA;EACEC,cAAcA,CAACC,WAAoC,EAAE;IACnD,IAAI,CAAC7B,UAAU,GAAG,CAChB,GAAG,IAAI,CAACA,UAAU,EAClB,GAAG,IAAA8B,IAAA,CAAAhC,OAAA,EAAA+B,WAAW,EAAAzB,IAAA,CAAXyB,WAAW,EACXE,UAAU,IACT,IAAIZ,mBAAU,CACZY,UAAU,CAACvB,EAAE,EACbuB,UAAU,CAAClB,cAAc,EACzBkB,UAAU,CAACjB,UAAU,EACrB,IAAI,CACL,CACJ,CACF;EACH;;EAEA;AACF;AACA;AACA;EACEkB,iBAAiBA,CAAA,EAAY;IAC3B,OAAO,IAAI,CAAChC,UAAU,CAACiC,IAAI,CAAE5B,KAAK,IAAKA,KAAK,CAAC6B,qBAAqB,CAAC;EACrE;AACF;AAACC,OAAA,CAAArC,OAAA,GAAAN,eAAA"}
1
+ {"version":3,"file":"ErrorCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_ErrorModel","_LayoutHintCollection","ErrorCollection","BaseCollection","constructor","type","errorCollection","_defineProperty2","default","_type","collection","serverErrors","_context","_filter","call","error","isClientConstraint","findById","id","_context2","_findIndex","item","addError","defaultMessage","parameters","layouthint","itemIdx","removeByIndex","add","ErrorModel","removeError","addServerError","undefined","removeServerError","removeServerErrors","forEach","addErrors","errors","addConstraints","constraints","_map","constraint","hasMandatoryError","some","isMandatoryConstraint","exports"],"sources":["../../../src/models/error/ErrorCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\nimport ErrorModel from \"./ErrorModel\";\n\nimport type { MessageParameters } from \"../../i18n/types\";\nimport type { IConstraintModel } from \"../types\";\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\n/**\n * Form Objects\n */\nexport default class ErrorCollection extends BaseCollection<ErrorModel> {\n _type: string;\n\n /**\n * constructor\n */\n constructor(type: string, errorCollection?: ErrorCollection) {\n super();\n\n this._type = type;\n this.collection = [];\n\n if (errorCollection) {\n this.collection = [...errorCollection.collection];\n }\n }\n\n /**\n */\n get serverErrors(): Array<ErrorModel> {\n return this.collection.filter((error) => !error.isClientConstraint);\n }\n\n /**\n */\n findById(id: string): number {\n return this.collection.findIndex((item) => item.id === id);\n }\n\n /**\n * Add an error to the collection\n */\n addError(\n id: string,\n defaultMessage?: string,\n parameters?: MessageParameters,\n layouthint?: LayoutHintCollection\n ) {\n const itemIdx = this.findById(id);\n\n if (itemIdx > -1) {\n this.removeByIndex(itemIdx);\n }\n\n this.add(new ErrorModel(id, defaultMessage, parameters, false, layouthint));\n }\n\n /**\n */\n removeError(id: string) {\n const itemIdx = this.findById(id);\n this.removeByIndex(itemIdx);\n }\n\n /**\n * Add a server error to the collection\n */\n addServerError(\n id: string,\n defaultMessage?: string,\n parameters?: MessageParameters,\n layouthint?: LayoutHintCollection\n ) {\n if (parameters) {\n this.addError(id, defaultMessage, parameters, layouthint);\n } else {\n this.addError(id, defaultMessage, undefined, layouthint);\n }\n }\n\n /**\n */\n removeServerError(id: string) {\n this.removeError(id);\n }\n\n /**\n */\n removeServerErrors() {\n this.serverErrors.forEach((error) => {\n this.removeError(error.id);\n });\n }\n\n /**\n */\n addErrors(errors: Array<ErrorModel>) {\n this.collection = [...this.collection, ...errors];\n }\n\n /**\n * Add constraints to error collection\n */\n addConstraints(constraints: Array<IConstraintModel>) {\n this.collection = [\n ...this.collection,\n ...constraints.map(\n (constraint) =>\n new ErrorModel(\n constraint.id,\n constraint.defaultMessage,\n constraint.parameters,\n true\n )\n ),\n ];\n }\n\n /**\n * Indicates if a mandatory constraint is available and if it is in error.\n * Rationale: When a mandatory constraint is in error other constraint probably don't mather because there is no value to check\n */\n hasMandatoryError(): boolean {\n return this.collection.some((error) => error.isMandatoryConstraint);\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorModel.js","names":["_LayoutHintCollection","_interopRequireDefault","require","ErrorModel","constructor","id","defaultMessage","parameters","isClientConstraint","arguments","length","undefined","layouthint","LayoutHintCollection","_defineProperty2","default","_id","_parameters","_defaultMessage","_isClientConstraint","_layouthint","Array","isArray","isMandatoryConstraint","getMessage","_default","exports"],"sources":["../../../src/models/error/ErrorModel.js"],"sourcesContent":["// @flow\nimport type { MessageObject, MessageParameters } from \"../../i18n/types\";\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\n/**\n * Wrapper around an error message / object\n */\nclass ErrorModel {\n _id: string;\n _defaultMessage: ?string;\n _parameters: ?MessageParameters;\n _isClientConstraint: boolean;\n _layouthint: LayoutHintCollection;\n\n /**\n * Contruct\n */\n constructor(\n id: string,\n defaultMessage: ?string,\n parameters: ?MessageParameters,\n isClientConstraint: boolean = false,\n layouthint: LayoutHintCollection = new LayoutHintCollection()\n ) {\n this._id = id;\n this._parameters = parameters;\n this._defaultMessage = defaultMessage;\n this._isClientConstraint = isClientConstraint;\n this._layouthint = Array.isArray(layouthint)\n ? new LayoutHintCollection(layouthint)\n : layouthint;\n }\n\n /**\n * Get id of error\n */\n get id(): string {\n return this._id;\n }\n\n /**\n */\n get defaultMessage(): ?string {\n return this._defaultMessage;\n }\n\n /**\n */\n get parameters(): ?MessageParameters {\n return this._parameters;\n }\n\n /**\n */\n get isClientConstraint(): boolean {\n return this._isClientConstraint || false;\n }\n\n /**\n */\n get layouthint(): LayoutHintCollection {\n return this._layouthint;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return this.id === \"Constraint.Mandatory\";\n }\n\n /**\n * Returns a message object from the error\n */\n getMessage(): MessageObject {\n return {\n id: this.id,\n defaultMessage: this.defaultMessage ?? \"\",\n parameters: this.parameters ?? {},\n };\n }\n}\n\nexport default ErrorModel;\n"],"mappings":";;;;;;;;AAEA,IAAAA,qBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACA,MAAMC,UAAU,CAAC;EAOf;AACF;AACA;EACEC,WAAWA,CACTC,EAAU,EACVC,cAAuB,EACvBC,UAA8B,EAG9B;IAAA,IAFAC,kBAA2B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IAAA,IACnCG,UAAgC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAII,6BAAoB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAE7D,IAAI,CAACC,GAAG,GAAGX,EAAE;IACb,IAAI,CAACY,WAAW,GAAGV,UAAU;IAC7B,IAAI,CAACW,eAAe,GAAGZ,cAAc;IACrC,IAAI,CAACa,mBAAmB,GAAGX,kBAAkB;IAC7C,IAAI,CAACY,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACV,UAAU,CAAC,GACxC,IAAIC,6BAAoB,CAACD,UAAU,CAAC,GACpCA,UAAU;EAChB;;EAEA;AACF;AACA;EACE,IAAIP,EAAEA,CAAA,EAAW;IACf,OAAO,IAAI,CAACW,GAAG;EACjB;;EAEA;AACF;EACE,IAAIV,cAAcA,CAAA,EAAY;IAC5B,OAAO,IAAI,CAACY,eAAe;EAC7B;;EAEA;AACF;EACE,IAAIX,UAAUA,CAAA,EAAuB;IACnC,OAAO,IAAI,CAACU,WAAW;EACzB;;EAEA;AACF;EACE,IAAIT,kBAAkBA,CAAA,EAAY;IAChC,OAAO,IAAI,CAACW,mBAAmB,IAAI,KAAK;EAC1C;;EAEA;AACF;EACE,IAAIP,UAAUA,CAAA,EAAyB;IACrC,OAAO,IAAI,CAACQ,WAAW;EACzB;;EAEA;AACF;EACE,IAAIG,qBAAqBA,CAAA,EAAY;IACnC,OAAO,IAAI,CAAClB,EAAE,KAAK,sBAAsB;EAC3C;;EAEA;AACF;AACA;EACEmB,UAAUA,CAAA,EAAkB;IAC1B,OAAO;MACLnB,EAAE,EAAE,IAAI,CAACA,EAAE;MACXC,cAAc,EAAE,IAAI,CAACA,cAAc,IAAI,EAAE;MACzCC,UAAU,EAAE,IAAI,CAACA,UAAU,IAAI,CAAC;IAClC,CAAC;EACH;AACF;AAAC,IAAAkB,QAAA,GAEctB,UAAU;AAAAuB,OAAA,CAAAX,OAAA,GAAAU,QAAA"}
1
+ {"version":3,"file":"ErrorModel.js","names":["_LayoutHintCollection","_interopRequireDefault","require","ErrorModel","constructor","id","defaultMessage","parameters","isClientConstraint","arguments","length","undefined","layouthint","LayoutHintCollection","_defineProperty2","default","_id","_parameters","_defaultMessage","_isClientConstraint","_layouthint","Array","isArray","isMandatoryConstraint","getMessage","_default","exports"],"sources":["../../../src/models/error/ErrorModel.js"],"sourcesContent":["// @flow\nimport type { MessageObject, MessageParameters } from \"../../i18n/types\";\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\n/**\n * Wrapper around an error message / object\n */\nclass ErrorModel {\n _id: string;\n _defaultMessage: ?string;\n _parameters: ?MessageParameters;\n _isClientConstraint: boolean;\n _layouthint: LayoutHintCollection;\n\n /**\n * Contruct\n */\n constructor(\n id: string,\n defaultMessage: ?string,\n parameters: ?MessageParameters,\n isClientConstraint: boolean = false,\n layouthint: LayoutHintCollection = new LayoutHintCollection()\n ) {\n this._id = id;\n this._parameters = parameters;\n this._defaultMessage = defaultMessage;\n this._isClientConstraint = isClientConstraint;\n this._layouthint = Array.isArray(layouthint)\n ? new LayoutHintCollection(layouthint)\n : layouthint;\n }\n\n /**\n * Get id of error\n */\n get id(): string {\n return this._id;\n }\n\n /**\n */\n get defaultMessage(): ?string {\n return this._defaultMessage;\n }\n\n /**\n */\n get parameters(): ?MessageParameters {\n return this._parameters;\n }\n\n /**\n */\n get isClientConstraint(): boolean {\n return this._isClientConstraint || false;\n }\n\n /**\n */\n get layouthint(): LayoutHintCollection {\n return this._layouthint;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return this.id === \"Constraint.Mandatory\";\n }\n\n /**\n * Returns a message object from the error\n */\n getMessage(): MessageObject {\n return {\n id: this.id,\n defaultMessage: this.defaultMessage ?? \"\",\n parameters: this.parameters ?? {},\n };\n }\n}\n\nexport default ErrorModel;\n"],"mappings":";;;;;;;;AAEA,IAAAA,qBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACA,MAAMC,UAAU,CAAC;EAOf;AACF;AACA;EACEC,WAAWA,CACTC,EAAU,EACVC,cAAuB,EACvBC,UAA8B,EAG9B;IAAA,IAFAC,kBAA2B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IAAA,IACnCG,UAAgC,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAII,6BAAoB,CAAC,CAAC;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAE7D,IAAI,CAACC,GAAG,GAAGX,EAAE;IACb,IAAI,CAACY,WAAW,GAAGV,UAAU;IAC7B,IAAI,CAACW,eAAe,GAAGZ,cAAc;IACrC,IAAI,CAACa,mBAAmB,GAAGX,kBAAkB;IAC7C,IAAI,CAACY,WAAW,GAAGC,KAAK,CAACC,OAAO,CAACV,UAAU,CAAC,GACxC,IAAIC,6BAAoB,CAACD,UAAU,CAAC,GACpCA,UAAU;EAChB;;EAEA;AACF;AACA;EACE,IAAIP,EAAEA,CAAA,EAAW;IACf,OAAO,IAAI,CAACW,GAAG;EACjB;;EAEA;AACF;EACE,IAAIV,cAAcA,CAAA,EAAY;IAC5B,OAAO,IAAI,CAACY,eAAe;EAC7B;;EAEA;AACF;EACE,IAAIX,UAAUA,CAAA,EAAuB;IACnC,OAAO,IAAI,CAACU,WAAW;EACzB;;EAEA;AACF;EACE,IAAIT,kBAAkBA,CAAA,EAAY;IAChC,OAAO,IAAI,CAACW,mBAAmB,IAAI,KAAK;EAC1C;;EAEA;AACF;EACE,IAAIP,UAAUA,CAAA,EAAyB;IACrC,OAAO,IAAI,CAACQ,WAAW;EACzB;;EAEA;AACF;EACE,IAAIG,qBAAqBA,CAAA,EAAY;IACnC,OAAO,IAAI,CAAClB,EAAE,KAAK,sBAAsB;EAC3C;;EAEA;AACF;AACA;EACEmB,UAAUA,CAAA,EAAkB;IAC1B,OAAO;MACLnB,EAAE,EAAE,IAAI,CAACA,EAAE;MACXC,cAAc,EAAE,IAAI,CAACA,cAAc,IAAI,EAAE;MACzCC,UAAU,EAAE,IAAI,CAACA,UAAU,IAAI,CAAC;IAClC,CAAC;EACH;AACF;AAAC,IAAAkB,QAAA,GAEctB,UAAU;AAAAuB,OAAA,CAAAX,OAAA,GAAAU,QAAA"}
@@ -8,6 +8,12 @@ exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
9
9
  var _Href = _interopRequireDefault(require("../href/Href"));
10
10
  var _LayoutHintCollection = _interopRequireDefault(require("../layouthint/LayoutHintCollection"));
11
+ /**
12
+ */
13
+ /**
14
+ */
15
+ /**
16
+ */
11
17
  /**
12
18
  * Error response model
13
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorResponse.js","names":["_Href","_interopRequireDefault","require","_LayoutHintCollection","ErrorResponse","constructor","data","connectKey","_defineProperty2","default","_error","_connectKey","key","error","status","NO_RESPONSE_CODE","DECIMAL_RADIX","parseInt","id","isResourceNotFound","name","message","responseMessage","response","title","titleMessage","undefined","titleId","titleProperties","properties","redirect","redirectText","text","redirectTextID","redirectTextProperties","redirectMessage","redirectHref","href","Href","layouthint","LayoutHintCollection","parameters","RESOURCE_NOT_FOUND_RESPONSE_CODE","isResourceNotFoundAfterReload","isReload","isUnauthorized","UNAUTHORIZED_RESPONSE_CODE","hasUnauthorizedStatus","hasUnauthorizedErrorId","hasLoginAction","action","isChangePassword","isConcurrentUser","isConcurrentError","isBlocked","isInvalidCredentials","isInvalidUsername","isTimeoutError","isRemoteServiceException","changePasswordHref","isBasicAuthentication","loginFailed","shouldThrowOnServer","exports"],"sources":["../../../src/models/error/ErrorResponse.js"],"sourcesContent":["// @flow\nimport Href from \"../href/Href\";\n\nimport type { MessageParameters } from \"../../i18n/types\";\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\n/**\n */\nexport type TitleObject = {\n +id: string,\n +properties?: Object,\n +message?: string,\n};\n/**\n */\nexport type RedirectTextObject = {\n +id: string,\n +properties?: Object,\n +message?: string,\n};\n\n/**\n */\nexport type RedirectObject = {\n +href: Href,\n +text?: RedirectTextObject,\n};\n\n/**\n * Error response model\n */\nexport default class ErrorResponse {\n _error: Object;\n _connectKey: ?string;\n\n /**\n * Construct ErrorResponse\n */\n constructor(data: Object, connectKey?: string) {\n this._error = data;\n this._connectKey = connectKey;\n }\n\n /**\n */\n set connectKey(key: string) {\n this._connectKey = key;\n }\n\n /**\n */\n get connectKey(): ?string {\n return this._connectKey;\n }\n\n /**\n * Return error information\n */\n get error(): Object {\n return this._error ?? {};\n }\n\n /**\n * Get request status code\n */\n get status(): number {\n const NO_RESPONSE_CODE = 0;\n const DECIMAL_RADIX = 10;\n return this.error.status\n ? parseInt(this.error.status, DECIMAL_RADIX)\n : NO_RESPONSE_CODE;\n }\n\n /**\n * Return error type information\n */\n get id(): string {\n if (this.isResourceNotFound && this.error.id !== \"Error.NotAuthorized\") {\n return \"Error.ResourceNotFound\";\n }\n\n return this.error.id || this.error.name || \"Error.GeneralError\";\n }\n\n /**\n */\n get message(): string {\n return this.error.message || this.id;\n }\n\n /**\n * Return response error message\n */\n get responseMessage(): string {\n return this.response.message || null;\n }\n\n /**\n * Return response error title\n */\n get title(): TitleObject {\n return this.response.title || null;\n }\n\n /**\n * Return response error title message\n */\n get titleMessage(): string {\n return this.response.title?.message || undefined;\n }\n\n /**\n * Return response error title Id\n */\n get titleId(): string {\n return this.response.title?.id || undefined;\n }\n\n /**\n * Return response error title properties\n */\n get titleProperties(): Object {\n return this.response.title?.properties || null;\n }\n\n /**\n * Return response error redirect\n */\n get redirect(): RedirectObject {\n return this.response.redirect || null;\n }\n /**\n * Return response error redirect text\n */\n get redirectText(): RedirectTextObject {\n return this.response?.redirect?.text || null;\n }\n\n /**\n * Return response error redirect text id\n */\n get redirectTextID(): string {\n return this.response.redirect?.text?.id || undefined;\n }\n\n /**\n * Return response error redirect text properties\n */\n get redirectTextProperties(): Object {\n return this.response.redirect?.text?.properties || null;\n }\n\n /**\n * Return response error redirect text message\n */\n get redirectMessage(): string {\n return this.response.redirect?.text?.message || undefined;\n }\n\n /**\n * Return response error redirect href\n */\n get redirectHref(): Href {\n if (this.response.redirect?.href) {\n return new Href(this.response.redirect?.href);\n }\n return new Href();\n }\n\n /**\n * Return error response layouthint\n */\n get layouthint(): LayoutHintCollection {\n return new LayoutHintCollection(this.response?.layouthint);\n }\n\n /**\n */\n get response(): Object {\n return this.error?.response?.error || {};\n }\n\n /**\n */\n get properties(): Object {\n const { properties } = this.error;\n if (properties != null && typeof properties == \"object\") {\n return properties;\n }\n\n return {};\n }\n\n /**\n * Return error parameters\n */\n get parameters(): ?MessageParameters {\n return this.error.parameters || null;\n }\n\n /**\n */\n get isResourceNotFound(): boolean {\n const RESOURCE_NOT_FOUND_RESPONSE_CODE = 404;\n\n return this.status === RESOURCE_NOT_FOUND_RESPONSE_CODE;\n }\n\n /**\n */\n get isResourceNotFoundAfterReload(): boolean {\n return this.isResourceNotFound && this.error.isReload;\n }\n\n /**\n * Check if the error message is an authorization error\n */\n get isUnauthorized(): boolean {\n const UNAUTHORIZED_RESPONSE_CODE = 401;\n\n const hasUnauthorizedStatus = this.status === UNAUTHORIZED_RESPONSE_CODE;\n const hasUnauthorizedErrorId =\n this.id === \"Error.NotAuthorized\" ||\n this.id === \"Error.Authentication.Required\" ||\n this.id === \"Error.Authentication.InvalidCredentials\";\n\n const hasLoginAction = this.error.action\n ? this.error.action.name === \"login\"\n : false;\n\n return hasUnauthorizedStatus || hasUnauthorizedErrorId || hasLoginAction;\n }\n\n /**\n */\n get isChangePassword(): boolean {\n return this.id === \"Error.ChangePasswordRequired\";\n }\n\n /**\n */\n get isConcurrentUser(): boolean {\n return this.id === \"Error.Authentication.ConcurrentUser\";\n }\n\n /**\n */\n get isConcurrentError(): boolean {\n return (\n this.id === \"Error.Case.ConcurrentModification\" ||\n this.id === \"Error.DataStore.ConcurrentModification\" ||\n this.id === \"Error.DataStore.RecordAlreadyExists\" ||\n this.id === \"Error.DataStore.RowCannotBeLocked\"\n );\n }\n\n /**\n */\n get isBlocked(): boolean {\n return this.id === \"Error.Authentication.BlockedUser\";\n }\n\n /**\n */\n get isInvalidCredentials(): boolean {\n return this.id === \"Error.Authentication.InvalidCredentials\";\n }\n\n /**\n */\n get isInvalidUsername(): boolean {\n return this.id === \"Error.Authentication.InvalidUsername\";\n }\n\n /**\n */\n get isTimeoutError(): boolean {\n return this.id === \"Error.CodemapLookup.InvalidToken\";\n }\n\n /**\n * A RemoteServiceException occurs when an exception occurs connecting to an external system,\n * for example when using the service list panels\n */\n get isRemoteServiceException(): boolean {\n return this.id === \"Error.RemoteServiceException\";\n }\n\n /**\n * Get response url\n */\n get changePasswordHref(): ?Href {\n return this.properties.redirect ? new Href(this.properties.redirect) : null;\n }\n\n /**\n * When no action information is present in the unauthorized response, for now we assume it is Basic Authentication\n */\n get isBasicAuthentication(): boolean {\n const UNAUTHORIZED_RESPONSE_CODE = 401;\n return (\n this.isUnauthorized &&\n this.status === UNAUTHORIZED_RESPONSE_CODE &&\n this.response.error === \"No responseText\"\n );\n }\n\n /**\n * Retrieve a failed login attempt\n */\n get loginFailed(): boolean {\n return (\n this.id === \"Error.Authentication.Required\" ||\n this.id === \"Error.Authentication.InvalidCredentials\"\n );\n }\n\n /**\n */\n get shouldThrowOnServer(): boolean {\n return !this.isChangePassword && !this.isBlocked && !this.isConcurrentUser;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ErrorResponse.js","names":["_Href","_interopRequireDefault","require","_LayoutHintCollection","ErrorResponse","constructor","data","connectKey","_defineProperty2","default","_error","_connectKey","key","error","status","NO_RESPONSE_CODE","DECIMAL_RADIX","parseInt","id","isResourceNotFound","name","message","responseMessage","response","title","titleMessage","undefined","titleId","titleProperties","properties","redirect","redirectText","text","redirectTextID","redirectTextProperties","redirectMessage","redirectHref","href","Href","layouthint","LayoutHintCollection","parameters","RESOURCE_NOT_FOUND_RESPONSE_CODE","isResourceNotFoundAfterReload","isReload","isUnauthorized","UNAUTHORIZED_RESPONSE_CODE","hasUnauthorizedStatus","hasUnauthorizedErrorId","hasLoginAction","action","isChangePassword","isConcurrentUser","isConcurrentError","isBlocked","isInvalidCredentials","isInvalidUsername","isTimeoutError","isRemoteServiceException","changePasswordHref","isBasicAuthentication","loginFailed","shouldThrowOnServer","exports"],"sources":["../../../src/models/error/ErrorResponse.js"],"sourcesContent":["// @flow\nimport Href from \"../href/Href\";\n\nimport type { MessageParameters } from \"../../i18n/types\";\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\n/**\n */\nexport type TitleObject = {\n +id: string,\n +properties?: Object,\n +message?: string,\n};\n/**\n */\nexport type RedirectTextObject = {\n +id: string,\n +properties?: Object,\n +message?: string,\n};\n\n/**\n */\nexport type RedirectObject = {\n +href: Href,\n +text?: RedirectTextObject,\n};\n\n/**\n * Error response model\n */\nexport default class ErrorResponse {\n _error: Object;\n _connectKey: ?string;\n\n /**\n * Construct ErrorResponse\n */\n constructor(data: Object, connectKey?: string) {\n this._error = data;\n this._connectKey = connectKey;\n }\n\n /**\n */\n set connectKey(key: string) {\n this._connectKey = key;\n }\n\n /**\n */\n get connectKey(): ?string {\n return this._connectKey;\n }\n\n /**\n * Return error information\n */\n get error(): Object {\n return this._error ?? {};\n }\n\n /**\n * Get request status code\n */\n get status(): number {\n const NO_RESPONSE_CODE = 0;\n const DECIMAL_RADIX = 10;\n return this.error.status\n ? parseInt(this.error.status, DECIMAL_RADIX)\n : NO_RESPONSE_CODE;\n }\n\n /**\n * Return error type information\n */\n get id(): string {\n if (this.isResourceNotFound && this.error.id !== \"Error.NotAuthorized\") {\n return \"Error.ResourceNotFound\";\n }\n\n return this.error.id || this.error.name || \"Error.GeneralError\";\n }\n\n /**\n */\n get message(): string {\n return this.error.message || this.id;\n }\n\n /**\n * Return response error message\n */\n get responseMessage(): string {\n return this.response.message || null;\n }\n\n /**\n * Return response error title\n */\n get title(): TitleObject {\n return this.response.title || null;\n }\n\n /**\n * Return response error title message\n */\n get titleMessage(): string {\n return this.response.title?.message || undefined;\n }\n\n /**\n * Return response error title Id\n */\n get titleId(): string {\n return this.response.title?.id || undefined;\n }\n\n /**\n * Return response error title properties\n */\n get titleProperties(): Object {\n return this.response.title?.properties || null;\n }\n\n /**\n * Return response error redirect\n */\n get redirect(): RedirectObject {\n return this.response.redirect || null;\n }\n /**\n * Return response error redirect text\n */\n get redirectText(): RedirectTextObject {\n return this.response?.redirect?.text || null;\n }\n\n /**\n * Return response error redirect text id\n */\n get redirectTextID(): string {\n return this.response.redirect?.text?.id || undefined;\n }\n\n /**\n * Return response error redirect text properties\n */\n get redirectTextProperties(): Object {\n return this.response.redirect?.text?.properties || null;\n }\n\n /**\n * Return response error redirect text message\n */\n get redirectMessage(): string {\n return this.response.redirect?.text?.message || undefined;\n }\n\n /**\n * Return response error redirect href\n */\n get redirectHref(): Href {\n if (this.response.redirect?.href) {\n return new Href(this.response.redirect?.href);\n }\n return new Href();\n }\n\n /**\n * Return error response layouthint\n */\n get layouthint(): LayoutHintCollection {\n return new LayoutHintCollection(this.response?.layouthint);\n }\n\n /**\n */\n get response(): Object {\n return this.error?.response?.error || {};\n }\n\n /**\n */\n get properties(): Object {\n const { properties } = this.error;\n if (properties != null && typeof properties == \"object\") {\n return properties;\n }\n\n return {};\n }\n\n /**\n * Return error parameters\n */\n get parameters(): ?MessageParameters {\n return this.error.parameters || null;\n }\n\n /**\n */\n get isResourceNotFound(): boolean {\n const RESOURCE_NOT_FOUND_RESPONSE_CODE = 404;\n\n return this.status === RESOURCE_NOT_FOUND_RESPONSE_CODE;\n }\n\n /**\n */\n get isResourceNotFoundAfterReload(): boolean {\n return this.isResourceNotFound && this.error.isReload;\n }\n\n /**\n * Check if the error message is an authorization error\n */\n get isUnauthorized(): boolean {\n const UNAUTHORIZED_RESPONSE_CODE = 401;\n\n const hasUnauthorizedStatus = this.status === UNAUTHORIZED_RESPONSE_CODE;\n const hasUnauthorizedErrorId =\n this.id === \"Error.NotAuthorized\" ||\n this.id === \"Error.Authentication.Required\" ||\n this.id === \"Error.Authentication.InvalidCredentials\";\n\n const hasLoginAction = this.error.action\n ? this.error.action.name === \"login\"\n : false;\n\n return hasUnauthorizedStatus || hasUnauthorizedErrorId || hasLoginAction;\n }\n\n /**\n */\n get isChangePassword(): boolean {\n return this.id === \"Error.ChangePasswordRequired\";\n }\n\n /**\n */\n get isConcurrentUser(): boolean {\n return this.id === \"Error.Authentication.ConcurrentUser\";\n }\n\n /**\n */\n get isConcurrentError(): boolean {\n return (\n this.id === \"Error.Case.ConcurrentModification\" ||\n this.id === \"Error.DataStore.ConcurrentModification\" ||\n this.id === \"Error.DataStore.RecordAlreadyExists\" ||\n this.id === \"Error.DataStore.RowCannotBeLocked\"\n );\n }\n\n /**\n */\n get isBlocked(): boolean {\n return this.id === \"Error.Authentication.BlockedUser\";\n }\n\n /**\n */\n get isInvalidCredentials(): boolean {\n return this.id === \"Error.Authentication.InvalidCredentials\";\n }\n\n /**\n */\n get isInvalidUsername(): boolean {\n return this.id === \"Error.Authentication.InvalidUsername\";\n }\n\n /**\n */\n get isTimeoutError(): boolean {\n return this.id === \"Error.CodemapLookup.InvalidToken\";\n }\n\n /**\n * A RemoteServiceException occurs when an exception occurs connecting to an external system,\n * for example when using the service list panels\n */\n get isRemoteServiceException(): boolean {\n return this.id === \"Error.RemoteServiceException\";\n }\n\n /**\n * Get response url\n */\n get changePasswordHref(): ?Href {\n return this.properties.redirect ? new Href(this.properties.redirect) : null;\n }\n\n /**\n * When no action information is present in the unauthorized response, for now we assume it is Basic Authentication\n */\n get isBasicAuthentication(): boolean {\n const UNAUTHORIZED_RESPONSE_CODE = 401;\n return (\n this.isUnauthorized &&\n this.status === UNAUTHORIZED_RESPONSE_CODE &&\n this.response.error === \"No responseText\"\n );\n }\n\n /**\n * Retrieve a failed login attempt\n */\n get loginFailed(): boolean {\n return (\n this.id === \"Error.Authentication.Required\" ||\n this.id === \"Error.Authentication.InvalidCredentials\"\n );\n }\n\n /**\n */\n get shouldThrowOnServer(): boolean {\n return !this.isChangePassword && !this.isBlocked && !this.isConcurrentUser;\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA;AACA;AAMA;AACA;AAOA;AACA;AAMA;AACA;AACA;AACe,MAAME,aAAa,CAAC;EAIjC;AACF;AACA;EACEC,WAAWA,CAACC,IAAY,EAAEC,UAAmB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC7C,IAAI,CAACC,MAAM,GAAGJ,IAAI;IAClB,IAAI,CAACK,WAAW,GAAGJ,UAAU;EAC/B;;EAEA;AACF;EACE,IAAIA,UAAUA,CAACK,GAAW,EAAE;IAC1B,IAAI,CAACD,WAAW,GAAGC,GAAG;EACxB;;EAEA;AACF;EACE,IAAIL,UAAUA,CAAA,EAAY;IACxB,OAAO,IAAI,CAACI,WAAW;EACzB;;EAEA;AACF;AACA;EACE,IAAIE,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACH,MAAM,IAAI,CAAC,CAAC;EAC1B;;EAEA;AACF;AACA;EACE,IAAII,MAAMA,CAAA,EAAW;IACnB,MAAMC,gBAAgB,GAAG,CAAC;IAC1B,MAAMC,aAAa,GAAG,EAAE;IACxB,OAAO,IAAI,CAACH,KAAK,CAACC,MAAM,GACpBG,QAAQ,CAAC,IAAI,CAACJ,KAAK,CAACC,MAAM,EAAEE,aAAa,CAAC,GAC1CD,gBAAgB;EACtB;;EAEA;AACF;AACA;EACE,IAAIG,EAAEA,CAAA,EAAW;IACf,IAAI,IAAI,CAACC,kBAAkB,IAAI,IAAI,CAACN,KAAK,CAACK,EAAE,KAAK,qBAAqB,EAAE;MACtE,OAAO,wBAAwB;IACjC;IAEA,OAAO,IAAI,CAACL,KAAK,CAACK,EAAE,IAAI,IAAI,CAACL,KAAK,CAACO,IAAI,IAAI,oBAAoB;EACjE;;EAEA;AACF;EACE,IAAIC,OAAOA,CAAA,EAAW;IACpB,OAAO,IAAI,CAACR,KAAK,CAACQ,OAAO,IAAI,IAAI,CAACH,EAAE;EACtC;;EAEA;AACF;AACA;EACE,IAAII,eAAeA,CAAA,EAAW;IAC5B,OAAO,IAAI,CAACC,QAAQ,CAACF,OAAO,IAAI,IAAI;EACtC;;EAEA;AACF;AACA;EACE,IAAIG,KAAKA,CAAA,EAAgB;IACvB,OAAO,IAAI,CAACD,QAAQ,CAACC,KAAK,IAAI,IAAI;EACpC;;EAEA;AACF;AACA;EACE,IAAIC,YAAYA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACF,QAAQ,CAACC,KAAK,EAAEH,OAAO,IAAIK,SAAS;EAClD;;EAEA;AACF;AACA;EACE,IAAIC,OAAOA,CAAA,EAAW;IACpB,OAAO,IAAI,CAACJ,QAAQ,CAACC,KAAK,EAAEN,EAAE,IAAIQ,SAAS;EAC7C;;EAEA;AACF;AACA;EACE,IAAIE,eAAeA,CAAA,EAAW;IAC5B,OAAO,IAAI,CAACL,QAAQ,CAACC,KAAK,EAAEK,UAAU,IAAI,IAAI;EAChD;;EAEA;AACF;AACA;EACE,IAAIC,QAAQA,CAAA,EAAmB;IAC7B,OAAO,IAAI,CAACP,QAAQ,CAACO,QAAQ,IAAI,IAAI;EACvC;EACA;AACF;AACA;EACE,IAAIC,YAAYA,CAAA,EAAuB;IACrC,OAAO,IAAI,CAACR,QAAQ,EAAEO,QAAQ,EAAEE,IAAI,IAAI,IAAI;EAC9C;;EAEA;AACF;AACA;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,OAAO,IAAI,CAACV,QAAQ,CAACO,QAAQ,EAAEE,IAAI,EAAEd,EAAE,IAAIQ,SAAS;EACtD;;EAEA;AACF;AACA;EACE,IAAIQ,sBAAsBA,CAAA,EAAW;IACnC,OAAO,IAAI,CAACX,QAAQ,CAACO,QAAQ,EAAEE,IAAI,EAAEH,UAAU,IAAI,IAAI;EACzD;;EAEA;AACF;AACA;EACE,IAAIM,eAAeA,CAAA,EAAW;IAC5B,OAAO,IAAI,CAACZ,QAAQ,CAACO,QAAQ,EAAEE,IAAI,EAAEX,OAAO,IAAIK,SAAS;EAC3D;;EAEA;AACF;AACA;EACE,IAAIU,YAAYA,CAAA,EAAS;IACvB,IAAI,IAAI,CAACb,QAAQ,CAACO,QAAQ,EAAEO,IAAI,EAAE;MAChC,OAAO,IAAIC,aAAI,CAAC,IAAI,CAACf,QAAQ,CAACO,QAAQ,EAAEO,IAAI,CAAC;IAC/C;IACA,OAAO,IAAIC,aAAI,CAAC,CAAC;EACnB;;EAEA;AACF;AACA;EACE,IAAIC,UAAUA,CAAA,EAAyB;IACrC,OAAO,IAAIC,6BAAoB,CAAC,IAAI,CAACjB,QAAQ,EAAEgB,UAAU,CAAC;EAC5D;;EAEA;AACF;EACE,IAAIhB,QAAQA,CAAA,EAAW;IACrB,OAAO,IAAI,CAACV,KAAK,EAAEU,QAAQ,EAAEV,KAAK,IAAI,CAAC,CAAC;EAC1C;;EAEA;AACF;EACE,IAAIgB,UAAUA,CAAA,EAAW;IACvB,MAAM;MAAEA;IAAW,CAAC,GAAG,IAAI,CAAChB,KAAK;IACjC,IAAIgB,UAAU,IAAI,IAAI,IAAI,OAAOA,UAAU,IAAI,QAAQ,EAAE;MACvD,OAAOA,UAAU;IACnB;IAEA,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;AACA;EACE,IAAIY,UAAUA,CAAA,EAAuB;IACnC,OAAO,IAAI,CAAC5B,KAAK,CAAC4B,UAAU,IAAI,IAAI;EACtC;;EAEA;AACF;EACE,IAAItB,kBAAkBA,CAAA,EAAY;IAChC,MAAMuB,gCAAgC,GAAG,GAAG;IAE5C,OAAO,IAAI,CAAC5B,MAAM,KAAK4B,gCAAgC;EACzD;;EAEA;AACF;EACE,IAAIC,6BAA6BA,CAAA,EAAY;IAC3C,OAAO,IAAI,CAACxB,kBAAkB,IAAI,IAAI,CAACN,KAAK,CAAC+B,QAAQ;EACvD;;EAEA;AACF;AACA;EACE,IAAIC,cAAcA,CAAA,EAAY;IAC5B,MAAMC,0BAA0B,GAAG,GAAG;IAEtC,MAAMC,qBAAqB,GAAG,IAAI,CAACjC,MAAM,KAAKgC,0BAA0B;IACxE,MAAME,sBAAsB,GAC1B,IAAI,CAAC9B,EAAE,KAAK,qBAAqB,IACjC,IAAI,CAACA,EAAE,KAAK,+BAA+B,IAC3C,IAAI,CAACA,EAAE,KAAK,yCAAyC;IAEvD,MAAM+B,cAAc,GAAG,IAAI,CAACpC,KAAK,CAACqC,MAAM,GACpC,IAAI,CAACrC,KAAK,CAACqC,MAAM,CAAC9B,IAAI,KAAK,OAAO,GAClC,KAAK;IAET,OAAO2B,qBAAqB,IAAIC,sBAAsB,IAAIC,cAAc;EAC1E;;EAEA;AACF;EACE,IAAIE,gBAAgBA,CAAA,EAAY;IAC9B,OAAO,IAAI,CAACjC,EAAE,KAAK,8BAA8B;EACnD;;EAEA;AACF;EACE,IAAIkC,gBAAgBA,CAAA,EAAY;IAC9B,OAAO,IAAI,CAAClC,EAAE,KAAK,qCAAqC;EAC1D;;EAEA;AACF;EACE,IAAImC,iBAAiBA,CAAA,EAAY;IAC/B,OACE,IAAI,CAACnC,EAAE,KAAK,mCAAmC,IAC/C,IAAI,CAACA,EAAE,KAAK,wCAAwC,IACpD,IAAI,CAACA,EAAE,KAAK,qCAAqC,IACjD,IAAI,CAACA,EAAE,KAAK,mCAAmC;EAEnD;;EAEA;AACF;EACE,IAAIoC,SAASA,CAAA,EAAY;IACvB,OAAO,IAAI,CAACpC,EAAE,KAAK,kCAAkC;EACvD;;EAEA;AACF;EACE,IAAIqC,oBAAoBA,CAAA,EAAY;IAClC,OAAO,IAAI,CAACrC,EAAE,KAAK,yCAAyC;EAC9D;;EAEA;AACF;EACE,IAAIsC,iBAAiBA,CAAA,EAAY;IAC/B,OAAO,IAAI,CAACtC,EAAE,KAAK,sCAAsC;EAC3D;;EAEA;AACF;EACE,IAAIuC,cAAcA,CAAA,EAAY;IAC5B,OAAO,IAAI,CAACvC,EAAE,KAAK,kCAAkC;EACvD;;EAEA;AACF;AACA;AACA;EACE,IAAIwC,wBAAwBA,CAAA,EAAY;IACtC,OAAO,IAAI,CAACxC,EAAE,KAAK,8BAA8B;EACnD;;EAEA;AACF;AACA;EACE,IAAIyC,kBAAkBA,CAAA,EAAU;IAC9B,OAAO,IAAI,CAAC9B,UAAU,CAACC,QAAQ,GAAG,IAAIQ,aAAI,CAAC,IAAI,CAACT,UAAU,CAACC,QAAQ,CAAC,GAAG,IAAI;EAC7E;;EAEA;AACF;AACA;EACE,IAAI8B,qBAAqBA,CAAA,EAAY;IACnC,MAAMd,0BAA0B,GAAG,GAAG;IACtC,OACE,IAAI,CAACD,cAAc,IACnB,IAAI,CAAC/B,MAAM,KAAKgC,0BAA0B,IAC1C,IAAI,CAACvB,QAAQ,CAACV,KAAK,KAAK,iBAAiB;EAE7C;;EAEA;AACF;AACA;EACE,IAAIgD,WAAWA,CAAA,EAAY;IACzB,OACE,IAAI,CAAC3C,EAAE,KAAK,+BAA+B,IAC3C,IAAI,CAACA,EAAE,KAAK,yCAAyC;EAEzD;;EAEA;AACF;EACE,IAAI4C,mBAAmBA,CAAA,EAAY;IACjC,OAAO,CAAC,IAAI,CAACX,gBAAgB,IAAI,CAAC,IAAI,CAACG,SAAS,IAAI,CAAC,IAAI,CAACF,gBAAgB;EAC5E;AACF;AAACW,OAAA,CAAAtD,OAAA,GAAAL,aAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"AssignmentFilterModel.js","names":["_BaseFilterModel","_interopRequireDefault","require","_exceptions","AssignmentFilterModel","BaseFilterModel","constructor","data","contributions","_defineProperty2","default","_assignmenttype","createAssignmentTypeModel","_user","createUserModel","key","name","listkey","_listKey","contextid","getContribution","assignmentTypeData","IllegalStateException","dynamicschema","assignmentTypeContributions","enumerated","optionMode","_links","createAttribute","param","userData","userContributions","assignmenttype","user","params","value","reset","update","attribute","isActive","initvalue","isValid","exports"],"sources":["../../../src/models/filters/AssignmentFilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\n\nimport type { AttributeType } from \"../types\";\nimport { IllegalStateException } from \"../../exceptions\";\n/**\n * Assignment filter consists of two filters: assignment type and user filter\n */\nexport default class AssignmentFilterModel extends BaseFilterModel {\n _listKey: string;\n _assignmenttype: ?AttributeType;\n _user: ?AttributeType;\n\n /**\n * Construct an assignment filter\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._assignmenttype = this.createAssignmentTypeModel();\n this._user = this.createUserModel();\n }\n\n /**\n */\n get key(): ?string {\n return this.data.name;\n }\n\n /**\n * Getting key of the list these filters apply to\n */\n get listkey(): string {\n return this._listKey;\n }\n\n /**\n * Set key of list this filter belongs to\n */\n set listkey(key: string) {\n this._listKey = key;\n }\n\n /**\n */\n get contextid(): string {\n return this.getContribution(\"contextid\", \"\");\n }\n /**\n * Creates an assignmenttype model when assignmenttype json is present\n */\n createAssignmentTypeModel(): ?AttributeType {\n const key = `${this.contextid}ASSIGNMENTTYPE`;\n const assignmentTypeData = this.data[key];\n\n if (typeof assignmentTypeData === \"undefined\") {\n throw new IllegalStateException(\n `Missing assignment type data for ${key}`\n );\n }\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n assignmentTypeData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const assignmentTypeContributions = {\n ...this.contributions[key],\n enumerated: true,\n optionMode: assignmentTypeData._links ? \"lookup\" : \"static\",\n };\n\n return this.createAttribute(\n \"choice\",\n assignmentTypeData.name || assignmentTypeData.param,\n assignmentTypeData,\n assignmentTypeContributions\n );\n }\n\n /**\n * Creates an assignmenttype model when userkey json is present\n */\n createUserModel(): ?AttributeType {\n const key = `${this.contextid}USERKEY`;\n const userData = this.data[key];\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n userData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const userContributions = {\n ...this.contributions[key],\n optionMode: userData._links ? \"lookup\" : \"static\",\n };\n\n return this.createAttribute(\n \"choice\",\n userData.name || userData.param,\n userData,\n userContributions\n );\n }\n\n /**\n * The assignment filter consists of two part. This method return the assignment type attribute\n */\n get assignmenttype(): ?AttributeType {\n return this._assignmenttype;\n }\n\n /**\n * The assignment filter consists of two part. This method return the user identifier attribute\n */\n get user(): ?AttributeType {\n return this._user;\n }\n\n /**\n * Getting the parameters of this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (this.assignmenttype && this.user) {\n return [\n {\n name: this.assignmenttype.name,\n value: this.assignmenttype.value,\n },\n {\n name: this.user.name,\n value: this.user.value,\n },\n ];\n }\n\n return [];\n }\n\n /**\n * Reset the values within the filter\n */\n reset(): AssignmentFilterModel {\n if (this.assignmenttype) {\n this.assignmenttype.reset();\n }\n if (this.user) {\n this.user.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter\n */\n update(attribute: AttributeType, value: string) {\n if (this.user != null && this.user.key === attribute.key) {\n this.user.update(value);\n } else if (\n this.assignmenttype != null &&\n this.assignmenttype.key === attribute.key\n ) {\n this.assignmenttype.update(value);\n }\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return (\n (this.assignmenttype != null && this.assignmenttype.initvalue !== null) ||\n (this.user != null && this.user.initvalue !== null)\n );\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return (\n this.assignmenttype != null &&\n this.assignmenttype.isValid &&\n this.user != null &&\n this.user.isValid\n );\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,WAAA,GAAAD,OAAA;AACA;AACA;AACA;AACe,MAAME,qBAAqB,SAASC,wBAAe,CAAC;EAKjE;AACF;AACA;EACEC,WAAWA,CAACC,IAAY,EAAEC,aAAqB,EAAE;IAC/C,KAAK,CAACD,IAAI,EAAEC,aAAa,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAE3B,IAAI,CAACC,eAAe,GAAG,IAAI,CAACC,yBAAyB,EAAE;IACvD,IAAI,CAACC,KAAK,GAAG,IAAI,CAACC,eAAe,EAAE;EACrC;;EAEA;AACF;EACE,IAAIC,GAAGA,CAAA,EAAY;IACjB,OAAO,IAAI,CAACR,IAAI,CAACS,IAAI;EACvB;;EAEA;AACF;AACA;EACE,IAAIC,OAAOA,CAAA,EAAW;IACpB,OAAO,IAAI,CAACC,QAAQ;EACtB;;EAEA;AACF;AACA;EACE,IAAID,OAAOA,CAACF,GAAW,EAAE;IACvB,IAAI,CAACG,QAAQ,GAAGH,GAAG;EACrB;;EAEA;AACF;EACE,IAAII,SAASA,CAAA,EAAW;IACtB,OAAO,IAAI,CAACC,eAAe,CAAC,WAAW,EAAE,EAAE,CAAC;EAC9C;EACA;AACF;AACA;EACER,yBAAyBA,CAAA,EAAmB;IAC1C,MAAMG,GAAG,GAAI,GAAE,IAAI,CAACI,SAAU,gBAAe;IAC7C,MAAME,kBAAkB,GAAG,IAAI,CAACd,IAAI,CAACQ,GAAG,CAAC;IAEzC,IAAI,OAAOM,kBAAkB,KAAK,WAAW,EAAE;MAC7C,MAAM,IAAIC,iCAAqB,CAC5B,oCAAmCP,GAAI,EAAC,CAC1C;IACH;IAEA,IAAI,IAAI,CAACR,IAAI,CAACgB,aAAa,IAAI,IAAI,CAAChB,IAAI,CAACgB,aAAa,CAACR,GAAG,CAAC,EAAE;MAC3DM,kBAAkB,CAACE,aAAa,GAAG;QACjC,CAACR,GAAG,GAAG,IAAI,CAACR,IAAI,CAACgB,aAAa,CAACR,GAAG;MACpC,CAAC;IACH;IAEA,MAAMS,2BAA2B,GAAG;MAClC,GAAG,IAAI,CAAChB,aAAa,CAACO,GAAG,CAAC;MAC1BU,UAAU,EAAE,IAAI;MAChBC,UAAU,EAAEL,kBAAkB,CAACM,MAAM,GAAG,QAAQ,GAAG;IACrD,CAAC;IAED,OAAO,IAAI,CAACC,eAAe,CACzB,QAAQ,EACRP,kBAAkB,CAACL,IAAI,IAAIK,kBAAkB,CAACQ,KAAK,EACnDR,kBAAkB,EAClBG,2BAA2B,CAC5B;EACH;;EAEA;AACF;AACA;EACEV,eAAeA,CAAA,EAAmB;IAChC,MAAMC,GAAG,GAAI,GAAE,IAAI,CAACI,SAAU,SAAQ;IACtC,MAAMW,QAAQ,GAAG,IAAI,CAACvB,IAAI,CAACQ,GAAG,CAAC;IAE/B,IAAI,IAAI,CAACR,IAAI,CAACgB,aAAa,IAAI,IAAI,CAAChB,IAAI,CAACgB,aAAa,CAACR,GAAG,CAAC,EAAE;MAC3De,QAAQ,CAACP,aAAa,GAAG;QACvB,CAACR,GAAG,GAAG,IAAI,CAACR,IAAI,CAACgB,aAAa,CAACR,GAAG;MACpC,CAAC;IACH;IAEA,MAAMgB,iBAAiB,GAAG;MACxB,GAAG,IAAI,CAACvB,aAAa,CAACO,GAAG,CAAC;MAC1BW,UAAU,EAAEI,QAAQ,CAACH,MAAM,GAAG,QAAQ,GAAG;IAC3C,CAAC;IAED,OAAO,IAAI,CAACC,eAAe,CACzB,QAAQ,EACRE,QAAQ,CAACd,IAAI,IAAIc,QAAQ,CAACD,KAAK,EAC/BC,QAAQ,EACRC,iBAAiB,CAClB;EACH;;EAEA;AACF;AACA;EACE,IAAIC,cAAcA,CAAA,EAAmB;IACnC,OAAO,IAAI,CAACrB,eAAe;EAC7B;;EAEA;AACF;AACA;EACE,IAAIsB,IAAIA,CAAA,EAAmB;IACzB,OAAO,IAAI,CAACpB,KAAK;EACnB;;EAEA;AACF;AACA;EACE,IAAIqB,MAAMA,CAAA,EAA4C;IACpD,IAAI,IAAI,CAACF,cAAc,IAAI,IAAI,CAACC,IAAI,EAAE;MACpC,OAAO,CACL;QACEjB,IAAI,EAAE,IAAI,CAACgB,cAAc,CAAChB,IAAI;QAC9BmB,KAAK,EAAE,IAAI,CAACH,cAAc,CAACG;MAC7B,CAAC,EACD;QACEnB,IAAI,EAAE,IAAI,CAACiB,IAAI,CAACjB,IAAI;QACpBmB,KAAK,EAAE,IAAI,CAACF,IAAI,CAACE;MACnB,CAAC,CACF;IACH;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;AACA;EACEC,KAAKA,CAAA,EAA0B;IAC7B,IAAI,IAAI,CAACJ,cAAc,EAAE;MACvB,IAAI,CAACA,cAAc,CAACI,KAAK,EAAE;IAC7B;IACA,IAAI,IAAI,CAACH,IAAI,EAAE;MACb,IAAI,CAACA,IAAI,CAACG,KAAK,EAAE;IACnB;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEC,MAAMA,CAACC,SAAwB,EAAEH,KAAa,EAAE;IAC9C,IAAI,IAAI,CAACF,IAAI,IAAI,IAAI,IAAI,IAAI,CAACA,IAAI,CAAClB,GAAG,KAAKuB,SAAS,CAACvB,GAAG,EAAE;MACxD,IAAI,CAACkB,IAAI,CAACI,MAAM,CAACF,KAAK,CAAC;IACzB,CAAC,MAAM,IACL,IAAI,CAACH,cAAc,IAAI,IAAI,IAC3B,IAAI,CAACA,cAAc,CAACjB,GAAG,KAAKuB,SAAS,CAACvB,GAAG,EACzC;MACA,IAAI,CAACiB,cAAc,CAACK,MAAM,CAACF,KAAK,CAAC;IACnC;EACF;;EAEA;AACF;AACA;EACEI,QAAQA,CAAA,EAAY;IAClB,OACG,IAAI,CAACP,cAAc,IAAI,IAAI,IAAI,IAAI,CAACA,cAAc,CAACQ,SAAS,KAAK,IAAI,IACrE,IAAI,CAACP,IAAI,IAAI,IAAI,IAAI,IAAI,CAACA,IAAI,CAACO,SAAS,KAAK,IAAK;EAEvD;;EAEA;AACF;AACA;EACE,IAAIC,OAAOA,CAAA,EAAY;IACrB,OACE,IAAI,CAACT,cAAc,IAAI,IAAI,IAC3B,IAAI,CAACA,cAAc,CAACS,OAAO,IAC3B,IAAI,CAACR,IAAI,IAAI,IAAI,IACjB,IAAI,CAACA,IAAI,CAACQ,OAAO;EAErB;AACF;AAACC,OAAA,CAAAhC,OAAA,GAAAN,qBAAA"}
1
+ {"version":3,"file":"AssignmentFilterModel.js","names":["_BaseFilterModel","_interopRequireDefault","require","_exceptions","AssignmentFilterModel","BaseFilterModel","constructor","data","contributions","_defineProperty2","default","_assignmenttype","createAssignmentTypeModel","_user","createUserModel","key","name","listkey","_listKey","contextid","getContribution","assignmentTypeData","IllegalStateException","dynamicschema","assignmentTypeContributions","enumerated","optionMode","_links","createAttribute","param","userData","userContributions","assignmenttype","user","params","value","reset","update","attribute","isActive","initvalue","isValid","exports"],"sources":["../../../src/models/filters/AssignmentFilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\n\nimport type { AttributeType } from \"../types\";\nimport { IllegalStateException } from \"../../exceptions\";\n/**\n * Assignment filter consists of two filters: assignment type and user filter\n */\nexport default class AssignmentFilterModel extends BaseFilterModel {\n _listKey: string;\n _assignmenttype: ?AttributeType;\n _user: ?AttributeType;\n\n /**\n * Construct an assignment filter\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._assignmenttype = this.createAssignmentTypeModel();\n this._user = this.createUserModel();\n }\n\n /**\n */\n get key(): ?string {\n return this.data.name;\n }\n\n /**\n * Getting key of the list these filters apply to\n */\n get listkey(): string {\n return this._listKey;\n }\n\n /**\n * Set key of list this filter belongs to\n */\n set listkey(key: string) {\n this._listKey = key;\n }\n\n /**\n */\n get contextid(): string {\n return this.getContribution(\"contextid\", \"\");\n }\n /**\n * Creates an assignmenttype model when assignmenttype json is present\n */\n createAssignmentTypeModel(): ?AttributeType {\n const key = `${this.contextid}ASSIGNMENTTYPE`;\n const assignmentTypeData = this.data[key];\n\n if (typeof assignmentTypeData === \"undefined\") {\n throw new IllegalStateException(\n `Missing assignment type data for ${key}`\n );\n }\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n assignmentTypeData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const assignmentTypeContributions = {\n ...this.contributions[key],\n enumerated: true,\n optionMode: assignmentTypeData._links ? \"lookup\" : \"static\",\n };\n\n return this.createAttribute(\n \"choice\",\n assignmentTypeData.name || assignmentTypeData.param,\n assignmentTypeData,\n assignmentTypeContributions\n );\n }\n\n /**\n * Creates an assignmenttype model when userkey json is present\n */\n createUserModel(): ?AttributeType {\n const key = `${this.contextid}USERKEY`;\n const userData = this.data[key];\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n userData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const userContributions = {\n ...this.contributions[key],\n optionMode: userData._links ? \"lookup\" : \"static\",\n };\n\n return this.createAttribute(\n \"choice\",\n userData.name || userData.param,\n userData,\n userContributions\n );\n }\n\n /**\n * The assignment filter consists of two part. This method return the assignment type attribute\n */\n get assignmenttype(): ?AttributeType {\n return this._assignmenttype;\n }\n\n /**\n * The assignment filter consists of two part. This method return the user identifier attribute\n */\n get user(): ?AttributeType {\n return this._user;\n }\n\n /**\n * Getting the parameters of this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (this.assignmenttype && this.user) {\n return [\n {\n name: this.assignmenttype.name,\n value: this.assignmenttype.value,\n },\n {\n name: this.user.name,\n value: this.user.value,\n },\n ];\n }\n\n return [];\n }\n\n /**\n * Reset the values within the filter\n */\n reset(): AssignmentFilterModel {\n if (this.assignmenttype) {\n this.assignmenttype.reset();\n }\n if (this.user) {\n this.user.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter\n */\n update(attribute: AttributeType, value: string) {\n if (this.user != null && this.user.key === attribute.key) {\n this.user.update(value);\n } else if (\n this.assignmenttype != null &&\n this.assignmenttype.key === attribute.key\n ) {\n this.assignmenttype.update(value);\n }\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return (\n (this.assignmenttype != null && this.assignmenttype.initvalue !== null) ||\n (this.user != null && this.user.initvalue !== null)\n );\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return (\n this.assignmenttype != null &&\n this.assignmenttype.isValid &&\n this.user != null &&\n this.user.isValid\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BaseFilterModel.js","names":["_BaseModel","_interopRequireDefault","require","_createAttribute","_Constants","_exceptions","BaseFilterModel","BaseModel","constructor","data","contributions","_defineProperty2","default","_attribute","createAttribute","type","param","listKey","listkey","replace","context","_context","contextLabel","label","_listKey","key","getContribution","name","PARAMETER_SEPARATOR","attribute","IllegalStateException","params","value","reset","update","isQuickSearch","quicksearch","isActive","initvalue","isValid","readonlyvalue","exports"],"sources":["../../../src/models/filters/BaseFilterModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport createAttribute from \"../attributes/_createAttribute\";\nimport { PARAMETER_SEPARATOR } from \"../../constants/Constants\";\n\nimport type { AttributeType, FilterType } from \"../types\";\nimport { IllegalStateException } from \"../../exceptions\";\n\n/**\n * Base class for filters\n */\nexport default class BaseFilterModel extends BaseModel {\n _attribute: AttributeType | null = null;\n _context: Object;\n _listKey: string;\n\n /**\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._attribute = this.createAttribute(\n this.type,\n this.param,\n this.data,\n this.contributions\n );\n\n if (this.contributions.listKey) {\n this.listkey = this.contributions.listKey;\n }\n }\n\n /**\n * Get the type of a filter.\n */\n get type(): string {\n return this.contributions.type\n ? this.contributions.type.replace(\"filter\", \"\")\n : \"string\";\n }\n\n /**\n * Create attribute through the attribute factory. Create type based on filter key without the filter suffix\n */\n createAttribute(\n type: string,\n param: string,\n data: Object,\n contributions: Object\n ): AttributeType | null {\n if (type === \"assignment\") {\n return null;\n }\n\n return createAttribute(param, data, {\n ...contributions,\n type: type,\n });\n }\n\n /**\n * Getting context data\n */\n get context(): Object {\n return this._context;\n }\n\n /**\n * Set context of filter\n */\n set context(context: Object) {\n this._context = context;\n }\n\n /**\n * Getting the context label\n */\n get contextLabel(): string {\n return this.context?.label ?? \"\";\n }\n\n /**\n * Getting key of the list these filters apply to\n */\n get listkey(): string {\n return this._listKey;\n }\n\n /**\n * Set key of list this filter belongs to\n */\n set listkey(key: string) {\n this._listKey = key;\n }\n\n /**\n * Getting the label of the filter\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the name of the filter\n */\n get name(): string {\n if (this.listkey) {\n return this.listkey + PARAMETER_SEPARATOR + this.param;\n }\n\n return this.param;\n }\n\n /**\n * Getting the param name of the filter\n */\n get param(): string {\n return this.data.param ?? this.data.name;\n }\n\n /**\n * Get attribute of filter\n */\n get attribute(): AttributeType {\n if (!this._attribute) {\n throw new IllegalStateException(\n `Missing filter attribute on filter model: ${this.label}`\n );\n }\n return this._attribute;\n }\n\n /**\n * Retrieve the parameters with it's value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.attribute?.value,\n },\n ];\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): FilterType {\n if (this.attribute) {\n this.attribute.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute) {\n this.attribute.update(value);\n }\n }\n\n /**\n * Inidicates if filter is a quick search filter\n */\n isQuickSearch(): boolean {\n return this.contributions.quicksearch === true;\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return this.attribute !== null && this.attribute.initvalue !== null;\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return this.attribute !== null && this.attribute.isValid;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.attribute) {\n return this.attribute.readonlyvalue;\n }\n return \"\";\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"BaseFilterModel.js","names":["_BaseModel","_interopRequireDefault","require","_createAttribute","_Constants","_exceptions","BaseFilterModel","BaseModel","constructor","data","contributions","_defineProperty2","default","_attribute","createAttribute","type","param","listKey","listkey","replace","context","_context","contextLabel","label","_listKey","key","getContribution","name","PARAMETER_SEPARATOR","attribute","IllegalStateException","params","value","reset","update","isQuickSearch","quicksearch","isActive","initvalue","isValid","readonlyvalue","exports"],"sources":["../../../src/models/filters/BaseFilterModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport createAttribute from \"../attributes/_createAttribute\";\nimport { PARAMETER_SEPARATOR } from \"../../constants/Constants\";\n\nimport type { AttributeType, FilterType } from \"../types\";\nimport { IllegalStateException } from \"../../exceptions\";\n\n/**\n * Base class for filters\n */\nexport default class BaseFilterModel extends BaseModel {\n _attribute: AttributeType | null = null;\n _context: Object;\n _listKey: string;\n\n /**\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._attribute = this.createAttribute(\n this.type,\n this.param,\n this.data,\n this.contributions\n );\n\n if (this.contributions.listKey) {\n this.listkey = this.contributions.listKey;\n }\n }\n\n /**\n * Get the type of a filter.\n */\n get type(): string {\n return this.contributions.type\n ? this.contributions.type.replace(\"filter\", \"\")\n : \"string\";\n }\n\n /**\n * Create attribute through the attribute factory. Create type based on filter key without the filter suffix\n */\n createAttribute(\n type: string,\n param: string,\n data: Object,\n contributions: Object\n ): AttributeType | null {\n if (type === \"assignment\") {\n return null;\n }\n\n return createAttribute(param, data, {\n ...contributions,\n type: type,\n });\n }\n\n /**\n * Getting context data\n */\n get context(): Object {\n return this._context;\n }\n\n /**\n * Set context of filter\n */\n set context(context: Object) {\n this._context = context;\n }\n\n /**\n * Getting the context label\n */\n get contextLabel(): string {\n return this.context?.label ?? \"\";\n }\n\n /**\n * Getting key of the list these filters apply to\n */\n get listkey(): string {\n return this._listKey;\n }\n\n /**\n * Set key of list this filter belongs to\n */\n set listkey(key: string) {\n this._listKey = key;\n }\n\n /**\n * Getting the label of the filter\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the name of the filter\n */\n get name(): string {\n if (this.listkey) {\n return this.listkey + PARAMETER_SEPARATOR + this.param;\n }\n\n return this.param;\n }\n\n /**\n * Getting the param name of the filter\n */\n get param(): string {\n return this.data.param ?? this.data.name;\n }\n\n /**\n * Get attribute of filter\n */\n get attribute(): AttributeType {\n if (!this._attribute) {\n throw new IllegalStateException(\n `Missing filter attribute on filter model: ${this.label}`\n );\n }\n return this._attribute;\n }\n\n /**\n * Retrieve the parameters with it's value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.attribute?.value,\n },\n ];\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): FilterType {\n if (this.attribute) {\n this.attribute.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute) {\n this.attribute.update(value);\n }\n }\n\n /**\n * Inidicates if filter is a quick search filter\n */\n isQuickSearch(): boolean {\n return this.contributions.quicksearch === true;\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return this.attribute !== null && this.attribute.initvalue !== null;\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return this.attribute !== null && this.attribute.isValid;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.attribute) {\n return this.attribute.readonlyvalue;\n }\n return \"\";\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_RangeFilterModel","_AssignmentFilterModel","_FilterModel","_ConceptIndexFilterModel","_CompositeAttributeModel","FilterCollection","BaseCollection","constructor","data","arguments","length","undefined","contributions","Array","isArray","_filter","default","_context","_context2","collection","_map","call","filterContribution","_keys","filterKey","filterData","filterContributionByKey","filter","createFilter","dynamicschema","listkey","contexts","contextid","_context3","filterContext","_find","context","id","type","ConceptIndexFilterModel","_includes","RangeFilterModel","AssignmentFilterModel","FilterModel","reset","_context4","checkRangeFilterByAttributeKey","key","rangeAttribute","attribute","CompositeAttributeModel","start","end","checkAssignmentFilterByAttributeKey","user","assignmenttype","getFilterByAttributeKey","_context5","update","value","_context6","filterToUpdate","parentKey","Error","newFilter","clone","name","isValid","every","hasActiveFilters","some","isActive","exports"],"sources":["../../../src/models/filters/FilterCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\n\nimport RangeFilterModel from \"../filters/RangeFilterModel\";\nimport AssignmentFilterModel from \"../filters/AssignmentFilterModel\";\nimport FilterModel from \"../filters/FilterModel\";\nimport ConceptIndexFilterModel from \"../filters/ConceptIndexFilterModel\";\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\n\nimport type { AttributeType, FilterType } from \"../types\";\n\n/**\n * Contains a collection of filters\n */\nexport default class FilterCollection extends BaseCollection<FilterType> {\n /**\n * Construct a collection of filters\n */\n constructor(data: Object = {}, contributions: Object = {}) {\n super();\n\n if (data && contributions && Array.isArray(contributions.filter)) {\n this.collection = contributions.filter\n .filter((filterContribution) => Object.keys(filterContribution)[0])\n .map((filterContribution) => {\n const [filterKey] = Object.keys(filterContribution);\n const filterData = data[filterKey];\n const filterContributionByKey = filterContribution[filterKey];\n\n const filter = this.createFilter(\n filterKey,\n {\n ...filterData,\n dynamicschema: contributions.dynamicschema,\n },\n filterContributionByKey\n );\n\n if (contributions.listkey) {\n filter.listkey = contributions.listkey;\n }\n\n if (contributions.contexts && filterContributionByKey.contextid) {\n const filterContext = contributions.contexts.find(\n (context) => context.id === filterContributionByKey.contextid\n );\n if (filterContext) {\n filter.context = filterContext;\n }\n }\n\n return filter;\n });\n }\n }\n\n /**\n */\n createFilter(\n filterKey: string,\n data: Object,\n contributions: Object\n ): FilterType {\n const type = contributions.type || \"stringfilter\";\n if (type === \"choicefilter\" && filterKey === \"index\") {\n return new ConceptIndexFilterModel(data, contributions);\n }\n\n if (type.includes(\"rangefilter\")) {\n return new RangeFilterModel(data, contributions);\n }\n\n if (type === \"assignmentfilter\") {\n return new AssignmentFilterModel(data, contributions);\n }\n\n return new FilterModel(data, contributions);\n }\n\n /**\n * Call the reset function on all filters\n *\n * @see {FilterType#reset()}\n */\n reset(): FilterCollection {\n this.collection = this.collection.map((filter) => filter.reset());\n\n return this;\n }\n\n /**\n * Checks if range attribute key equals key\n */\n checkRangeFilterByAttributeKey(\n filter: RangeFilterModel,\n key: string\n ): boolean {\n const rangeAttribute = filter.attribute;\n\n if (rangeAttribute instanceof CompositeAttributeModel) {\n return (\n rangeAttribute.key === key ||\n (rangeAttribute.start && rangeAttribute.start.key === key) ||\n (rangeAttribute.end && rangeAttribute.end.key === key)\n );\n }\n\n return false;\n }\n\n /**\n * Check if assignment filter attribute matches key\n */\n checkAssignmentFilterByAttributeKey(\n filter: AssignmentFilterModel,\n key: string\n ): boolean {\n return (\n filter.key === key ||\n filter.user?.key === key ||\n filter.assignmenttype?.key === key\n );\n }\n\n /**\n * Getting the filter by name\n */\n getFilterByAttributeKey(key: string): FilterType | null {\n return (\n this.find((filter) => {\n if (filter instanceof RangeFilterModel) {\n return this.checkRangeFilterByAttributeKey(filter, key);\n }\n\n if (filter instanceof AssignmentFilterModel) {\n return this.checkAssignmentFilterByAttributeKey(filter, key);\n }\n\n return filter.attribute?.key === key;\n }) || null\n );\n }\n\n /**\n * Update Filter by input name and value\n */\n update(attribute: AttributeType, value: string): void {\n const filterToUpdate = attribute.parentKey\n ? this.getFilterByAttributeKey(attribute.parentKey)\n : this.getFilterByAttributeKey(attribute.key);\n\n if (!filterToUpdate) {\n throw new Error(`Can not find filter by attribute key: ${attribute.key}`);\n }\n\n const newFilter = filterToUpdate.clone();\n newFilter.update(attribute, value);\n\n this.collection = this.collection.map((filter) => {\n if (filter.name === newFilter.name) {\n return newFilter;\n }\n\n return filter;\n });\n }\n\n /**\n * Retrieve if all filters are valid\n */\n get isValid(): boolean {\n return this.collection.every((filter) => filter.isValid);\n }\n\n /**\n * Indicates if an active filter is present in the collection\n */\n hasActiveFilters(): boolean {\n return this.collection.some((filter) => filter.isActive());\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_RangeFilterModel","_AssignmentFilterModel","_FilterModel","_ConceptIndexFilterModel","_CompositeAttributeModel","FilterCollection","BaseCollection","constructor","data","arguments","length","undefined","contributions","Array","isArray","_filter","default","_context","_context2","collection","_map","call","filterContribution","_keys","filterKey","filterData","filterContributionByKey","filter","createFilter","dynamicschema","listkey","contexts","contextid","_context3","filterContext","_find","context","id","type","ConceptIndexFilterModel","_includes","RangeFilterModel","AssignmentFilterModel","FilterModel","reset","_context4","checkRangeFilterByAttributeKey","key","rangeAttribute","attribute","CompositeAttributeModel","start","end","checkAssignmentFilterByAttributeKey","user","assignmenttype","getFilterByAttributeKey","_context5","update","value","_context6","filterToUpdate","parentKey","Error","newFilter","clone","name","isValid","every","hasActiveFilters","some","isActive","exports"],"sources":["../../../src/models/filters/FilterCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\n\nimport RangeFilterModel from \"../filters/RangeFilterModel\";\nimport AssignmentFilterModel from \"../filters/AssignmentFilterModel\";\nimport FilterModel from \"../filters/FilterModel\";\nimport ConceptIndexFilterModel from \"../filters/ConceptIndexFilterModel\";\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\n\nimport type { AttributeType, FilterType } from \"../types\";\n\n/**\n * Contains a collection of filters\n */\nexport default class FilterCollection extends BaseCollection<FilterType> {\n /**\n * Construct a collection of filters\n */\n constructor(data: Object = {}, contributions: Object = {}) {\n super();\n\n if (data && contributions && Array.isArray(contributions.filter)) {\n this.collection = contributions.filter\n .filter((filterContribution) => Object.keys(filterContribution)[0])\n .map((filterContribution) => {\n const [filterKey] = Object.keys(filterContribution);\n const filterData = data[filterKey];\n const filterContributionByKey = filterContribution[filterKey];\n\n const filter = this.createFilter(\n filterKey,\n {\n ...filterData,\n dynamicschema: contributions.dynamicschema,\n },\n filterContributionByKey\n );\n\n if (contributions.listkey) {\n filter.listkey = contributions.listkey;\n }\n\n if (contributions.contexts && filterContributionByKey.contextid) {\n const filterContext = contributions.contexts.find(\n (context) => context.id === filterContributionByKey.contextid\n );\n if (filterContext) {\n filter.context = filterContext;\n }\n }\n\n return filter;\n });\n }\n }\n\n /**\n */\n createFilter(\n filterKey: string,\n data: Object,\n contributions: Object\n ): FilterType {\n const type = contributions.type || \"stringfilter\";\n if (type === \"choicefilter\" && filterKey === \"index\") {\n return new ConceptIndexFilterModel(data, contributions);\n }\n\n if (type.includes(\"rangefilter\")) {\n return new RangeFilterModel(data, contributions);\n }\n\n if (type === \"assignmentfilter\") {\n return new AssignmentFilterModel(data, contributions);\n }\n\n return new FilterModel(data, contributions);\n }\n\n /**\n * Call the reset function on all filters\n *\n * @see {FilterType#reset()}\n */\n reset(): FilterCollection {\n this.collection = this.collection.map((filter) => filter.reset());\n\n return this;\n }\n\n /**\n * Checks if range attribute key equals key\n */\n checkRangeFilterByAttributeKey(\n filter: RangeFilterModel,\n key: string\n ): boolean {\n const rangeAttribute = filter.attribute;\n\n if (rangeAttribute instanceof CompositeAttributeModel) {\n return (\n rangeAttribute.key === key ||\n (rangeAttribute.start && rangeAttribute.start.key === key) ||\n (rangeAttribute.end && rangeAttribute.end.key === key)\n );\n }\n\n return false;\n }\n\n /**\n * Check if assignment filter attribute matches key\n */\n checkAssignmentFilterByAttributeKey(\n filter: AssignmentFilterModel,\n key: string\n ): boolean {\n return (\n filter.key === key ||\n filter.user?.key === key ||\n filter.assignmenttype?.key === key\n );\n }\n\n /**\n * Getting the filter by name\n */\n getFilterByAttributeKey(key: string): FilterType | null {\n return (\n this.find((filter) => {\n if (filter instanceof RangeFilterModel) {\n return this.checkRangeFilterByAttributeKey(filter, key);\n }\n\n if (filter instanceof AssignmentFilterModel) {\n return this.checkAssignmentFilterByAttributeKey(filter, key);\n }\n\n return filter.attribute?.key === key;\n }) || null\n );\n }\n\n /**\n * Update Filter by input name and value\n */\n update(attribute: AttributeType, value: string): void {\n const filterToUpdate = attribute.parentKey\n ? this.getFilterByAttributeKey(attribute.parentKey)\n : this.getFilterByAttributeKey(attribute.key);\n\n if (!filterToUpdate) {\n throw new Error(`Can not find filter by attribute key: ${attribute.key}`);\n }\n\n const newFilter = filterToUpdate.clone();\n newFilter.update(attribute, value);\n\n this.collection = this.collection.map((filter) => {\n if (filter.name === newFilter.name) {\n return newFilter;\n }\n\n return filter;\n });\n }\n\n /**\n * Retrieve if all filters are valid\n */\n get isValid(): boolean {\n return this.collection.every((filter) => filter.isValid);\n }\n\n /**\n * Indicates if an active filter is present in the collection\n */\n hasActiveFilters(): boolean {\n return this.collection.some((filter) => filter.isActive());\n }\n}\n"],"mappings":"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"}
@@ -48,6 +48,7 @@ class FormModel extends _ResourceModel.default {
48
48
  (0, _defineProperty2.default)(this, "_commit", void 0);
49
49
  (0, _defineProperty2.default)(this, "_isFinished", void 0);
50
50
  (0, _defineProperty2.default)(this, "_isComplete", void 0);
51
+ (0, _defineProperty2.default)(this, "_success", void 0);
51
52
  (0, _defineProperty2.default)(this, "_parameters", void 0);
52
53
  (0, _defineProperty2.default)(this, "_tokens", void 0);
53
54
  this.lastUpdate = 0;
@@ -58,6 +59,7 @@ class FormModel extends _ResourceModel.default {
58
59
  if (this.data.errors) {
59
60
  this.handleRootErrors(this.data.errors);
60
61
  }
62
+ this.createSuccess();
61
63
  }
62
64
 
63
65
  /**
@@ -493,7 +495,7 @@ class FormModel extends _ResourceModel.default {
493
495
  * Inidicates if form is finished: Form is completely entered and committed
494
496
  */
495
497
  get isFinished() {
496
- return this._isFinished || "success" in this.data;
498
+ return this._isFinished || this.success != undefined;
497
499
  }
498
500
 
499
501
  /**
@@ -519,7 +521,7 @@ class FormModel extends _ResourceModel.default {
519
521
  * Handle success redirects
520
522
  */
521
523
  get successRedirect() {
522
- return this.isFinished && this.data.success ? new _Href.default(this.data.success.redirect) : null;
524
+ return this.isFinished && this.success ? new _Href.default(this.success.redirect) : null;
523
525
  }
524
526
 
525
527
  /**
@@ -532,7 +534,7 @@ class FormModel extends _ResourceModel.default {
532
534
  * Get the result data as plain json object
533
535
  */
534
536
  getSuccessData() {
535
- return this.data.success?.data;
537
+ return this.success?.data;
536
538
  }
537
539
 
538
540
  /**
@@ -758,6 +760,8 @@ class FormModel extends _ResourceModel.default {
758
760
  setPreviousObject() {
759
761
  var _context21, _context22, _context23, _context24, _context25;
760
762
  this.isComplete = false;
763
+ this.isFinished = false;
764
+ this.success = null;
761
765
  const oldCurrentFormObject = this.currentFormObject;
762
766
  if (this.currentFormObject !== null) {
763
767
  this.previouslyEnteredFormObjects = [this.currentFormObject, ...this.previouslyEnteredFormObjects];
@@ -818,6 +822,7 @@ class FormModel extends _ResourceModel.default {
818
822
  this.tokens = receivedForm.tokens;
819
823
  this.isComplete = receivedForm.isComplete;
820
824
  this.isFinished = receivedForm.isFinished;
825
+ this.success = receivedForm.success;
821
826
  const receivedFormData = receivedForm.data ?? {};
822
827
  const hasMissing = (0, _objects.has)(receivedFormData, "missing");
823
828
  const hasErrors = (0, _objects.has)(receivedFormData, "errors");
@@ -843,6 +848,28 @@ class FormModel extends _ResourceModel.default {
843
848
  return this;
844
849
  }
845
850
 
851
+ /**
852
+ * Retrieve success information from response
853
+ * @returns {{redirect: string, data: object}}
854
+ */
855
+ get success() {
856
+ return this._success;
857
+ }
858
+
859
+ /**
860
+ * Set success information, contains redirect and event data
861
+ * @param success
862
+ */
863
+ set success(success) {
864
+ this._success = success;
865
+ }
866
+
867
+ /**
868
+ */
869
+ createSuccess() {
870
+ this._success = this.data.success;
871
+ }
872
+
846
873
  /**
847
874
  * Process finished form
848
875
  */
@@ -51,6 +51,7 @@ class FormModel extends ResourceModel {
51
51
  _commit: boolean;
52
52
  _isFinished: boolean;
53
53
  _isComplete: boolean;
54
+ _success: { redirect: string, data: Object } | null;
54
55
 
55
56
  _parameters: Array<Parameter>;
56
57
  _tokens: Array<string>;
@@ -72,6 +73,8 @@ class FormModel extends ResourceModel {
72
73
  if (this.data.errors) {
73
74
  this.handleRootErrors(this.data.errors);
74
75
  }
76
+
77
+ this.createSuccess();
75
78
  }
76
79
 
77
80
  /**
@@ -574,7 +577,7 @@ class FormModel extends ResourceModel {
574
577
  * Inidicates if form is finished: Form is completely entered and committed
575
578
  */
576
579
  get isFinished(): boolean {
577
- return this._isFinished || "success" in this.data;
580
+ return this._isFinished || this.success != undefined;
578
581
  }
579
582
 
580
583
  /**
@@ -600,8 +603,8 @@ class FormModel extends ResourceModel {
600
603
  * Handle success redirects
601
604
  */
602
605
  get successRedirect(): Href | null {
603
- return this.isFinished && this.data.success
604
- ? new Href(this.data.success.redirect)
606
+ return this.isFinished && this.success
607
+ ? new Href(this.success.redirect)
605
608
  : null;
606
609
  }
607
610
 
@@ -615,7 +618,7 @@ class FormModel extends ResourceModel {
615
618
  * Get the result data as plain json object
616
619
  */
617
620
  getSuccessData(): ?Object {
618
- return this.data.success?.data;
621
+ return this.success?.data;
619
622
  }
620
623
 
621
624
  /**
@@ -888,6 +891,8 @@ class FormModel extends ResourceModel {
888
891
  */
889
892
  setPreviousObject() {
890
893
  this.isComplete = false;
894
+ this.isFinished = false;
895
+ this.success = null;
891
896
 
892
897
  const oldCurrentFormObject = this.currentFormObject;
893
898
 
@@ -985,6 +990,7 @@ class FormModel extends ResourceModel {
985
990
 
986
991
  this.isComplete = receivedForm.isComplete;
987
992
  this.isFinished = receivedForm.isFinished;
993
+ this.success = receivedForm.success;
988
994
 
989
995
  const receivedFormData = receivedForm.data ?? {};
990
996
  const hasMissing = has(receivedFormData, "missing");
@@ -1016,6 +1022,28 @@ class FormModel extends ResourceModel {
1016
1022
  return this;
1017
1023
  }
1018
1024
 
1025
+ /**
1026
+ * Retrieve success information from response
1027
+ * @returns {{redirect: string, data: object}}
1028
+ */
1029
+ get success(): { redirect: string, data: Object } | null {
1030
+ return this._success;
1031
+ }
1032
+
1033
+ /**
1034
+ * Set success information, contains redirect and event data
1035
+ * @param success
1036
+ */
1037
+ set success(success: { redirect: string, data: Object } | null) {
1038
+ this._success = success;
1039
+ }
1040
+
1041
+ /**
1042
+ */
1043
+ createSuccess() {
1044
+ this._success = this.data.success;
1045
+ }
1046
+
1019
1047
  /**
1020
1048
  * Process finished form
1021
1049
  */