@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
@@ -3,7 +3,8 @@ import Href from "../href/Href";
3
3
 
4
4
  import type { MessageParameters } from "../../i18n/types";
5
5
  import LayoutHintCollection from "../layouthint/LayoutHintCollection";
6
- import { getBasePath } from "../../constants";
6
+ import { getBasePathModularUI } from "../../constants";
7
+ import type { ModelOptions } from "../types";
7
8
 
8
9
  /**
9
10
  */
@@ -34,23 +35,16 @@ export default class ErrorResponse {
34
35
  _error: Object;
35
36
  _connectKey: ?string;
36
37
 
37
- _origin: string = "";
38
- _contextPath: string = getBasePath();
38
+ _modelOptions: ?ModelOptions;
39
39
 
40
40
  /**
41
41
  * Construct ErrorResponse
42
42
  */
43
- constructor(
44
- data: Object,
45
- connectKey?: string,
46
- origin?: string,
47
- contextPath?: string,
48
- ) {
43
+ constructor(data: Object, connectKey?: string, modelOptions?: ModelOptions) {
49
44
  this._error = data;
50
45
  this._connectKey = connectKey;
51
46
 
52
- this._origin = origin || "";
53
- this._contextPath = contextPath || getBasePath();
47
+ this._modelOptions = modelOptions;
54
48
  }
55
49
 
56
50
  /**
@@ -68,13 +62,13 @@ export default class ErrorResponse {
68
62
  /**
69
63
  */
70
64
  get origin(): string {
71
- return this._origin;
65
+ return this._modelOptions?.origin || "";
72
66
  }
73
67
 
74
68
  /**
75
69
  */
76
70
  get contextPath(): string {
77
- return this._contextPath;
71
+ return this._modelOptions?.contextPath || getBasePathModularUI();
78
72
  }
79
73
 
80
74
  /**
@@ -186,12 +180,7 @@ export default class ErrorResponse {
186
180
  */
187
181
  get redirectHref(): Href {
188
182
  if (this.response.redirect?.href) {
189
- return new Href(
190
- this.response.redirect?.href,
191
- "",
192
- this.origin,
193
- this.contextPath,
194
- );
183
+ return new Href(this.response.redirect?.href, "", this._modelOptions);
195
184
  }
196
185
  return new Href();
197
186
  }
@@ -320,7 +309,7 @@ export default class ErrorResponse {
320
309
  */
321
310
  get changePasswordHref(): ?Href {
322
311
  return this.properties.redirect
323
- ? new Href(this.properties.redirect, "", this.origin, this.contextPath)
312
+ ? new Href(this.properties.redirect, "", this._modelOptions)
324
313
  : null;
325
314
  }
326
315
 
@@ -1,7 +1,7 @@
1
1
  // @flow
2
2
  import BaseFilterModel from "../filters/BaseFilterModel";
3
3
 
4
- import type { AttributeType } from "../types";
4
+ import type { AttributeType, ModelOptions } from "../types";
5
5
  import { IllegalStateException } from "../../exceptions";
6
6
  /**
7
7
  * Assignment filter consists of two filters: assignment type and user filter
@@ -14,8 +14,12 @@ export default class AssignmentFilterModel extends BaseFilterModel {
14
14
  /**
15
15
  * Construct an assignment filter
16
16
  */
17
- constructor(data: Object, contributions: Object) {
18
- super(data, contributions);
17
+ constructor(
18
+ data: Object,
19
+ contributions: Object,
20
+ modelOptions?: ModelOptions,
21
+ ) {
22
+ super(data, contributions, modelOptions);
19
23
 
20
24
  this._assignmenttype = this.createAssignmentTypeModel();
21
25
  this._user = this.createUserModel();
@@ -3,7 +3,7 @@ import BaseModel from "../base/BaseModel";
3
3
  import createAttribute from "../attributes/_createAttribute";
4
4
  import { PARAMETER_SEPARATOR } from "../../constants/Constants";
5
5
 
6
- import type { AttributeType, FilterType } from "../types";
6
+ import type { AttributeType, FilterType, ModelOptions } from "../types";
7
7
  import { IllegalStateException } from "../../exceptions";
8
8
 
9
9
  /**
@@ -16,8 +16,12 @@ export default class BaseFilterModel extends BaseModel {
16
16
 
17
17
  /**
18
18
  */
19
- constructor(data: Object, contributions: Object) {
20
- super(data, contributions);
19
+ constructor(
20
+ data: Object,
21
+ contributions: Object,
22
+ modelOptions?: ModelOptions,
23
+ ) {
24
+ super(data, contributions, modelOptions);
21
25
 
22
26
  this._attribute = this.createAttribute(
23
27
  this.type,
@@ -53,10 +57,15 @@ export default class BaseFilterModel extends BaseModel {
53
57
  return null;
54
58
  }
55
59
 
56
- return createAttribute(param, data, {
57
- ...contributions,
58
- type: type,
59
- });
60
+ return createAttribute(
61
+ param,
62
+ data,
63
+ {
64
+ ...contributions,
65
+ type: type,
66
+ },
67
+ this.modelOptions,
68
+ );
60
69
  }
61
70
 
62
71
  /**
@@ -2,6 +2,8 @@
2
2
  import BaseFilterModel from "../filters/BaseFilterModel";
3
3
  import ChoiceAttributeModel from "../attributes/ChoiceAttributeModel";
4
4
 
5
+ import type { ModelOptions } from "../types";
6
+
5
7
  /**
6
8
  * The concept index model is a special filter used to index all first concept label letters in de modelcatalog.
7
9
  */
@@ -9,8 +11,12 @@ export default class ConceptIndexFilterModel extends BaseFilterModel {
9
11
  /**
10
12
  * Construct a filter
11
13
  */
12
- constructor(data: Object, contributions: Object) {
13
- super(data, contributions);
14
+ constructor(
15
+ data: Object,
16
+ contributions: Object,
17
+ modelOptions?: ModelOptions,
18
+ ) {
19
+ super(data, contributions, modelOptions);
14
20
 
15
21
  if (data.options) {
16
22
  const selectedValues = data.options
@@ -8,7 +8,7 @@ import ConceptIndexFilterModel from "../filters/ConceptIndexFilterModel";
8
8
  import CompositeAttributeModel from "../attributes/CompositeAttributeModel";
9
9
  import FilterModel from "../filters/FilterModel";
10
10
 
11
- import type { AttributeType, FilterType } from "../types";
11
+ import type { AttributeType, FilterType, ModelOptions } from "../types";
12
12
 
13
13
  /**
14
14
  * Contains a collection of filters
@@ -17,7 +17,11 @@ export default class FilterCollection extends BaseCollection<FilterType> {
17
17
  /**
18
18
  * Construct a collection of filters
19
19
  */
20
- constructor(data: Object = {}, contributions: Object = {}) {
20
+ constructor(
21
+ data: Object = {},
22
+ contributions: Object = {},
23
+ modelOptions?: ModelOptions,
24
+ ) {
21
25
  super();
22
26
 
23
27
  if (data && contributions && Array.isArray(contributions.filter)) {
@@ -35,6 +39,7 @@ export default class FilterCollection extends BaseCollection<FilterType> {
35
39
  dynamicschema: contributions.dynamicschema,
36
40
  },
37
41
  filterContributionByKey,
42
+ modelOptions,
38
43
  );
39
44
 
40
45
  if (contributions.listkey) {
@@ -61,25 +66,26 @@ export default class FilterCollection extends BaseCollection<FilterType> {
61
66
  filterKey: string,
62
67
  data: Object,
63
68
  contributions: Object,
69
+ modelOptions?: ModelOptions,
64
70
  ): FilterType {
65
71
  const type = contributions.type || "stringfilter";
66
72
  if (type === "choicefilter" && filterKey === "index") {
67
- return new ConceptIndexFilterModel(data, contributions);
73
+ return new ConceptIndexFilterModel(data, contributions, modelOptions);
68
74
  }
69
75
 
70
76
  if (type.includes("rangefilter")) {
71
- return new RangeFilterModel(data, contributions);
77
+ return new RangeFilterModel(data, contributions, modelOptions);
72
78
  }
73
79
 
74
80
  if (type === "assignmentfilter") {
75
- return new AssignmentFilterModel(data, contributions);
81
+ return new AssignmentFilterModel(data, contributions, modelOptions);
76
82
  }
77
83
 
78
84
  if (type === "stringfilter") {
79
- return new StringFilterModel(data, contributions);
85
+ return new StringFilterModel(data, contributions, modelOptions);
80
86
  }
81
87
 
82
- return new FilterModel(data, contributions);
88
+ return new FilterModel(data, contributions, modelOptions);
83
89
  }
84
90
 
85
91
  /**
@@ -1,6 +1,6 @@
1
1
  // @flow
2
2
 
3
- import type { AttributeType, FilterType } from "../types";
3
+ import type { AttributeType, FilterType, ModelOptions } from "../types";
4
4
  import FilterModel from "./FilterModel";
5
5
 
6
6
  /**
@@ -13,8 +13,12 @@ export default class StringFilterModel extends FilterModel {
13
13
 
14
14
  /**
15
15
  */
16
- constructor(data: Object, contributions: Object) {
17
- super(data, contributions);
16
+ constructor(
17
+ data: Object,
18
+ contributions: Object,
19
+ modelOptions?: ModelOptions,
20
+ ) {
21
+ super(data, contributions, modelOptions);
18
22
 
19
23
  this.update(this.attribute, data.value ?? "");
20
24
 
@@ -268,7 +268,11 @@ class FormModel extends ResourceModel {
268
268
  const objectId = missingAnchors?.[0]?.objectid ?? "";
269
269
  const contributions = this.contributions.objects?.[objectId];
270
270
  if (contributions) {
271
- return new FormObjectModel(missingAnchors[0], contributions);
271
+ return new FormObjectModel(
272
+ missingAnchors[0],
273
+ contributions,
274
+ this.modelOptions,
275
+ );
272
276
  }
273
277
  }
274
278
 
@@ -410,6 +414,7 @@ class FormModel extends ResourceModel {
410
414
  new FormObjectModel(
411
415
  endResult,
412
416
  this.contributions.objects[endResult.objectid],
417
+ this.modelOptions,
413
418
  ),
414
419
  );
415
420
  }
@@ -605,7 +610,7 @@ class FormModel extends ResourceModel {
605
610
  */
606
611
  get successRedirect(): Href | null {
607
612
  return this.isFinished && this.success
608
- ? new Href(this.success.redirect, "", this.origin, this.contextPath)
613
+ ? new Href(this.success.redirect, "", this.modelOptions)
609
614
  : null;
610
615
  }
611
616
 
@@ -640,6 +645,7 @@ class FormModel extends ResourceModel {
640
645
  resultDataKey,
641
646
  successData[resultDataKey],
642
647
  this.contributions.resultdata[resultDataKey],
648
+ this.modelOptions,
643
649
  );
644
650
  }
645
651
 
@@ -8,9 +8,16 @@ import ContentConfiguration from "../contentconfiguration/ContentConfiguration";
8
8
  import ErrorCollection from "../error/ErrorCollection";
9
9
  import { IllegalArgumentException } from "../../exceptions";
10
10
 
11
- import type { AttributeType, ModularUIModel, FormErrorAnchor } from "../types";
12
- import type LinkModel from "../links/LinkModel";
11
+ import type {
12
+ AttributeType,
13
+ ModularUIModel,
14
+ FormErrorAnchor,
15
+ ModelOptions,
16
+ } from "../types";
17
+
13
18
  import LayoutHintCollection from "../layouthint/LayoutHintCollection";
19
+
20
+ import type LinkModel from "../links/LinkModel";
14
21
  import type { MessageParameters } from "../../i18n";
15
22
  import type ErrorResponse from "../error/ErrorResponse";
16
23
 
@@ -27,13 +34,18 @@ export default class FormObjectModel extends BaseModel {
27
34
  /**
28
35
  * Construct FormObjectModel
29
36
  */
30
- constructor(object: Object, objectContributions: Object) {
31
- super(object, objectContributions);
37
+ constructor(
38
+ object: Object,
39
+ objectContributions: Object,
40
+ modelOptions?: ModelOptions,
41
+ ) {
42
+ super(object, objectContributions, modelOptions);
32
43
 
33
44
  if (object && this.getElements().length > 0) {
34
45
  this._attributeCollection = new AttributeCollection(
35
46
  this.getElements(),
36
47
  this.getApplicableAttributeContributions(),
48
+ { ...modelOptions, isReadonly: false },
37
49
  );
38
50
  } else {
39
51
  this._attributeCollection = new AttributeCollection();
@@ -65,6 +77,7 @@ export default class FormObjectModel extends BaseModel {
65
77
  return new FormObjectModel(
66
78
  formObjectModel.data,
67
79
  formObjectModel.contributions,
80
+ formObjectModel.modelOptions,
68
81
  );
69
82
  }
70
83
 
@@ -1,6 +1,6 @@
1
1
  // @flow
2
2
  import AttributeCollection from "../attributes/AttributeCollection";
3
- import type { AttributeType } from "../types";
3
+ import type { AttributeType, ModelOptions } from "../types";
4
4
 
5
5
  /**
6
6
  * Group information model
@@ -14,19 +14,26 @@ export class GroupModel {
14
14
 
15
15
  /**
16
16
  */
17
- constructor(group: Object, context: Object, contributions: Array<Object>) {
17
+ constructor(
18
+ group: Object,
19
+ context: Object,
20
+ contributions: Array<Object>,
21
+ modelOptions?: ModelOptions,
22
+ ) {
18
23
  this._group = group;
19
24
  this._context = context;
20
25
 
21
26
  this._attributeCollection = new AttributeCollection(
22
27
  group,
23
28
  context.attributes,
29
+ { ...modelOptions, isReadonly: true },
24
30
  );
25
31
 
26
32
  if (group.grouping) {
27
33
  this._grouping = new GroupingModel(
28
34
  { ...group.grouping, dynamicschema: group.dynamicschema },
29
35
  contributions,
36
+ modelOptions,
30
37
  );
31
38
  }
32
39
  }
@@ -113,17 +120,25 @@ export default class GroupingModel {
113
120
 
114
121
  /**
115
122
  */
116
- constructor(data: Object, contexts: Array<Context>) {
123
+ constructor(
124
+ data: Object,
125
+ contexts: Array<Context>,
126
+ modelOptions?: ModelOptions,
127
+ ) {
117
128
  this._prefix = data && data.prefix ? data.prefix : null;
118
129
 
119
130
  if (data?.group) {
120
- this._groups = this.createGroup(data, contexts);
131
+ this._groups = this.createGroup(data, contexts, modelOptions);
121
132
  }
122
133
  }
123
134
 
124
135
  /**
125
136
  */
126
- createGroup(data: Object, contributions: Array<Context>): Array<Object> {
137
+ createGroup(
138
+ data: Object,
139
+ contributions: Array<Context>,
140
+ modelOptions?: ModelOptions,
141
+ ): Array<Object> {
127
142
  const context = this.getContextFromContributionsByPrefix(
128
143
  contributions,
129
144
  this._prefix,
@@ -138,6 +153,7 @@ export default class GroupingModel {
138
153
  },
139
154
  context,
140
155
  contributions,
156
+ modelOptions,
141
157
  );
142
158
  });
143
159
  }
@@ -1,10 +1,15 @@
1
1
  // @flow
2
- import { getBasePath, HTTP_METHODS, CONTENT_PATH } from "../../constants";
2
+ import {
3
+ getBasePathModularUI,
4
+ HTTP_METHODS,
5
+ CONTENT_PATH,
6
+ } from "../../constants";
3
7
 
4
8
  import Parameter from "../parameter/Parameter";
5
9
  import { IllegalArgumentException } from "../../exceptions";
6
10
 
7
11
  import type { LocationShape } from "react-router";
12
+ import type { ModelOptions } from "../types";
8
13
 
9
14
  type HrefObject = {
10
15
  _path: string,
@@ -30,7 +35,7 @@ class Href {
30
35
  _state: any = null;
31
36
  _referenceHash: ?number;
32
37
  _origin: string = "";
33
- _contextPath: string = getBasePath();
38
+ _contextPath: string = getBasePathModularUI();
34
39
 
35
40
  /**
36
41
  * Create a Href
@@ -38,8 +43,7 @@ class Href {
38
43
  constructor(
39
44
  href?: HrefInput,
40
45
  resourcetype?: string,
41
- origin?: string,
42
- contextPath?: string,
46
+ modelOptions?: ?ModelOptions,
43
47
  ) {
44
48
  this.resourcetype = resourcetype ?? "";
45
49
 
@@ -51,12 +55,12 @@ class Href {
51
55
  this.setFromLocationOrObject(href);
52
56
  }
53
57
 
54
- if (typeof origin === "string") {
55
- this.origin = origin;
58
+ if (typeof modelOptions?.origin === "string") {
59
+ this.origin = modelOptions.origin;
56
60
  }
57
61
 
58
- if (typeof contextPath === "string") {
59
- this.contextPath = contextPath;
62
+ if (typeof modelOptions?.contextPath === "string") {
63
+ this.contextPath = modelOptions.contextPath;
60
64
  }
61
65
  }
62
66
 
@@ -478,7 +482,7 @@ class Href {
478
482
  /**
479
483
  * Checks if the given Href equals this Href
480
484
  */
481
- equals(href: Href | string): boolean {
485
+ equals(href: Href | string | null): boolean {
482
486
  if (href instanceof Href) {
483
487
  return this.path === href.path;
484
488
  }
@@ -516,7 +520,9 @@ class Href {
516
520
  * Indicates if the link is a content link
517
521
  */
518
522
  get isContent(): boolean {
519
- return this.absolutepath.startsWith(`${getBasePath()}${CONTENT_PATH}`);
523
+ return this.absolutepath.startsWith(
524
+ `${getBasePathModularUI()}${CONTENT_PATH}`,
525
+ );
520
526
  }
521
527
 
522
528
  /**
@@ -546,6 +552,7 @@ class Href {
546
552
  search: this.querystring.length > 0 ? `?${this.querystring}` : "",
547
553
  hash: this.hash.length > 0 ? `#${this.hash}` : "",
548
554
  state: {
555
+ origin: this.origin,
549
556
  contextPath: this.contextPath,
550
557
  ...this.state,
551
558
  },
@@ -1,4 +1,4 @@
1
- import { getBasePath } from "../../../constants";
1
+ import { getBasePathModularUI } from "../../../constants";
2
2
  import Href from "../Href";
3
3
 
4
4
  describe("href spec", () => {
@@ -142,7 +142,7 @@ describe("href spec", () => {
142
142
  });
143
143
 
144
144
  it("a tab can have the same uri as the contextPath", () => {
145
- expect(getBasePath()).toBe("/BeInformed");
145
+ expect(getBasePathModularUI()).toBe("/BeInformed");
146
146
 
147
147
  const tabHref = new Href("/BeInformed");
148
148
 
@@ -152,6 +152,7 @@ describe("href spec", () => {
152
152
  pathname: "/BeInformed",
153
153
  search: "",
154
154
  state: {
155
+ origin: "",
155
156
  contextPath: "/BeInformed",
156
157
  },
157
158
  });
@@ -163,9 +164,7 @@ describe("href spec", () => {
163
164
  hash: "",
164
165
  pathname: "/BeInformed/list",
165
166
  search: "",
166
- state: {
167
- contextPath: "/BeInformed",
168
- },
167
+ state: { origin: "", contextPath: "/BeInformed" },
169
168
  });
170
169
 
171
170
  const listHrefFromHref = new Href(listHref);
@@ -174,9 +173,7 @@ describe("href spec", () => {
174
173
  hash: "",
175
174
  pathname: "/BeInformed/list",
176
175
  search: "",
177
- state: {
178
- contextPath: "/BeInformed",
179
- },
176
+ state: { origin: "", contextPath: "/BeInformed" },
180
177
  });
181
178
  });
182
179
  });
@@ -4,6 +4,7 @@ import normalizeLinkJSON from "./normalizeLinkJSON";
4
4
  import LinkModel from "./LinkModel";
5
5
 
6
6
  import type Href from "../href/Href";
7
+ import type { ModelOptions } from "../types";
7
8
 
8
9
  /**
9
10
  * Collection of links
@@ -17,15 +18,14 @@ export default class LinkCollection extends BaseCollection<LinkModel> {
17
18
  constructor(
18
19
  linkData: Object = {},
19
20
  linkContributions: Object = {},
20
- origin?: string,
21
- contextPath?: string,
21
+ modelOptions?: ModelOptions,
22
22
  ) {
23
23
  super();
24
24
 
25
25
  // There can be links in data and/or contributions (e.g. concept link is available through contributions)
26
26
  this.collection = normalizeLinkJSON(linkData, linkContributions).map(
27
27
  ({ data, contributions }) =>
28
- new LinkModel(data, contributions, origin, contextPath),
28
+ new LinkModel(data, contributions, modelOptions),
29
29
  );
30
30
  }
31
31
 
@@ -7,7 +7,7 @@ import Href from "../href/Href";
7
7
  import LinkCollection from "../links/LinkCollection";
8
8
  import { INITIAL_FILTER } from "../../constants/LayoutHints";
9
9
 
10
- import type { ModularUIModel } from "../types";
10
+ import type { ModelOptions, ModularUIModel } from "../types";
11
11
  import Parameter from "../parameter/Parameter";
12
12
 
13
13
  /**
@@ -30,12 +30,11 @@ class LinkModel extends BaseModel {
30
30
  constructor(
31
31
  data: Object,
32
32
  contributions: Object,
33
- origin?: string,
34
- contextPath?: string,
33
+ modelOptions?: ModelOptions,
35
34
  ) {
36
- super(data, contributions);
35
+ super(data, contributions, modelOptions);
37
36
 
38
- this.createHref(origin, contextPath);
37
+ this.createHref(modelOptions);
39
38
 
40
39
  this._isCacheable = false;
41
40
  }
@@ -47,23 +46,17 @@ class LinkModel extends BaseModel {
47
46
  name: string,
48
47
  href: string | Href,
49
48
  label: string,
50
- origin?: string,
51
- contextPath?: string,
49
+ modelOptions?: ModelOptions,
52
50
  ): LinkModel {
53
51
  const data = { name, href };
54
52
  const contributions = { label };
55
- return new LinkModel(data, contributions, origin, contextPath);
53
+ return new LinkModel(data, contributions, modelOptions);
56
54
  }
57
55
 
58
56
  /**
59
57
  */
60
- createHref(origin?: string, contextPath?: string) {
61
- const href = new Href(
62
- this.data.href,
63
- this.resourcetype,
64
- origin,
65
- contextPath,
66
- );
58
+ createHref(modelOptions: ?ModelOptions) {
59
+ const href = new Href(this.data.href, this.resourcetype, modelOptions);
67
60
  this.handleInitialFilters(href);
68
61
 
69
62
  this.href = href;
@@ -278,7 +278,12 @@ export default class ListDetailModel extends DetailModel {
278
278
  */
279
279
  addAttributes(key: string, eventData: Object, eventContributions: Object) {
280
280
  this._eventdata.push(
281
- new AttributeSetModel(key, eventData, eventContributions),
281
+ new AttributeSetModel(
282
+ key,
283
+ eventData,
284
+ eventContributions,
285
+ this.modelOptions,
286
+ ),
282
287
  );
283
288
  }
284
289
 
@@ -36,8 +36,7 @@ class ListItemCollection extends BaseCollection<ListItemModel> {
36
36
  key,
37
37
  listitemData,
38
38
  listitemContributions,
39
- list.origin,
40
- list.contextPath,
39
+ list.modelOptions,
41
40
  );
42
41
  });
43
42
 
@@ -9,6 +9,7 @@ import { CASEVIEW_LINK } from "../../constants/LayoutHints";
9
9
  import type ChoiceAttributeOptionModel from "../attributes/ChoiceAttributeOptionModel";
10
10
  import type ActionCollection from "../actions/ActionCollection";
11
11
  import type LinkCollection from "../links/LinkCollection";
12
+ import type { ModelOptions } from "../types";
12
13
 
13
14
  /**
14
15
  * List Item
@@ -20,15 +21,14 @@ export default class ListItemModel extends DetailModel {
20
21
  key: string,
21
22
  data: Object,
22
23
  contributions: Object,
23
- origin?: string,
24
- contextPath?: string,
24
+ modelOptions?: ModelOptions,
25
25
  ): ListItemModel {
26
26
  const listitemInput = new ModularUIResponse();
27
27
  listitemInput.key = key;
28
28
  listitemInput.data = data;
29
29
  listitemInput.contributions = contributions;
30
- listitemInput.origin = origin;
31
- listitemInput.contextPath = contextPath;
30
+ listitemInput.origin = modelOptions?.origin;
31
+ listitemInput.contextPath = modelOptions?.contextPath;
32
32
 
33
33
  return new ListItemModel(listitemInput);
34
34
  }