@beinformed/ui 1.57.2 → 1.57.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/esm/constants/Settings.js +14 -6
  3. package/esm/constants/Settings.js.map +1 -1
  4. package/esm/hooks/useAuthentication.js +3 -3
  5. package/esm/hooks/useAuthentication.js.map +1 -1
  6. package/esm/hooks/useModelCatalog.js.map +1 -1
  7. package/esm/hooks/useModularUIBasic.js +1 -1
  8. package/esm/hooks/useModularUIBasic.js.map +1 -1
  9. package/esm/hooks/useModularUIModel.js.map +1 -1
  10. package/esm/models/actions/ActionCollection.js +2 -3
  11. package/esm/models/actions/ActionCollection.js.map +1 -1
  12. package/esm/models/actions/ActionModel.js +13 -23
  13. package/esm/models/actions/ActionModel.js.map +1 -1
  14. package/esm/models/application/ApplicationModel.js +1 -1
  15. package/esm/models/application/ApplicationModel.js.map +1 -1
  16. package/esm/models/attributes/AttributeCollection.js +6 -3
  17. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  18. package/esm/models/attributes/AttributeModel.js +3 -3
  19. package/esm/models/attributes/AttributeModel.js.map +1 -1
  20. package/esm/models/attributes/AttributeSetModel.js +7 -4
  21. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  22. package/esm/models/attributes/BooleanAttributeModel.js +6 -3
  23. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  24. package/esm/models/attributes/ChoiceAttributeModel.js +6 -3
  25. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  26. package/esm/models/attributes/ChoiceAttributeOptionCollection.js +18 -14
  27. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  28. package/esm/models/attributes/ChoiceAttributeOptionModel.js +17 -10
  29. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  30. package/esm/models/attributes/CompositeAttributeChildCollection.js +7 -7
  31. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  32. package/esm/models/attributes/CompositeAttributeModel.js +3 -3
  33. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  34. package/esm/models/attributes/DatetimeAttributeModel.js +2 -2
  35. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  36. package/esm/models/attributes/StringAttributeModel.js +2 -2
  37. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  38. package/esm/models/attributes/_createAttribute.js +2 -2
  39. package/esm/models/attributes/_createAttribute.js.map +1 -1
  40. package/esm/models/base/BaseModel.js +27 -1
  41. package/esm/models/base/BaseModel.js.map +1 -1
  42. package/esm/models/base/ResourceModel.js +3 -23
  43. package/esm/models/base/ResourceModel.js.map +1 -1
  44. package/esm/models/caseview/CaseViewModel.js +1 -1
  45. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  46. package/esm/models/concepts/ConceptDetailModel.js +2 -2
  47. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  48. package/esm/models/concepts/ConceptIndexModel.js +2 -2
  49. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  50. package/esm/models/concepts/ConceptLinkModel.js +4 -10
  51. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  52. package/esm/models/concepts/ConceptRelationCollection.js +11 -4
  53. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  54. package/esm/models/concepts/ConceptRelationModel.js +8 -1
  55. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  56. package/esm/models/concepts/SourceReferenceCollection.js +2 -4
  57. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  58. package/esm/models/concepts/SourceReferenceModel.js +9 -10
  59. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  60. package/esm/models/content/ContentIndexModel.js +2 -2
  61. package/esm/models/content/ContentIndexModel.js.map +1 -1
  62. package/esm/models/content/ContentLinkModel.js +4 -11
  63. package/esm/models/content/ContentLinkModel.js.map +1 -1
  64. package/esm/models/content/ContentModel.js +2 -2
  65. package/esm/models/content/ContentModel.js.map +1 -1
  66. package/esm/models/content/ContentTOCModel.js +7 -7
  67. package/esm/models/content/ContentTOCModel.js.map +1 -1
  68. package/esm/models/content/SectionModel.js +6 -12
  69. package/esm/models/content/SectionModel.js.map +1 -1
  70. package/esm/models/detail/DetailModel.js +9 -3
  71. package/esm/models/detail/DetailModel.js.map +1 -1
  72. package/esm/models/error/ErrorResponse.js +8 -10
  73. package/esm/models/error/ErrorResponse.js.map +1 -1
  74. package/esm/models/filters/AssignmentFilterModel.js +2 -2
  75. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  76. package/esm/models/filters/BaseFilterModel.js +3 -3
  77. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  78. package/esm/models/filters/ConceptIndexFilterModel.js +2 -3
  79. package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
  80. package/esm/models/filters/FilterCollection.js +8 -7
  81. package/esm/models/filters/FilterCollection.js.map +1 -1
  82. package/esm/models/filters/StringFilterModel.js +2 -2
  83. package/esm/models/filters/StringFilterModel.js.map +1 -1
  84. package/esm/models/form/FormModel.js +4 -4
  85. package/esm/models/form/FormModel.js.map +1 -1
  86. package/esm/models/form/FormObjectModel.js +7 -4
  87. package/esm/models/form/FormObjectModel.js.map +1 -1
  88. package/esm/models/grouping/GroupingModel.js +10 -7
  89. package/esm/models/grouping/GroupingModel.js.map +1 -1
  90. package/esm/models/href/Href.js +9 -8
  91. package/esm/models/href/Href.js.map +1 -1
  92. package/esm/models/links/LinkCollection.js +2 -3
  93. package/esm/models/links/LinkCollection.js.map +1 -1
  94. package/esm/models/links/LinkModel.js +7 -7
  95. package/esm/models/links/LinkModel.js.map +1 -1
  96. package/esm/models/list/ListDetailModel.js +1 -1
  97. package/esm/models/list/ListDetailModel.js.map +1 -1
  98. package/esm/models/list/ListItemCollection.js +1 -1
  99. package/esm/models/list/ListItemCollection.js.map +1 -1
  100. package/esm/models/list/ListItemModel.js +3 -3
  101. package/esm/models/list/ListItemModel.js.map +1 -1
  102. package/esm/models/list/ListModel.js +3 -3
  103. package/esm/models/list/ListModel.js.map +1 -1
  104. package/esm/models/lookup/LookupOptionCollection.js +5 -2
  105. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  106. package/esm/models/lookup/LookupOptionsModel.js +2 -2
  107. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  108. package/esm/models/panels/GroupingPanelModel.js +1 -1
  109. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  110. package/esm/models/tab/TabModel.js +2 -2
  111. package/esm/models/tab/TabModel.js.map +1 -1
  112. package/esm/models/taskgroup/TaskGroupModel.js +4 -5
  113. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  114. package/esm/models/types.js.map +1 -1
  115. package/esm/models/user/UserProfileModel.js +4 -1
  116. package/esm/models/user/UserProfileModel.js.map +1 -1
  117. package/esm/modularui/CaptchaRequest.js +3 -3
  118. package/esm/modularui/CaptchaRequest.js.map +1 -1
  119. package/esm/modularui/ModularUIRequest.js +8 -5
  120. package/esm/modularui/ModularUIRequest.js.map +1 -1
  121. package/esm/modularui/ModularUIResponse.js +12 -3
  122. package/esm/modularui/ModularUIResponse.js.map +1 -1
  123. package/esm/modularui/UploadRequest.js +3 -3
  124. package/esm/modularui/UploadRequest.js.map +1 -1
  125. package/esm/react-client/client.js +3 -3
  126. package/esm/react-client/client.js.map +1 -1
  127. package/esm/react-server/renderSSRComplete.js +2 -2
  128. package/esm/react-server/renderSSRComplete.js.map +1 -1
  129. package/esm/react-server/renderSSRMinimal.js +2 -2
  130. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  131. package/esm/redux/_modularui/ModularUIActions.js +8 -2
  132. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  133. package/esm/redux/_modularui/ModularUIUtils.js +8 -11
  134. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  135. package/esm/utils/browser/Cookies.js +3 -3
  136. package/esm/utils/browser/Cookies.js.map +1 -1
  137. package/esm/utils/helpers/createHref.js +23 -3
  138. package/esm/utils/helpers/createHref.js.map +1 -1
  139. package/esm/utils/helpers/repositoryResource.js +2 -2
  140. package/esm/utils/helpers/repositoryResource.js.map +1 -1
  141. package/lib/constants/Settings.js +18 -8
  142. package/lib/constants/Settings.js.flow +16 -6
  143. package/lib/constants/Settings.js.map +1 -1
  144. package/lib/hooks/useAuthentication.js +2 -2
  145. package/lib/hooks/useAuthentication.js.flow +3 -3
  146. package/lib/hooks/useAuthentication.js.map +1 -1
  147. package/lib/hooks/useModelCatalog.js.flow +7 -6
  148. package/lib/hooks/useModelCatalog.js.map +1 -1
  149. package/lib/hooks/useModularUIBasic.js +1 -1
  150. package/lib/hooks/useModularUIBasic.js.flow +1 -1
  151. package/lib/hooks/useModularUIBasic.js.map +1 -1
  152. package/lib/hooks/useModularUIModel.js.flow +16 -11
  153. package/lib/hooks/useModularUIModel.js.map +1 -1
  154. package/lib/models/actions/ActionCollection.js +2 -2
  155. package/lib/models/actions/ActionCollection.js.flow +3 -8
  156. package/lib/models/actions/ActionCollection.js.map +1 -1
  157. package/lib/models/actions/ActionModel.js +12 -22
  158. package/lib/models/actions/ActionModel.js.flow +7 -24
  159. package/lib/models/actions/ActionModel.js.map +1 -1
  160. package/lib/models/application/ApplicationModel.js +1 -1
  161. package/lib/models/application/ApplicationModel.js.flow +1 -2
  162. package/lib/models/application/ApplicationModel.js.map +1 -1
  163. package/lib/models/attributes/AttributeCollection.js +6 -3
  164. package/lib/models/attributes/AttributeCollection.js.flow +12 -4
  165. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  166. package/lib/models/attributes/AttributeModel.js +3 -3
  167. package/lib/models/attributes/AttributeModel.js.flow +8 -2
  168. package/lib/models/attributes/AttributeModel.js.map +1 -1
  169. package/lib/models/attributes/AttributeSetModel.js +7 -3
  170. package/lib/models/attributes/AttributeSetModel.js.flow +11 -3
  171. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  172. package/lib/models/attributes/BooleanAttributeModel.js +6 -3
  173. package/lib/models/attributes/BooleanAttributeModel.js.flow +8 -4
  174. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  175. package/lib/models/attributes/ChoiceAttributeModel.js +6 -3
  176. package/lib/models/attributes/ChoiceAttributeModel.js.flow +13 -4
  177. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  178. package/lib/models/attributes/ChoiceAttributeOptionCollection.js +18 -13
  179. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.flow +30 -28
  180. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  181. package/lib/models/attributes/ChoiceAttributeOptionModel.js +17 -10
  182. package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +30 -11
  183. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  184. package/lib/models/attributes/CompositeAttributeChildCollection.js +7 -7
  185. package/lib/models/attributes/CompositeAttributeChildCollection.js.flow +8 -1
  186. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  187. package/lib/models/attributes/CompositeAttributeModel.js +3 -3
  188. package/lib/models/attributes/CompositeAttributeModel.js.flow +8 -3
  189. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  190. package/lib/models/attributes/DatetimeAttributeModel.js +2 -2
  191. package/lib/models/attributes/DatetimeAttributeModel.js.flow +7 -2
  192. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  193. package/lib/models/attributes/StringAttributeModel.js +2 -2
  194. package/lib/models/attributes/StringAttributeModel.js.flow +7 -3
  195. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  196. package/lib/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js.flow +1 -1
  197. package/lib/models/attributes/_createAttribute.js +2 -2
  198. package/lib/models/attributes/_createAttribute.js.flow +3 -2
  199. package/lib/models/attributes/_createAttribute.js.map +1 -1
  200. package/lib/models/base/BaseModel.js +27 -1
  201. package/lib/models/base/BaseModel.js.flow +31 -1
  202. package/lib/models/base/BaseModel.js.map +1 -1
  203. package/lib/models/base/ResourceModel.js +3 -22
  204. package/lib/models/base/ResourceModel.js.flow +6 -23
  205. package/lib/models/base/ResourceModel.js.map +1 -1
  206. package/lib/models/base/__tests__/BaseModel.spec.js.flow +4 -0
  207. package/lib/models/caseview/CaseViewModel.js +1 -1
  208. package/lib/models/caseview/CaseViewModel.js.flow +1 -2
  209. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  210. package/lib/models/concepts/ConceptDetailModel.js +2 -2
  211. package/lib/models/concepts/ConceptDetailModel.js.flow +2 -2
  212. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  213. package/lib/models/concepts/ConceptIndexModel.js +2 -2
  214. package/lib/models/concepts/ConceptIndexModel.js.flow +9 -6
  215. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  216. package/lib/models/concepts/ConceptLinkModel.js +4 -10
  217. package/lib/models/concepts/ConceptLinkModel.js.flow +15 -12
  218. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  219. package/lib/models/concepts/ConceptRelationCollection.js +11 -4
  220. package/lib/models/concepts/ConceptRelationCollection.js.flow +17 -3
  221. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  222. package/lib/models/concepts/ConceptRelationModel.js +8 -1
  223. package/lib/models/concepts/ConceptRelationModel.js.flow +18 -2
  224. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  225. package/lib/models/concepts/SourceReferenceCollection.js +2 -3
  226. package/lib/models/concepts/SourceReferenceCollection.js.flow +3 -8
  227. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  228. package/lib/models/concepts/SourceReferenceModel.js +8 -8
  229. package/lib/models/concepts/SourceReferenceModel.js.flow +10 -11
  230. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  231. package/lib/models/content/ContentIndexModel.js +2 -2
  232. package/lib/models/content/ContentIndexModel.js.flow +10 -5
  233. package/lib/models/content/ContentIndexModel.js.map +1 -1
  234. package/lib/models/content/ContentLinkModel.js +4 -10
  235. package/lib/models/content/ContentLinkModel.js.flow +10 -13
  236. package/lib/models/content/ContentLinkModel.js.map +1 -1
  237. package/lib/models/content/ContentModel.js +2 -2
  238. package/lib/models/content/ContentModel.js.flow +6 -1
  239. package/lib/models/content/ContentModel.js.map +1 -1
  240. package/lib/models/content/ContentTOCModel.js +7 -7
  241. package/lib/models/content/ContentTOCModel.js.flow +19 -11
  242. package/lib/models/content/ContentTOCModel.js.map +1 -1
  243. package/lib/models/content/SectionModel.js +6 -11
  244. package/lib/models/content/SectionModel.js.flow +9 -21
  245. package/lib/models/content/SectionModel.js.map +1 -1
  246. package/lib/models/detail/DetailModel.js +9 -3
  247. package/lib/models/detail/DetailModel.js.flow +3 -4
  248. package/lib/models/detail/DetailModel.js.map +1 -1
  249. package/lib/models/error/ErrorResponse.js +7 -9
  250. package/lib/models/error/ErrorResponse.js.flow +9 -20
  251. package/lib/models/error/ErrorResponse.js.map +1 -1
  252. package/lib/models/filters/AssignmentFilterModel.js +2 -2
  253. package/lib/models/filters/AssignmentFilterModel.js.flow +7 -3
  254. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  255. package/lib/models/filters/BaseFilterModel.js +3 -3
  256. package/lib/models/filters/BaseFilterModel.js.flow +16 -7
  257. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  258. package/lib/models/filters/ConceptIndexFilterModel.js +2 -2
  259. package/lib/models/filters/ConceptIndexFilterModel.js.flow +8 -2
  260. package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
  261. package/lib/models/filters/FilterCollection.js +8 -7
  262. package/lib/models/filters/FilterCollection.js.flow +13 -7
  263. package/lib/models/filters/FilterCollection.js.map +1 -1
  264. package/lib/models/filters/StringFilterModel.js +2 -2
  265. package/lib/models/filters/StringFilterModel.js.flow +7 -3
  266. package/lib/models/filters/StringFilterModel.js.map +1 -1
  267. package/lib/models/form/FormModel.js +4 -4
  268. package/lib/models/form/FormModel.js.flow +8 -2
  269. package/lib/models/form/FormModel.js.map +1 -1
  270. package/lib/models/form/FormObjectModel.js +7 -4
  271. package/lib/models/form/FormObjectModel.js.flow +17 -4
  272. package/lib/models/form/FormObjectModel.js.map +1 -1
  273. package/lib/models/grouping/GroupingModel.js +10 -7
  274. package/lib/models/grouping/GroupingModel.js.flow +21 -5
  275. package/lib/models/grouping/GroupingModel.js.map +1 -1
  276. package/lib/models/href/Href.js +8 -7
  277. package/lib/models/href/Href.js.flow +17 -10
  278. package/lib/models/href/Href.js.map +1 -1
  279. package/lib/models/href/__tests__/Href.spec.js.flow +5 -8
  280. package/lib/models/links/LinkCollection.js +2 -3
  281. package/lib/models/links/LinkCollection.js.flow +3 -3
  282. package/lib/models/links/LinkCollection.js.map +1 -1
  283. package/lib/models/links/LinkModel.js +7 -7
  284. package/lib/models/links/LinkModel.js.flow +8 -15
  285. package/lib/models/links/LinkModel.js.map +1 -1
  286. package/lib/models/list/ListDetailModel.js +1 -1
  287. package/lib/models/list/ListDetailModel.js.flow +6 -1
  288. package/lib/models/list/ListDetailModel.js.map +1 -1
  289. package/lib/models/list/ListItemCollection.js +1 -1
  290. package/lib/models/list/ListItemCollection.js.flow +1 -2
  291. package/lib/models/list/ListItemCollection.js.map +1 -1
  292. package/lib/models/list/ListItemModel.js +3 -3
  293. package/lib/models/list/ListItemModel.js.flow +4 -4
  294. package/lib/models/list/ListItemModel.js.map +1 -1
  295. package/lib/models/list/ListModel.js +3 -3
  296. package/lib/models/list/ListModel.js.flow +12 -8
  297. package/lib/models/list/ListModel.js.map +1 -1
  298. package/lib/models/lookup/LookupOptionCollection.js +5 -1
  299. package/lib/models/lookup/LookupOptionCollection.js.flow +17 -6
  300. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  301. package/lib/models/lookup/LookupOptionsModel.js +2 -2
  302. package/lib/models/lookup/LookupOptionsModel.js.flow +2 -0
  303. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  304. package/lib/models/panels/GroupingPanelModel.js +1 -1
  305. package/lib/models/panels/GroupingPanelModel.js.flow +1 -2
  306. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  307. package/lib/models/tab/TabModel.js +2 -2
  308. package/lib/models/tab/TabModel.js.flow +2 -4
  309. package/lib/models/tab/TabModel.js.map +1 -1
  310. package/lib/models/taskgroup/TaskGroupModel.js +4 -4
  311. package/lib/models/taskgroup/TaskGroupModel.js.flow +5 -6
  312. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  313. package/lib/models/types.js.flow +5 -0
  314. package/lib/models/types.js.map +1 -1
  315. package/lib/models/user/UserProfileModel.js +4 -1
  316. package/lib/models/user/UserProfileModel.js.flow +1 -0
  317. package/lib/models/user/UserProfileModel.js.map +1 -1
  318. package/lib/modularui/CaptchaRequest.js +2 -2
  319. package/lib/modularui/CaptchaRequest.js.flow +7 -3
  320. package/lib/modularui/CaptchaRequest.js.map +1 -1
  321. package/lib/modularui/ModularUIRequest.js +7 -4
  322. package/lib/modularui/ModularUIRequest.js.flow +8 -5
  323. package/lib/modularui/ModularUIRequest.js.map +1 -1
  324. package/lib/modularui/ModularUIResponse.js +11 -2
  325. package/lib/modularui/ModularUIResponse.js.flow +13 -3
  326. package/lib/modularui/ModularUIResponse.js.map +1 -1
  327. package/lib/modularui/UploadRequest.js +2 -2
  328. package/lib/modularui/UploadRequest.js.flow +7 -3
  329. package/lib/modularui/UploadRequest.js.map +1 -1
  330. package/lib/react-client/client.js +2 -2
  331. package/lib/react-client/client.js.flow +7 -3
  332. package/lib/react-client/client.js.map +1 -1
  333. package/lib/react-server/renderSSRComplete.js +1 -1
  334. package/lib/react-server/renderSSRComplete.js.flow +2 -2
  335. package/lib/react-server/renderSSRComplete.js.map +1 -1
  336. package/lib/react-server/renderSSRMinimal.js +1 -1
  337. package/lib/react-server/renderSSRMinimal.js.flow +2 -2
  338. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  339. package/lib/redux/_modularui/ModularUIActions.js +8 -2
  340. package/lib/redux/_modularui/ModularUIActions.js.flow +8 -7
  341. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  342. package/lib/redux/_modularui/ModularUIUtils.js +8 -11
  343. package/lib/redux/_modularui/ModularUIUtils.js.flow +13 -14
  344. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  345. package/lib/utils/browser/Cookies.js +2 -2
  346. package/lib/utils/browser/Cookies.js.flow +3 -3
  347. package/lib/utils/browser/Cookies.js.map +1 -1
  348. package/lib/utils/helpers/__tests__/createHref.spec.js.flow +13 -8
  349. package/lib/utils/helpers/createHref.js +23 -3
  350. package/lib/utils/helpers/createHref.js.flow +37 -8
  351. package/lib/utils/helpers/createHref.js.map +1 -1
  352. package/lib/utils/helpers/repositoryResource.js +1 -1
  353. package/lib/utils/helpers/repositoryResource.js.flow +2 -2
  354. package/lib/utils/helpers/repositoryResource.js.map +1 -1
  355. package/package.json +4 -4
  356. package/src/constants/Settings.js +16 -6
  357. package/src/hooks/useAuthentication.js +3 -3
  358. package/src/hooks/useModelCatalog.js +7 -6
  359. package/src/hooks/useModularUIBasic.js +1 -1
  360. package/src/hooks/useModularUIModel.js +16 -11
  361. package/src/models/actions/ActionCollection.js +3 -8
  362. package/src/models/actions/ActionModel.js +7 -24
  363. package/src/models/application/ApplicationModel.js +1 -2
  364. package/src/models/attributes/AttributeCollection.js +12 -4
  365. package/src/models/attributes/AttributeModel.js +8 -2
  366. package/src/models/attributes/AttributeSetModel.js +11 -3
  367. package/src/models/attributes/BooleanAttributeModel.js +8 -4
  368. package/src/models/attributes/ChoiceAttributeModel.js +13 -4
  369. package/src/models/attributes/ChoiceAttributeOptionCollection.js +30 -28
  370. package/src/models/attributes/ChoiceAttributeOptionModel.js +30 -11
  371. package/src/models/attributes/CompositeAttributeChildCollection.js +8 -1
  372. package/src/models/attributes/CompositeAttributeModel.js +8 -3
  373. package/src/models/attributes/DatetimeAttributeModel.js +7 -2
  374. package/src/models/attributes/StringAttributeModel.js +7 -3
  375. package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +1 -1
  376. package/src/models/attributes/_createAttribute.js +3 -2
  377. package/src/models/base/BaseModel.js +31 -1
  378. package/src/models/base/ResourceModel.js +6 -23
  379. package/src/models/base/__tests__/BaseModel.spec.js +4 -0
  380. package/src/models/caseview/CaseViewModel.js +1 -2
  381. package/src/models/concepts/ConceptDetailModel.js +2 -2
  382. package/src/models/concepts/ConceptIndexModel.js +9 -6
  383. package/src/models/concepts/ConceptLinkModel.js +15 -12
  384. package/src/models/concepts/ConceptRelationCollection.js +17 -3
  385. package/src/models/concepts/ConceptRelationModel.js +18 -2
  386. package/src/models/concepts/SourceReferenceCollection.js +3 -8
  387. package/src/models/concepts/SourceReferenceModel.js +10 -11
  388. package/src/models/content/ContentIndexModel.js +10 -5
  389. package/src/models/content/ContentLinkModel.js +10 -13
  390. package/src/models/content/ContentModel.js +6 -1
  391. package/src/models/content/ContentTOCModel.js +19 -11
  392. package/src/models/content/SectionModel.js +9 -21
  393. package/src/models/detail/DetailModel.js +3 -4
  394. package/src/models/error/ErrorResponse.js +9 -20
  395. package/src/models/filters/AssignmentFilterModel.js +7 -3
  396. package/src/models/filters/BaseFilterModel.js +16 -7
  397. package/src/models/filters/ConceptIndexFilterModel.js +8 -2
  398. package/src/models/filters/FilterCollection.js +13 -7
  399. package/src/models/filters/StringFilterModel.js +7 -3
  400. package/src/models/form/FormModel.js +8 -2
  401. package/src/models/form/FormObjectModel.js +17 -4
  402. package/src/models/grouping/GroupingModel.js +21 -5
  403. package/src/models/href/Href.js +17 -10
  404. package/src/models/href/__tests__/Href.spec.js +5 -8
  405. package/src/models/links/LinkCollection.js +3 -3
  406. package/src/models/links/LinkModel.js +8 -15
  407. package/src/models/list/ListDetailModel.js +6 -1
  408. package/src/models/list/ListItemCollection.js +1 -2
  409. package/src/models/list/ListItemModel.js +4 -4
  410. package/src/models/list/ListModel.js +12 -8
  411. package/src/models/lookup/LookupOptionCollection.js +17 -6
  412. package/src/models/lookup/LookupOptionsModel.js +2 -0
  413. package/src/models/panels/GroupingPanelModel.js +1 -2
  414. package/src/models/tab/TabModel.js +2 -4
  415. package/src/models/taskgroup/TaskGroupModel.js +5 -6
  416. package/src/models/types.js +5 -0
  417. package/src/models/user/UserProfileModel.js +1 -0
  418. package/src/modularui/CaptchaRequest.js +7 -3
  419. package/src/modularui/ModularUIRequest.js +8 -5
  420. package/src/modularui/ModularUIResponse.js +13 -3
  421. package/src/modularui/UploadRequest.js +7 -3
  422. package/src/react-client/client.js +7 -3
  423. package/src/react-server/renderSSRComplete.js +2 -2
  424. package/src/react-server/renderSSRMinimal.js +2 -2
  425. package/src/redux/_modularui/ModularUIActions.js +8 -7
  426. package/src/redux/_modularui/ModularUIUtils.js +13 -14
  427. package/src/utils/browser/Cookies.js +3 -3
  428. package/src/utils/helpers/__tests__/createHref.spec.js +13 -8
  429. package/src/utils/helpers/createHref.js +37 -8
  430. package/src/utils/helpers/repositoryResource.js +2 -2
@@ -30,6 +30,7 @@ import type {
30
30
  AttributeType,
31
31
  FormErrorAnchor,
32
32
  IModelWithChildModels,
33
+ ModelOptions,
33
34
  ModularUIModel,
34
35
  } from "../types";
35
36
  import type LinkModel from "../links/LinkModel";
@@ -74,8 +75,12 @@ export default class AttributeModel
74
75
 
75
76
  /**
76
77
  */
77
- constructor(attribute: Object, attributeContributions: Object) {
78
- super(attribute, attributeContributions);
78
+ constructor(
79
+ attribute: Object,
80
+ attributeContributions: Object,
81
+ modelOptions?: ModelOptions,
82
+ ) {
83
+ super(attribute, attributeContributions, modelOptions);
79
84
 
80
85
  if (this.hasContentFromData && this.content.label) {
81
86
  this._label = this.content.label;
@@ -108,6 +113,7 @@ export default class AttributeModel
108
113
  this._links = new LinkCollection(
109
114
  this.data._links,
110
115
  this.contributions._links,
116
+ modelOptions,
111
117
  );
112
118
  }
113
119
 
@@ -4,6 +4,8 @@ import { has } from "../../utils/helpers/objects";
4
4
  import BaseModel from "../base/BaseModel";
5
5
  import AttributeCollection from "./AttributeCollection";
6
6
 
7
+ import type { ModelOptions } from "../types";
8
+
7
9
  /**
8
10
  */
9
11
  export default class AttributeSetModel extends BaseModel {
@@ -12,8 +14,13 @@ export default class AttributeSetModel extends BaseModel {
12
14
 
13
15
  /**
14
16
  */
15
- constructor(key: string = "", data: Object = {}, contributions: Object = {}) {
16
- super(data, contributions);
17
+ constructor(
18
+ key: string = "",
19
+ data: Object = {},
20
+ contributions: Object = {},
21
+ modelOptions?: ModelOptions,
22
+ ) {
23
+ super(data, contributions, modelOptions);
17
24
 
18
25
  const attributeContributions = this.contributions.attributes
19
26
  ? this.contributions.attributes.filter((contribution) => {
@@ -25,7 +32,7 @@ export default class AttributeSetModel extends BaseModel {
25
32
  this._attributeCollection = new AttributeCollection(
26
33
  this.data,
27
34
  attributeContributions,
28
- true,
35
+ { ...modelOptions, isReadonly: true },
29
36
  );
30
37
 
31
38
  this._key = key;
@@ -77,6 +84,7 @@ export default class AttributeSetModel extends BaseModel {
77
84
  dynamicschema: this.data.dynamicschema,
78
85
  },
79
86
  this.contributions.objects[key],
87
+ this.modelOptions,
80
88
  );
81
89
  }
82
90
 
@@ -10,7 +10,7 @@ import ChoiceAttributeOptionModel from "./ChoiceAttributeOptionModel";
10
10
  import { RENDER_SECTION_LABEL } from "../../constants/LayoutHints";
11
11
  import { ATTRIBUTE_WIDTH } from "../../constants";
12
12
 
13
- import type { AttributeType } from "../types";
13
+ import type { AttributeType, ModelOptions } from "../types";
14
14
 
15
15
  /**
16
16
  * Model for a boolean attribute
@@ -22,14 +22,18 @@ export default class BooleanAttributeModel extends AttributeModel {
22
22
 
23
23
  /**
24
24
  */
25
- constructor(attribute: Object, attributeContributions: Object) {
26
- super(attribute, attributeContributions);
25
+ constructor(
26
+ attribute: Object,
27
+ attributeContributions: Object,
28
+ modelOptions?: ModelOptions,
29
+ ) {
30
+ super(attribute, attributeContributions, modelOptions);
27
31
 
28
32
  this._referenceDate = this.getData("referenceDate", DateUtil.now());
29
33
  this._options = ChoiceAttributeOptionCollection.create(
30
34
  attribute,
31
35
  attributeContributions,
32
- this.referenceDate,
36
+ { ...modelOptions, referenceDate: this.referenceDate },
33
37
  );
34
38
  }
35
39
 
@@ -16,7 +16,12 @@ import {
16
16
  } from "../../constants/LayoutHints";
17
17
  import { ATTRIBUTE_WIDTH } from "../../constants";
18
18
 
19
- import type { ModularUIModel, AttributeType, FormErrorAnchor } from "../types";
19
+ import type {
20
+ ModularUIModel,
21
+ AttributeType,
22
+ FormErrorAnchor,
23
+ ModelOptions,
24
+ } from "../types";
20
25
  import type LinkModel from "../links/LinkModel";
21
26
  import type ErrorResponse from "../error/ErrorResponse";
22
27
 
@@ -31,14 +36,18 @@ export default class ChoiceAttributeModel extends AttributeModel {
31
36
  /**
32
37
  * Constructs a choice attribute
33
38
  */
34
- constructor(attribute: Object, attributeContributions: Object) {
35
- super(attribute, attributeContributions);
39
+ constructor(
40
+ attribute: Object,
41
+ attributeContributions: Object,
42
+ modelOptions?: ModelOptions,
43
+ ) {
44
+ super(attribute, attributeContributions, modelOptions);
36
45
 
37
46
  this._referenceDate = this.getData("referenceDate", DateUtil.now());
38
47
  this._options = ChoiceAttributeOptionCollection.create(
39
48
  attribute,
40
49
  attributeContributions,
41
- this.referenceDate,
50
+ { ...modelOptions, referenceDate: this.referenceDate },
42
51
  );
43
52
 
44
53
  if (this.layouthint.has(SORT_OPTIONS)) {
@@ -3,14 +3,27 @@ import ResourceCollection from "../base/ResourceCollection";
3
3
  import ChoiceAttributeOptionModel from "./ChoiceAttributeOptionModel";
4
4
  import ListHeaderModel from "../list/ListHeaderModel";
5
5
 
6
- import { DateUtil } from "../../utils/datetime/DateTimeUtil";
6
+ import { getBasePathModularUI } from "../../constants";
7
7
 
8
+ import { DateUtil } from "../../utils";
9
+
10
+ import type { ChoiceAttributeOptionModelOptions } from "./ChoiceAttributeOptionModel";
8
11
  /**
9
12
  */
10
13
  class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttributeOptionModel> {
14
+ _modelOptions: ChoiceAttributeOptionModelOptions;
11
15
  _headers: Array<ListHeaderModel> = [];
12
16
  _sortOptions: boolean = false;
13
17
 
18
+ constructor(modelOptions?: ChoiceAttributeOptionModelOptions) {
19
+ super();
20
+ this._modelOptions = modelOptions || {
21
+ origin: "",
22
+ contextPath: getBasePathModularUI(),
23
+ referenceDate: DateUtil.now(),
24
+ };
25
+ }
26
+
14
27
  /**
15
28
  */
16
29
  set sortOptions(sortOptions: boolean) {
@@ -34,16 +47,16 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
34
47
  static create(
35
48
  data: Object = {},
36
49
  contributions: Object = {},
37
- referenceDate: ISO_DATE = DateUtil.now(),
50
+ modelOptions?: ChoiceAttributeOptionModelOptions,
38
51
  ): ChoiceAttributeOptionCollection {
39
- const collection = new ChoiceAttributeOptionCollection();
52
+ const collection = new ChoiceAttributeOptionCollection(modelOptions);
40
53
 
41
54
  if (contributions.type === "boolean") {
42
55
  collection.addBooleanOptions(data.value, contributions);
43
56
  } else if (data.dynamicschema != null) {
44
- collection.addDynamicSchema(data, contributions, referenceDate);
57
+ collection.addDynamicSchema(data, contributions);
45
58
  } else if (contributions.options != null) {
46
- collection.addOptions(data, contributions, referenceDate);
59
+ collection.addOptions(data, contributions);
47
60
  }
48
61
 
49
62
  if (contributions.children != null) {
@@ -102,22 +115,17 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
102
115
  addOptions(
103
116
  data: Object,
104
117
  contributions: Object,
105
- referenceDate: ISO_DATE = DateUtil.now(),
106
118
  ): ChoiceAttributeOptionCollection {
107
119
  const selectedValues = this.getSelectedOptions(data);
108
120
 
109
121
  contributions.options.forEach((optionContributions) => {
110
122
  const optionCode = optionContributions.code || optionContributions.key;
111
123
 
112
- this.addOption(
113
- selectedValues,
114
- {
115
- ...optionContributions,
116
- count: this.getOptionCount(optionCode, data.options),
117
- optionType: contributions.optionType ?? "generic",
118
- },
119
- referenceDate,
120
- );
124
+ this.addOption(selectedValues, {
125
+ ...optionContributions,
126
+ count: this.getOptionCount(optionCode, data.options),
127
+ optionType: contributions.optionType ?? "generic",
128
+ });
121
129
  });
122
130
 
123
131
  return this;
@@ -129,20 +137,15 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
129
137
  addDynamicSchema(
130
138
  data: Object,
131
139
  contributions: Object,
132
- referenceDate: ISO_DATE = DateUtil.now(),
133
140
  ): ChoiceAttributeOptionCollection {
134
141
  const selectedValues = this.getSelectedOptions(data);
135
142
  data.dynamicschema.forEach((optionDynamicschema) => {
136
- this.addOption(
137
- selectedValues,
138
- {
139
- ...optionDynamicschema,
140
- count: this.getOptionCount(optionDynamicschema.code, data.options),
141
- optionType: contributions.optionType ?? "generic",
142
- elementsContributions: contributions.children,
143
- },
144
- referenceDate,
145
- );
143
+ this.addOption(selectedValues, {
144
+ ...optionDynamicschema,
145
+ count: this.getOptionCount(optionDynamicschema.code, data.options),
146
+ optionType: contributions.optionType ?? "generic",
147
+ elementsContributions: contributions.children,
148
+ });
146
149
  });
147
150
 
148
151
  return this;
@@ -189,12 +192,11 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
189
192
  addOption(
190
193
  data: string | Array<string>,
191
194
  contributions: Object,
192
- referenceDate: ISO_DATE = DateUtil.now(),
193
195
  ): ChoiceAttributeOptionCollection {
194
196
  const optionModel = new ChoiceAttributeOptionModel(
195
197
  Array.isArray(data) ? data : [data],
196
198
  contributions,
197
- referenceDate,
199
+ this._modelOptions,
198
200
  );
199
201
 
200
202
  this.add(optionModel);
@@ -13,11 +13,20 @@ import AttributeCollection from "./AttributeCollection";
13
13
  import ConceptDetailModel from "../concepts/ConceptDetailModel";
14
14
  import AttributeContent from "./AttributeContent";
15
15
 
16
- import type { IModelWithChildModels, ModularUIModel } from "../types";
16
+ import type {
17
+ IModelWithChildModels,
18
+ ModelOptions,
19
+ ModularUIModel,
20
+ } from "../types";
17
21
  import type ListItemModel from "../list/ListItemModel";
18
22
  import type LinkModel from "../links/LinkModel";
19
23
  import type ErrorResponse from "../error/ErrorResponse";
20
24
 
25
+ export type ChoiceAttributeOptionModelOptions = {
26
+ ...ModelOptions,
27
+ referenceDate: ISO_DATE,
28
+ };
29
+
21
30
  /**
22
31
  */
23
32
  class ChoiceAttributeOptionModel
@@ -40,7 +49,7 @@ class ChoiceAttributeOptionModel
40
49
  constructor(
41
50
  selectedValues: Array<string> = [],
42
51
  option: Object = {},
43
- referenceDate: ISO_DATE = DateUtil.now(),
52
+ modelOptions?: ChoiceAttributeOptionModelOptions,
44
53
  ) {
45
54
  super({}, option);
46
55
 
@@ -48,14 +57,18 @@ class ChoiceAttributeOptionModel
48
57
 
49
58
  this._isSelected = selectedValues.includes(this.code);
50
59
 
51
- this._referenceDate = referenceDate;
60
+ this._referenceDate = modelOptions?.referenceDate || DateUtil.now();
52
61
 
53
62
  this._level = 0;
54
63
 
55
- this._attributeCollection = this.createAttributeCollection();
56
- this._children = this.addChildren(selectedValues, option, referenceDate);
64
+ this._attributeCollection = this.createAttributeCollection(modelOptions);
65
+ this._children = this.addChildren(selectedValues, option, modelOptions);
57
66
 
58
- this._links = new LinkCollection(this.contributions._links);
67
+ this._links = new LinkCollection(
68
+ this.contributions._links,
69
+ {},
70
+ { origin: modelOptions?.origin, contextPath: modelOptions?.contextPath },
71
+ );
59
72
 
60
73
  this._content = new AttributeContent(option.content);
61
74
 
@@ -150,12 +163,18 @@ class ChoiceAttributeOptionModel
150
163
 
151
164
  /**
152
165
  */
153
- createAttributeCollection(): AttributeCollection {
166
+ createAttributeCollection(
167
+ modelOptions?: ChoiceAttributeOptionModelOptions,
168
+ ): AttributeCollection {
154
169
  const contributions = this.getContribution("elementsContributions", []);
155
170
 
156
171
  if (has(this.contributions, "elements")) {
157
172
  const data = this.getContribution("elements", {});
158
- return new AttributeCollection(data, contributions, true);
173
+ return new AttributeCollection(data, contributions, {
174
+ origin: modelOptions?.origin,
175
+ contextPath: modelOptions?.contextPath,
176
+ isReadonly: true,
177
+ });
159
178
  }
160
179
 
161
180
  return new AttributeCollection();
@@ -250,11 +269,11 @@ class ChoiceAttributeOptionModel
250
269
  addChildren(
251
270
  selectedValues: Array<string> = [],
252
271
  option: Object = {},
253
- referenceDate: ISO_DATE = DateUtil.now(),
272
+ modelOptions?: ChoiceAttributeOptionModelOptions,
254
273
  ): ChoiceAttributeOptionCollection {
255
274
  // When contributions contain elements this is a list not nested options
256
275
  if (has(option, "elements")) {
257
- return new ChoiceAttributeOptionCollection();
276
+ return new ChoiceAttributeOptionCollection(modelOptions);
258
277
  }
259
278
 
260
279
  return ChoiceAttributeOptionCollection.create(
@@ -262,7 +281,7 @@ class ChoiceAttributeOptionModel
262
281
  value: selectedValues,
263
282
  },
264
283
  { options: option?.children ?? [] },
265
- referenceDate,
284
+ modelOptions,
266
285
  );
267
286
  }
268
287
 
@@ -4,7 +4,7 @@ import ErrorCollection from "../error/ErrorCollection";
4
4
 
5
5
  import createAttribute from "./_createAttribute";
6
6
 
7
- import type { AttributeType } from "../types";
7
+ import type { AttributeType, ModelOptions } from "../types";
8
8
 
9
9
  /**
10
10
  * Collection of choice attribute options
@@ -15,6 +15,7 @@ class CompositeAttributeChildCollection extends ResourceCollection<AttributeType
15
15
  static create(
16
16
  data: Object,
17
17
  contributions: Object,
18
+ modelOptions?: ModelOptions,
18
19
  ): CompositeAttributeChildCollection {
19
20
  if (
20
21
  data &&
@@ -29,12 +30,14 @@ class CompositeAttributeChildCollection extends ResourceCollection<AttributeType
29
30
  return CompositeAttributeChildCollection.createMultiData(
30
31
  data,
31
32
  contributions,
33
+ modelOptions,
32
34
  );
33
35
  }
34
36
 
35
37
  return CompositeAttributeChildCollection.createStandard(
36
38
  data,
37
39
  contributions,
40
+ modelOptions,
38
41
  );
39
42
  }
40
43
 
@@ -46,6 +49,7 @@ class CompositeAttributeChildCollection extends ResourceCollection<AttributeType
46
49
  static createStandard(
47
50
  data: Object,
48
51
  contributions: Object,
52
+ modelOptions?: ModelOptions,
49
53
  ): CompositeAttributeChildCollection {
50
54
  const compositeChildCollection = new CompositeAttributeChildCollection();
51
55
 
@@ -76,6 +80,7 @@ class CompositeAttributeChildCollection extends ResourceCollection<AttributeType
76
80
  ...attributeContribution,
77
81
  readonly: attributeContribution.readonly || contributions.readonly,
78
82
  },
83
+ modelOptions,
79
84
  );
80
85
 
81
86
  if (attribute) {
@@ -97,6 +102,7 @@ class CompositeAttributeChildCollection extends ResourceCollection<AttributeType
97
102
  static createMultiData(
98
103
  data: Object,
99
104
  contributions: Object,
105
+ modelOptions?: ModelOptions,
100
106
  ): CompositeAttributeChildCollection {
101
107
  const compositeChildCollection = new CompositeAttributeChildCollection();
102
108
 
@@ -107,6 +113,7 @@ class CompositeAttributeChildCollection extends ResourceCollection<AttributeType
107
113
  children: childData,
108
114
  },
109
115
  contributions,
116
+ modelOptions,
110
117
  ),
111
118
  );
112
119
 
@@ -12,7 +12,7 @@ import { IllegalArgumentException } from "../../exceptions";
12
12
  import NumberAttributeModel from "./NumberAttributeModel";
13
13
  import DatetimeAttributeModel from "./DatetimeAttributeModel";
14
14
 
15
- import type { ModularUIModel, AttributeType } from "../types";
15
+ import type { ModularUIModel, AttributeType, ModelOptions } from "../types";
16
16
  import type ContentConfiguration from "../contentconfiguration/ContentConfiguration";
17
17
  import type LinkModel from "../links/LinkModel";
18
18
  import type ErrorResponse from "../error/ErrorResponse";
@@ -24,12 +24,17 @@ class CompositeAttributeModel extends AttributeModel {
24
24
 
25
25
  /**
26
26
  */
27
- constructor(data: Object, contributions: Object) {
28
- super(data, contributions);
27
+ constructor(
28
+ data: Object,
29
+ contributions: Object,
30
+ modelOptions?: ModelOptions,
31
+ ) {
32
+ super(data, contributions, modelOptions);
29
33
 
30
34
  this._children = CompositeAttributeChildCollection.create(
31
35
  data,
32
36
  contributions,
37
+ modelOptions,
33
38
  );
34
39
 
35
40
  this.setChildrenOptionality();
@@ -22,6 +22,7 @@ import type {
22
22
  FormErrorAnchor,
23
23
  IConstraintModel,
24
24
  AttributeType,
25
+ ModelOptions,
25
26
  } from "../types";
26
27
 
27
28
  /**
@@ -29,8 +30,12 @@ import type {
29
30
  class DatetimeAttributeModel extends StringAttributeModel {
30
31
  /**
31
32
  */
32
- constructor(attribute: Object, attributeContributions: Object) {
33
- super(attribute, attributeContributions);
33
+ constructor(
34
+ attribute: Object,
35
+ attributeContributions: Object,
36
+ modelOptions?: ModelOptions,
37
+ ) {
38
+ super(attribute, attributeContributions, modelOptions);
34
39
 
35
40
  this.updateInitValue();
36
41
  }
@@ -7,7 +7,7 @@ import IBANConstraint from "./input-constraints/IBANConstraint";
7
7
 
8
8
  import { ATTRIBUTE_WIDTH } from "../../constants";
9
9
 
10
- import type { AttributeType } from "../types";
10
+ import type { AttributeType, ModelOptions } from "../types";
11
11
 
12
12
  /**
13
13
  * String attribute
@@ -17,8 +17,12 @@ export default class StringAttributeModel extends AttributeModel {
17
17
 
18
18
  /**
19
19
  */
20
- constructor(attribute: Object, attributeContributions: Object) {
21
- super(attribute, attributeContributions);
20
+ constructor(
21
+ attribute: Object,
22
+ attributeContributions: Object,
23
+ modelOptions?: ModelOptions,
24
+ ) {
25
+ super(attribute, attributeContributions, modelOptions);
22
26
 
23
27
  this._placeholder = this.getContribution("placeholder", "");
24
28
  }
@@ -50,7 +50,7 @@ describe("choiceAttributeOptionModel", () => {
50
50
  },
51
51
  ],
52
52
  },
53
- "2016-01-01",
53
+ { referenceDate: "2016-01-01" },
54
54
  );
55
55
 
56
56
  expect(option.getInitialChildModelLinks()).toHaveLength(0);
@@ -22,7 +22,7 @@ import BooleanAttributeModel from "./BooleanAttributeModel";
22
22
 
23
23
  import AttributeDataHelper from "./AttributeDataHelper";
24
24
 
25
- import type { AttributeType } from "../types";
25
+ import type { AttributeType, ModelOptions } from "../types";
26
26
 
27
27
  /**
28
28
  * @private
@@ -121,6 +121,7 @@ const createAttribute = (
121
121
  key: string,
122
122
  data: Object | Array<Object>,
123
123
  contributions: Object,
124
+ modelOptions?: ModelOptions,
124
125
  ): AttributeType => {
125
126
  const updatedContributions = updateContributions(key, data, contributions);
126
127
  const updatedData = updateData(key, data, contributions);
@@ -138,7 +139,7 @@ const createAttribute = (
138
139
  childrenKeys,
139
140
  ).getData();
140
141
 
141
- const attribute = new Model(dataHelper, updatedContributions);
142
+ const attribute = new Model(dataHelper, updatedContributions, modelOptions);
142
143
 
143
144
  return LayoutHintRuleCollection.setLayoutHintRules(attribute);
144
145
  };
@@ -2,6 +2,8 @@
2
2
  import { klona } from "klona/full";
3
3
 
4
4
  import LayoutHintCollection from "../layouthint/LayoutHintCollection";
5
+ import type { ModelOptions } from "../types";
6
+ import { getBasePathModularUI } from "../../constants";
5
7
 
6
8
  export type BaseDehydrateData = {
7
9
  +data: Object,
@@ -21,16 +23,25 @@ class BaseModel {
21
23
  _contributions: Object;
22
24
  _layouthint: LayoutHintCollection;
23
25
  _connectKey: string;
26
+ _modelOptions: ModelOptions;
24
27
 
25
28
  /**
26
29
  * constructor
27
30
  */
28
- constructor(data: Object, contributions: Object) {
31
+ constructor(
32
+ data: Object,
33
+ contributions: Object,
34
+ modelOptions: ModelOptions = {
35
+ origin: "",
36
+ contextPath: getBasePathModularUI(),
37
+ },
38
+ ) {
29
39
  this._data = data;
30
40
  this._contributions = contributions;
31
41
  this._layouthint = new LayoutHintCollection(
32
42
  this.getContribution("layouthint", []),
33
43
  );
44
+ this._modelOptions = modelOptions;
34
45
  }
35
46
 
36
47
  /**
@@ -61,6 +72,24 @@ class BaseModel {
61
72
  return this.contributions[propName] ?? defaultValue;
62
73
  }
63
74
 
75
+ /**
76
+ */
77
+ get modelOptions(): ModelOptions {
78
+ return this._modelOptions;
79
+ }
80
+
81
+ /**
82
+ */
83
+ get origin(): string {
84
+ return this.modelOptions.origin || "";
85
+ }
86
+
87
+ /**
88
+ */
89
+ get contextPath(): string {
90
+ return this.modelOptions.contextPath || getBasePathModularUI();
91
+ }
92
+
64
93
  /**
65
94
  * Getting the layouthint
66
95
  */
@@ -104,6 +133,7 @@ class BaseModel {
104
133
  data: this._data,
105
134
  contributions: this._contributions,
106
135
  connectKey: this._connectKey,
136
+ options: this._modelOptions,
107
137
  };
108
138
  }
109
139
 
@@ -13,7 +13,6 @@ import type LinkModel from "../links/LinkModel";
13
13
  import type Href from "../href/Href";
14
14
  import type { ModularUIModel, IModelWithChildModels } from "../types";
15
15
  import type ErrorResponse from "../error/ErrorResponse";
16
- import { getBasePath } from "../../constants";
17
16
 
18
17
  /**
19
18
  * Base model, this the foundation for models that represent modular ui services, e.g. application, tab, caseview, etc
@@ -24,23 +23,22 @@ class ResourceModel extends BaseModel implements IModelWithChildModels {
24
23
  _childModels: Array<ModularUIModel>;
25
24
  _links: LinkCollection;
26
25
  _lastServerUpdate: number;
27
- _origin: string = "";
28
- _contextPath: string = getBasePath();
29
26
 
30
27
  /**
31
28
  * constructor
32
29
  */
33
30
  constructor(modularuiResponse: ModularUIResponse = new ModularUIResponse()) {
34
- super(modularuiResponse.data, modularuiResponse.contributions);
31
+ super(
32
+ modularuiResponse.data,
33
+ modularuiResponse.contributions,
34
+ modularuiResponse.modelOptions,
35
+ );
35
36
 
36
37
  this._key = modularuiResponse.key;
37
38
  this._locale = modularuiResponse.locale;
38
39
  this._childModels = [];
39
40
 
40
41
  this._lastServerUpdate = Date.now();
41
-
42
- this._origin = modularuiResponse.origin;
43
- this._contextPath = modularuiResponse.contextPath;
44
42
  }
45
43
 
46
44
  /**
@@ -114,18 +112,6 @@ class ResourceModel extends BaseModel implements IModelWithChildModels {
114
112
  return this.getContribution("label", "");
115
113
  }
116
114
 
117
- /**
118
- */
119
- get origin(): string {
120
- return this._origin;
121
- }
122
-
123
- /**
124
- */
125
- get contextPath(): string {
126
- return this._contextPath;
127
- }
128
-
129
115
  /**
130
116
  * Getting the links of the resource
131
117
  */
@@ -145,8 +131,7 @@ class ResourceModel extends BaseModel implements IModelWithChildModels {
145
131
  this._links = new LinkCollection(
146
132
  linksData,
147
133
  linksContrubtions,
148
- this.origin,
149
- this.contextPath,
134
+ this.modelOptions,
150
135
  );
151
136
  }
152
137
  return this._links;
@@ -254,8 +239,6 @@ class ResourceModel extends BaseModel implements IModelWithChildModels {
254
239
  childModels: this._childModels.map<ModularUIModel>(
255
240
  (childModel: ModularUIModel) => childModel.dehydrate(),
256
241
  ),
257
- origin: this._origin,
258
- contextPath: this._contextPath,
259
242
  };
260
243
  }
261
244
  }
@@ -59,6 +59,10 @@ describe("baseModel", () => {
59
59
  data: { name: "value" },
60
60
  contributions: { name: "value" },
61
61
  connectKey: "ConnectKey",
62
+ options: {
63
+ contextPath: "/BeInformed",
64
+ origin: "",
65
+ },
62
66
  });
63
67
 
64
68
  const newModel = new BaseModel();