@beinformed/ui 1.57.1 → 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 (436) hide show
  1. package/CHANGELOG.md +20 -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/useModularUI.js +9 -8
  8. package/esm/hooks/useModularUI.js.map +1 -1
  9. package/esm/hooks/useModularUIBasic.js +2 -4
  10. package/esm/hooks/useModularUIBasic.js.map +1 -1
  11. package/esm/hooks/useModularUIModel.js.map +1 -1
  12. package/esm/models/actions/ActionCollection.js +2 -3
  13. package/esm/models/actions/ActionCollection.js.map +1 -1
  14. package/esm/models/actions/ActionModel.js +13 -23
  15. package/esm/models/actions/ActionModel.js.map +1 -1
  16. package/esm/models/application/ApplicationModel.js +1 -1
  17. package/esm/models/application/ApplicationModel.js.map +1 -1
  18. package/esm/models/attributes/AttributeCollection.js +6 -3
  19. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  20. package/esm/models/attributes/AttributeModel.js +3 -3
  21. package/esm/models/attributes/AttributeModel.js.map +1 -1
  22. package/esm/models/attributes/AttributeSetModel.js +7 -4
  23. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  24. package/esm/models/attributes/BooleanAttributeModel.js +6 -3
  25. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  26. package/esm/models/attributes/ChoiceAttributeModel.js +6 -3
  27. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  28. package/esm/models/attributes/ChoiceAttributeOptionCollection.js +18 -14
  29. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  30. package/esm/models/attributes/ChoiceAttributeOptionModel.js +17 -10
  31. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  32. package/esm/models/attributes/CompositeAttributeChildCollection.js +7 -7
  33. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  34. package/esm/models/attributes/CompositeAttributeModel.js +3 -3
  35. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  36. package/esm/models/attributes/DatetimeAttributeModel.js +2 -2
  37. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  38. package/esm/models/attributes/StringAttributeModel.js +2 -2
  39. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  40. package/esm/models/attributes/_createAttribute.js +2 -2
  41. package/esm/models/attributes/_createAttribute.js.map +1 -1
  42. package/esm/models/base/BaseModel.js +27 -1
  43. package/esm/models/base/BaseModel.js.map +1 -1
  44. package/esm/models/base/ResourceModel.js +3 -23
  45. package/esm/models/base/ResourceModel.js.map +1 -1
  46. package/esm/models/caseview/CaseViewModel.js +1 -1
  47. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  48. package/esm/models/concepts/ConceptDetailModel.js +2 -2
  49. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  50. package/esm/models/concepts/ConceptIndexModel.js +2 -2
  51. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  52. package/esm/models/concepts/ConceptLinkModel.js +4 -10
  53. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  54. package/esm/models/concepts/ConceptRelationCollection.js +11 -4
  55. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  56. package/esm/models/concepts/ConceptRelationModel.js +8 -1
  57. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  58. package/esm/models/concepts/SourceReferenceCollection.js +2 -4
  59. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  60. package/esm/models/concepts/SourceReferenceModel.js +9 -10
  61. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  62. package/esm/models/content/ContentIndexModel.js +2 -2
  63. package/esm/models/content/ContentIndexModel.js.map +1 -1
  64. package/esm/models/content/ContentLinkModel.js +4 -11
  65. package/esm/models/content/ContentLinkModel.js.map +1 -1
  66. package/esm/models/content/ContentModel.js +2 -2
  67. package/esm/models/content/ContentModel.js.map +1 -1
  68. package/esm/models/content/ContentTOCModel.js +7 -7
  69. package/esm/models/content/ContentTOCModel.js.map +1 -1
  70. package/esm/models/content/SectionModel.js +6 -12
  71. package/esm/models/content/SectionModel.js.map +1 -1
  72. package/esm/models/detail/DetailModel.js +9 -3
  73. package/esm/models/detail/DetailModel.js.map +1 -1
  74. package/esm/models/error/ErrorResponse.js +8 -10
  75. package/esm/models/error/ErrorResponse.js.map +1 -1
  76. package/esm/models/filters/AssignmentFilterModel.js +2 -2
  77. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  78. package/esm/models/filters/BaseFilterModel.js +3 -3
  79. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  80. package/esm/models/filters/ConceptIndexFilterModel.js +2 -3
  81. package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
  82. package/esm/models/filters/FilterCollection.js +8 -7
  83. package/esm/models/filters/FilterCollection.js.map +1 -1
  84. package/esm/models/filters/StringFilterModel.js +2 -2
  85. package/esm/models/filters/StringFilterModel.js.map +1 -1
  86. package/esm/models/form/FormModel.js +4 -4
  87. package/esm/models/form/FormModel.js.map +1 -1
  88. package/esm/models/form/FormObjectModel.js +7 -4
  89. package/esm/models/form/FormObjectModel.js.map +1 -1
  90. package/esm/models/grouping/GroupingModel.js +10 -7
  91. package/esm/models/grouping/GroupingModel.js.map +1 -1
  92. package/esm/models/href/Href.js +9 -8
  93. package/esm/models/href/Href.js.map +1 -1
  94. package/esm/models/links/LinkCollection.js +2 -3
  95. package/esm/models/links/LinkCollection.js.map +1 -1
  96. package/esm/models/links/LinkModel.js +7 -7
  97. package/esm/models/links/LinkModel.js.map +1 -1
  98. package/esm/models/list/ListDetailModel.js +1 -1
  99. package/esm/models/list/ListDetailModel.js.map +1 -1
  100. package/esm/models/list/ListItemCollection.js +1 -1
  101. package/esm/models/list/ListItemCollection.js.map +1 -1
  102. package/esm/models/list/ListItemModel.js +3 -3
  103. package/esm/models/list/ListItemModel.js.map +1 -1
  104. package/esm/models/list/ListModel.js +3 -3
  105. package/esm/models/list/ListModel.js.map +1 -1
  106. package/esm/models/lookup/LookupOptionCollection.js +5 -2
  107. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  108. package/esm/models/lookup/LookupOptionsModel.js +2 -2
  109. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  110. package/esm/models/panels/GroupingPanelModel.js +1 -1
  111. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  112. package/esm/models/tab/TabModel.js +2 -2
  113. package/esm/models/tab/TabModel.js.map +1 -1
  114. package/esm/models/taskgroup/TaskGroupModel.js +4 -5
  115. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  116. package/esm/models/types.js.map +1 -1
  117. package/esm/models/user/UserProfileModel.js +4 -1
  118. package/esm/models/user/UserProfileModel.js.map +1 -1
  119. package/esm/modularui/CaptchaRequest.js +3 -3
  120. package/esm/modularui/CaptchaRequest.js.map +1 -1
  121. package/esm/modularui/ModularUIRequest.js +8 -5
  122. package/esm/modularui/ModularUIRequest.js.map +1 -1
  123. package/esm/modularui/ModularUIResponse.js +12 -3
  124. package/esm/modularui/ModularUIResponse.js.map +1 -1
  125. package/esm/modularui/UploadRequest.js +3 -3
  126. package/esm/modularui/UploadRequest.js.map +1 -1
  127. package/esm/react-client/client.js +3 -3
  128. package/esm/react-client/client.js.map +1 -1
  129. package/esm/react-server/renderSSRComplete.js +2 -2
  130. package/esm/react-server/renderSSRComplete.js.map +1 -1
  131. package/esm/react-server/renderSSRMinimal.js +2 -2
  132. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  133. package/esm/redux/_modularui/ModularUIActions.js +8 -2
  134. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  135. package/esm/redux/_modularui/ModularUIUtils.js +8 -11
  136. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  137. package/esm/utils/browser/Cookies.js +3 -3
  138. package/esm/utils/browser/Cookies.js.map +1 -1
  139. package/esm/utils/helpers/createHref.js +23 -3
  140. package/esm/utils/helpers/createHref.js.map +1 -1
  141. package/esm/utils/helpers/repositoryResource.js +2 -2
  142. package/esm/utils/helpers/repositoryResource.js.map +1 -1
  143. package/lib/constants/Settings.js +18 -8
  144. package/lib/constants/Settings.js.flow +16 -6
  145. package/lib/constants/Settings.js.map +1 -1
  146. package/lib/hooks/useAuthentication.js +2 -2
  147. package/lib/hooks/useAuthentication.js.flow +3 -3
  148. package/lib/hooks/useAuthentication.js.map +1 -1
  149. package/lib/hooks/useModelCatalog.js.flow +7 -6
  150. package/lib/hooks/useModelCatalog.js.map +1 -1
  151. package/lib/hooks/useModularUI.js +9 -8
  152. package/lib/hooks/useModularUI.js.flow +12 -9
  153. package/lib/hooks/useModularUI.js.map +1 -1
  154. package/lib/hooks/useModularUIBasic.js +2 -4
  155. package/lib/hooks/useModularUIBasic.js.flow +3 -4
  156. package/lib/hooks/useModularUIBasic.js.map +1 -1
  157. package/lib/hooks/useModularUIModel.js.flow +16 -11
  158. package/lib/hooks/useModularUIModel.js.map +1 -1
  159. package/lib/models/actions/ActionCollection.js +2 -2
  160. package/lib/models/actions/ActionCollection.js.flow +3 -8
  161. package/lib/models/actions/ActionCollection.js.map +1 -1
  162. package/lib/models/actions/ActionModel.js +12 -22
  163. package/lib/models/actions/ActionModel.js.flow +7 -24
  164. package/lib/models/actions/ActionModel.js.map +1 -1
  165. package/lib/models/application/ApplicationModel.js +1 -1
  166. package/lib/models/application/ApplicationModel.js.flow +1 -2
  167. package/lib/models/application/ApplicationModel.js.map +1 -1
  168. package/lib/models/attributes/AttributeCollection.js +6 -3
  169. package/lib/models/attributes/AttributeCollection.js.flow +12 -4
  170. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  171. package/lib/models/attributes/AttributeModel.js +3 -3
  172. package/lib/models/attributes/AttributeModel.js.flow +8 -2
  173. package/lib/models/attributes/AttributeModel.js.map +1 -1
  174. package/lib/models/attributes/AttributeSetModel.js +7 -3
  175. package/lib/models/attributes/AttributeSetModel.js.flow +11 -3
  176. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  177. package/lib/models/attributes/BooleanAttributeModel.js +6 -3
  178. package/lib/models/attributes/BooleanAttributeModel.js.flow +8 -4
  179. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  180. package/lib/models/attributes/ChoiceAttributeModel.js +6 -3
  181. package/lib/models/attributes/ChoiceAttributeModel.js.flow +13 -4
  182. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  183. package/lib/models/attributes/ChoiceAttributeOptionCollection.js +18 -13
  184. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.flow +30 -28
  185. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  186. package/lib/models/attributes/ChoiceAttributeOptionModel.js +17 -10
  187. package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +30 -11
  188. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  189. package/lib/models/attributes/CompositeAttributeChildCollection.js +7 -7
  190. package/lib/models/attributes/CompositeAttributeChildCollection.js.flow +8 -1
  191. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  192. package/lib/models/attributes/CompositeAttributeModel.js +3 -3
  193. package/lib/models/attributes/CompositeAttributeModel.js.flow +8 -3
  194. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  195. package/lib/models/attributes/DatetimeAttributeModel.js +2 -2
  196. package/lib/models/attributes/DatetimeAttributeModel.js.flow +7 -2
  197. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  198. package/lib/models/attributes/StringAttributeModel.js +2 -2
  199. package/lib/models/attributes/StringAttributeModel.js.flow +7 -3
  200. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  201. package/lib/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js.flow +1 -1
  202. package/lib/models/attributes/_createAttribute.js +2 -2
  203. package/lib/models/attributes/_createAttribute.js.flow +3 -2
  204. package/lib/models/attributes/_createAttribute.js.map +1 -1
  205. package/lib/models/base/BaseModel.js +27 -1
  206. package/lib/models/base/BaseModel.js.flow +31 -1
  207. package/lib/models/base/BaseModel.js.map +1 -1
  208. package/lib/models/base/ResourceModel.js +3 -22
  209. package/lib/models/base/ResourceModel.js.flow +6 -23
  210. package/lib/models/base/ResourceModel.js.map +1 -1
  211. package/lib/models/base/__tests__/BaseModel.spec.js.flow +4 -0
  212. package/lib/models/caseview/CaseViewModel.js +1 -1
  213. package/lib/models/caseview/CaseViewModel.js.flow +1 -2
  214. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  215. package/lib/models/concepts/ConceptDetailModel.js +2 -2
  216. package/lib/models/concepts/ConceptDetailModel.js.flow +2 -2
  217. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  218. package/lib/models/concepts/ConceptIndexModel.js +2 -2
  219. package/lib/models/concepts/ConceptIndexModel.js.flow +9 -6
  220. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  221. package/lib/models/concepts/ConceptLinkModel.js +4 -10
  222. package/lib/models/concepts/ConceptLinkModel.js.flow +15 -12
  223. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  224. package/lib/models/concepts/ConceptRelationCollection.js +11 -4
  225. package/lib/models/concepts/ConceptRelationCollection.js.flow +17 -3
  226. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  227. package/lib/models/concepts/ConceptRelationModel.js +8 -1
  228. package/lib/models/concepts/ConceptRelationModel.js.flow +18 -2
  229. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  230. package/lib/models/concepts/SourceReferenceCollection.js +2 -3
  231. package/lib/models/concepts/SourceReferenceCollection.js.flow +3 -8
  232. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  233. package/lib/models/concepts/SourceReferenceModel.js +8 -8
  234. package/lib/models/concepts/SourceReferenceModel.js.flow +10 -11
  235. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  236. package/lib/models/content/ContentIndexModel.js +2 -2
  237. package/lib/models/content/ContentIndexModel.js.flow +10 -5
  238. package/lib/models/content/ContentIndexModel.js.map +1 -1
  239. package/lib/models/content/ContentLinkModel.js +4 -10
  240. package/lib/models/content/ContentLinkModel.js.flow +10 -13
  241. package/lib/models/content/ContentLinkModel.js.map +1 -1
  242. package/lib/models/content/ContentModel.js +2 -2
  243. package/lib/models/content/ContentModel.js.flow +6 -1
  244. package/lib/models/content/ContentModel.js.map +1 -1
  245. package/lib/models/content/ContentTOCModel.js +7 -7
  246. package/lib/models/content/ContentTOCModel.js.flow +19 -11
  247. package/lib/models/content/ContentTOCModel.js.map +1 -1
  248. package/lib/models/content/SectionModel.js +6 -11
  249. package/lib/models/content/SectionModel.js.flow +9 -21
  250. package/lib/models/content/SectionModel.js.map +1 -1
  251. package/lib/models/detail/DetailModel.js +9 -3
  252. package/lib/models/detail/DetailModel.js.flow +3 -4
  253. package/lib/models/detail/DetailModel.js.map +1 -1
  254. package/lib/models/error/ErrorResponse.js +7 -9
  255. package/lib/models/error/ErrorResponse.js.flow +9 -20
  256. package/lib/models/error/ErrorResponse.js.map +1 -1
  257. package/lib/models/filters/AssignmentFilterModel.js +2 -2
  258. package/lib/models/filters/AssignmentFilterModel.js.flow +7 -3
  259. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  260. package/lib/models/filters/BaseFilterModel.js +3 -3
  261. package/lib/models/filters/BaseFilterModel.js.flow +16 -7
  262. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  263. package/lib/models/filters/ConceptIndexFilterModel.js +2 -2
  264. package/lib/models/filters/ConceptIndexFilterModel.js.flow +8 -2
  265. package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
  266. package/lib/models/filters/FilterCollection.js +8 -7
  267. package/lib/models/filters/FilterCollection.js.flow +13 -7
  268. package/lib/models/filters/FilterCollection.js.map +1 -1
  269. package/lib/models/filters/StringFilterModel.js +2 -2
  270. package/lib/models/filters/StringFilterModel.js.flow +7 -3
  271. package/lib/models/filters/StringFilterModel.js.map +1 -1
  272. package/lib/models/form/FormModel.js +4 -4
  273. package/lib/models/form/FormModel.js.flow +8 -2
  274. package/lib/models/form/FormModel.js.map +1 -1
  275. package/lib/models/form/FormObjectModel.js +7 -4
  276. package/lib/models/form/FormObjectModel.js.flow +17 -4
  277. package/lib/models/form/FormObjectModel.js.map +1 -1
  278. package/lib/models/grouping/GroupingModel.js +10 -7
  279. package/lib/models/grouping/GroupingModel.js.flow +21 -5
  280. package/lib/models/grouping/GroupingModel.js.map +1 -1
  281. package/lib/models/href/Href.js +8 -7
  282. package/lib/models/href/Href.js.flow +17 -10
  283. package/lib/models/href/Href.js.map +1 -1
  284. package/lib/models/href/__tests__/Href.spec.js.flow +5 -8
  285. package/lib/models/links/LinkCollection.js +2 -3
  286. package/lib/models/links/LinkCollection.js.flow +3 -3
  287. package/lib/models/links/LinkCollection.js.map +1 -1
  288. package/lib/models/links/LinkModel.js +7 -7
  289. package/lib/models/links/LinkModel.js.flow +8 -15
  290. package/lib/models/links/LinkModel.js.map +1 -1
  291. package/lib/models/list/ListDetailModel.js +1 -1
  292. package/lib/models/list/ListDetailModel.js.flow +6 -1
  293. package/lib/models/list/ListDetailModel.js.map +1 -1
  294. package/lib/models/list/ListItemCollection.js +1 -1
  295. package/lib/models/list/ListItemCollection.js.flow +1 -2
  296. package/lib/models/list/ListItemCollection.js.map +1 -1
  297. package/lib/models/list/ListItemModel.js +3 -3
  298. package/lib/models/list/ListItemModel.js.flow +4 -4
  299. package/lib/models/list/ListItemModel.js.map +1 -1
  300. package/lib/models/list/ListModel.js +3 -3
  301. package/lib/models/list/ListModel.js.flow +12 -8
  302. package/lib/models/list/ListModel.js.map +1 -1
  303. package/lib/models/lookup/LookupOptionCollection.js +5 -1
  304. package/lib/models/lookup/LookupOptionCollection.js.flow +17 -6
  305. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  306. package/lib/models/lookup/LookupOptionsModel.js +2 -2
  307. package/lib/models/lookup/LookupOptionsModel.js.flow +2 -0
  308. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  309. package/lib/models/panels/GroupingPanelModel.js +1 -1
  310. package/lib/models/panels/GroupingPanelModel.js.flow +1 -2
  311. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  312. package/lib/models/tab/TabModel.js +2 -2
  313. package/lib/models/tab/TabModel.js.flow +2 -4
  314. package/lib/models/tab/TabModel.js.map +1 -1
  315. package/lib/models/taskgroup/TaskGroupModel.js +4 -4
  316. package/lib/models/taskgroup/TaskGroupModel.js.flow +5 -6
  317. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  318. package/lib/models/types.js.flow +5 -0
  319. package/lib/models/types.js.map +1 -1
  320. package/lib/models/user/UserProfileModel.js +4 -1
  321. package/lib/models/user/UserProfileModel.js.flow +1 -0
  322. package/lib/models/user/UserProfileModel.js.map +1 -1
  323. package/lib/modularui/CaptchaRequest.js +2 -2
  324. package/lib/modularui/CaptchaRequest.js.flow +7 -3
  325. package/lib/modularui/CaptchaRequest.js.map +1 -1
  326. package/lib/modularui/ModularUIRequest.js +7 -4
  327. package/lib/modularui/ModularUIRequest.js.flow +8 -5
  328. package/lib/modularui/ModularUIRequest.js.map +1 -1
  329. package/lib/modularui/ModularUIResponse.js +11 -2
  330. package/lib/modularui/ModularUIResponse.js.flow +13 -3
  331. package/lib/modularui/ModularUIResponse.js.map +1 -1
  332. package/lib/modularui/UploadRequest.js +2 -2
  333. package/lib/modularui/UploadRequest.js.flow +7 -3
  334. package/lib/modularui/UploadRequest.js.map +1 -1
  335. package/lib/react-client/client.js +2 -2
  336. package/lib/react-client/client.js.flow +7 -3
  337. package/lib/react-client/client.js.map +1 -1
  338. package/lib/react-server/renderSSRComplete.js +1 -1
  339. package/lib/react-server/renderSSRComplete.js.flow +2 -2
  340. package/lib/react-server/renderSSRComplete.js.map +1 -1
  341. package/lib/react-server/renderSSRMinimal.js +1 -1
  342. package/lib/react-server/renderSSRMinimal.js.flow +2 -2
  343. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  344. package/lib/redux/_modularui/ModularUIActions.js +8 -2
  345. package/lib/redux/_modularui/ModularUIActions.js.flow +8 -7
  346. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  347. package/lib/redux/_modularui/ModularUIUtils.js +8 -11
  348. package/lib/redux/_modularui/ModularUIUtils.js.flow +13 -14
  349. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  350. package/lib/utils/browser/Cookies.js +2 -2
  351. package/lib/utils/browser/Cookies.js.flow +3 -3
  352. package/lib/utils/browser/Cookies.js.map +1 -1
  353. package/lib/utils/helpers/__tests__/createHref.spec.js.flow +13 -8
  354. package/lib/utils/helpers/createHref.js +23 -3
  355. package/lib/utils/helpers/createHref.js.flow +37 -8
  356. package/lib/utils/helpers/createHref.js.map +1 -1
  357. package/lib/utils/helpers/repositoryResource.js +1 -1
  358. package/lib/utils/helpers/repositoryResource.js.flow +2 -2
  359. package/lib/utils/helpers/repositoryResource.js.map +1 -1
  360. package/package.json +4 -4
  361. package/src/constants/Settings.js +16 -6
  362. package/src/hooks/useAuthentication.js +3 -3
  363. package/src/hooks/useModelCatalog.js +7 -6
  364. package/src/hooks/useModularUI.js +12 -9
  365. package/src/hooks/useModularUIBasic.js +3 -4
  366. package/src/hooks/useModularUIModel.js +16 -11
  367. package/src/models/actions/ActionCollection.js +3 -8
  368. package/src/models/actions/ActionModel.js +7 -24
  369. package/src/models/application/ApplicationModel.js +1 -2
  370. package/src/models/attributes/AttributeCollection.js +12 -4
  371. package/src/models/attributes/AttributeModel.js +8 -2
  372. package/src/models/attributes/AttributeSetModel.js +11 -3
  373. package/src/models/attributes/BooleanAttributeModel.js +8 -4
  374. package/src/models/attributes/ChoiceAttributeModel.js +13 -4
  375. package/src/models/attributes/ChoiceAttributeOptionCollection.js +30 -28
  376. package/src/models/attributes/ChoiceAttributeOptionModel.js +30 -11
  377. package/src/models/attributes/CompositeAttributeChildCollection.js +8 -1
  378. package/src/models/attributes/CompositeAttributeModel.js +8 -3
  379. package/src/models/attributes/DatetimeAttributeModel.js +7 -2
  380. package/src/models/attributes/StringAttributeModel.js +7 -3
  381. package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +1 -1
  382. package/src/models/attributes/_createAttribute.js +3 -2
  383. package/src/models/base/BaseModel.js +31 -1
  384. package/src/models/base/ResourceModel.js +6 -23
  385. package/src/models/base/__tests__/BaseModel.spec.js +4 -0
  386. package/src/models/caseview/CaseViewModel.js +1 -2
  387. package/src/models/concepts/ConceptDetailModel.js +2 -2
  388. package/src/models/concepts/ConceptIndexModel.js +9 -6
  389. package/src/models/concepts/ConceptLinkModel.js +15 -12
  390. package/src/models/concepts/ConceptRelationCollection.js +17 -3
  391. package/src/models/concepts/ConceptRelationModel.js +18 -2
  392. package/src/models/concepts/SourceReferenceCollection.js +3 -8
  393. package/src/models/concepts/SourceReferenceModel.js +10 -11
  394. package/src/models/content/ContentIndexModel.js +10 -5
  395. package/src/models/content/ContentLinkModel.js +10 -13
  396. package/src/models/content/ContentModel.js +6 -1
  397. package/src/models/content/ContentTOCModel.js +19 -11
  398. package/src/models/content/SectionModel.js +9 -21
  399. package/src/models/detail/DetailModel.js +3 -4
  400. package/src/models/error/ErrorResponse.js +9 -20
  401. package/src/models/filters/AssignmentFilterModel.js +7 -3
  402. package/src/models/filters/BaseFilterModel.js +16 -7
  403. package/src/models/filters/ConceptIndexFilterModel.js +8 -2
  404. package/src/models/filters/FilterCollection.js +13 -7
  405. package/src/models/filters/StringFilterModel.js +7 -3
  406. package/src/models/form/FormModel.js +8 -2
  407. package/src/models/form/FormObjectModel.js +17 -4
  408. package/src/models/grouping/GroupingModel.js +21 -5
  409. package/src/models/href/Href.js +17 -10
  410. package/src/models/href/__tests__/Href.spec.js +5 -8
  411. package/src/models/links/LinkCollection.js +3 -3
  412. package/src/models/links/LinkModel.js +8 -15
  413. package/src/models/list/ListDetailModel.js +6 -1
  414. package/src/models/list/ListItemCollection.js +1 -2
  415. package/src/models/list/ListItemModel.js +4 -4
  416. package/src/models/list/ListModel.js +12 -8
  417. package/src/models/lookup/LookupOptionCollection.js +17 -6
  418. package/src/models/lookup/LookupOptionsModel.js +2 -0
  419. package/src/models/panels/GroupingPanelModel.js +1 -2
  420. package/src/models/tab/TabModel.js +2 -4
  421. package/src/models/taskgroup/TaskGroupModel.js +5 -6
  422. package/src/models/types.js +5 -0
  423. package/src/models/user/UserProfileModel.js +1 -0
  424. package/src/modularui/CaptchaRequest.js +7 -3
  425. package/src/modularui/ModularUIRequest.js +8 -5
  426. package/src/modularui/ModularUIResponse.js +13 -3
  427. package/src/modularui/UploadRequest.js +7 -3
  428. package/src/react-client/client.js +7 -3
  429. package/src/react-server/renderSSRComplete.js +2 -2
  430. package/src/react-server/renderSSRMinimal.js +2 -2
  431. package/src/redux/_modularui/ModularUIActions.js +8 -7
  432. package/src/redux/_modularui/ModularUIUtils.js +13 -14
  433. package/src/utils/browser/Cookies.js +3 -3
  434. package/src/utils/helpers/__tests__/createHref.spec.js +13 -8
  435. package/src/utils/helpers/createHref.js +37 -8
  436. package/src/utils/helpers/repositoryResource.js +2 -2
@@ -5,9 +5,13 @@ import LinkCollection from "../links/LinkCollection";
5
5
  import ConceptTypeDetailModel from "./ConceptTypeDetailModel";
6
6
  import { TIMEVERSION_FILTER_NAME } from "../../constants/Constants";
7
7
 
8
- import type { IModelWithChildModels, ModularUIModel } from "../types";
8
+ import type {
9
+ IModelWithChildModels,
10
+ ModelOptions,
11
+ ModularUIModel,
12
+ } from "../types";
9
13
  import type Href from "../href/Href";
10
- import { getBasePath } from "../../constants";
14
+
11
15
  /**
12
16
  * Link to a concept
13
17
  */
@@ -18,8 +22,6 @@ export default class ConceptLinkModel
18
22
  _links: ?LinkCollection;
19
23
  _entryDate: ?ISO_DATE;
20
24
  _conceptType: ?ConceptTypeDetailModel;
21
- _origin: string = "";
22
- _contextPath: string = getBasePath();
23
25
 
24
26
  /**
25
27
  * Construct ConceptLinkModel
@@ -27,14 +29,11 @@ export default class ConceptLinkModel
27
29
  constructor(
28
30
  data: Object,
29
31
  entryDate: ?ISO_DATE = null,
30
- origin?: string,
31
- contextPath?: string,
32
+ modelOptions?: ModelOptions,
32
33
  ) {
33
- super(data, {});
34
+ super(data, {}, modelOptions);
34
35
 
35
36
  this._entryDate = entryDate;
36
- this._origin = origin || "";
37
- this._contextPath = contextPath || getBasePath();
38
37
  }
39
38
 
40
39
  /**
@@ -108,8 +107,7 @@ export default class ConceptLinkModel
108
107
  ? this.data._links[0]
109
108
  : this.data._links,
110
109
  null,
111
- this._origin,
112
- this._contextPath,
110
+ this.modelOptions,
113
111
  );
114
112
  }
115
113
 
@@ -169,7 +167,12 @@ export default class ConceptLinkModel
169
167
  /**
170
168
  */
171
169
  asLinkModel(): LinkModel {
172
- const link = LinkModel.create(this.key, this.selfhref.href, this.label);
170
+ const link = LinkModel.create(
171
+ this.key,
172
+ this.selfhref.href,
173
+ this.label,
174
+ this.modelOptions,
175
+ );
173
176
  link.href = this.selfhref;
174
177
 
175
178
  return link;
@@ -1,27 +1,38 @@
1
1
  // @flow
2
2
  import ResourceCollection from "../base/ResourceCollection";
3
3
  import ConceptRelationModel from "./ConceptRelationModel";
4
+ import type { ModelOptions } from "../types";
5
+ import { getBasePathModularUI } from "../../constants";
4
6
 
5
7
  /**
6
8
  * concept relation collection
7
9
  */
8
10
  export default class ConceptRelationCollection extends ResourceCollection<ConceptRelationModel> {
9
11
  _entryDate: ?ISO_DATE;
12
+ _modelOptions: ModelOptions;
10
13
 
11
14
  /**
12
15
  */
13
- constructor(relations: Array<Object> = [], entryDate: ?ISO_DATE = null) {
16
+ constructor(
17
+ relations: Array<Object> = [],
18
+ entryDate: ?ISO_DATE = null,
19
+ modelOptions?: ModelOptions,
20
+ ) {
14
21
  super();
15
22
 
16
23
  this._entryDate = entryDate;
24
+ this._modelOptions = modelOptions || {
25
+ origin: "",
26
+ contextPath: getBasePathModularUI(),
27
+ };
17
28
 
18
29
  this.collection = Array.isArray(relations)
19
30
  ? relations.map((relation) =>
20
31
  relation instanceof ConceptRelationModel
21
32
  ? relation
22
- : new ConceptRelationModel(relation, entryDate),
33
+ : new ConceptRelationModel(relation, entryDate, modelOptions),
23
34
  )
24
- : [new ConceptRelationModel(relations, entryDate)];
35
+ : [new ConceptRelationModel(relations, entryDate, modelOptions)];
25
36
  }
26
37
 
27
38
  /**
@@ -46,6 +57,7 @@ export default class ConceptRelationCollection extends ResourceCollection<Concep
46
57
  return new ConceptRelationCollection(
47
58
  this.filter((relation) => relation.key === type),
48
59
  this._entryDate,
60
+ this._modelOptions,
49
61
  );
50
62
  }
51
63
 
@@ -67,6 +79,7 @@ export default class ConceptRelationCollection extends ResourceCollection<Concep
67
79
  return new ConceptRelationCollection(
68
80
  this.filter((relation) => relation.direction === "incoming"),
69
81
  this._entryDate,
82
+ this._modelOptions,
70
83
  );
71
84
  }
72
85
 
@@ -76,6 +89,7 @@ export default class ConceptRelationCollection extends ResourceCollection<Concep
76
89
  return new ConceptRelationCollection(
77
90
  this.filter((relation) => relation.direction === "outgoing"),
78
91
  this._entryDate,
92
+ this._modelOptions,
79
93
  );
80
94
  }
81
95
  }
@@ -2,11 +2,14 @@
2
2
  import ConceptLinkModel from "./ConceptLinkModel";
3
3
  import LinkModel from "../links/LinkModel";
4
4
 
5
+ import { getBasePathModularUI } from "../../constants";
6
+
5
7
  import type {
6
8
  IModelWithChildModels,
7
9
  ModularUIModel,
8
10
  textfragmentJSON,
9
11
  propertyJSON,
12
+ ModelOptions,
10
13
  } from "../types";
11
14
 
12
15
  /**
@@ -14,15 +17,28 @@ import type {
14
17
  */
15
18
  export default class ConceptRelationModel implements IModelWithChildModels {
16
19
  _relation: Object;
20
+ _modelOptions: ModelOptions;
17
21
  _concept: ConceptLinkModel;
18
22
 
19
23
  /**
20
24
  */
21
- constructor(relation: Object, entryDate: ?ISO_DATE = null) {
25
+ constructor(
26
+ relation: Object,
27
+ entryDate: ?ISO_DATE = null,
28
+ modelOptions?: ModelOptions,
29
+ ) {
22
30
  this._relation = relation;
31
+ this._modelOptions = modelOptions || {
32
+ origin: "",
33
+ contextPath: getBasePathModularUI(),
34
+ };
23
35
 
24
36
  if (relation && relation.concept) {
25
- this._concept = new ConceptLinkModel(relation.concept, entryDate);
37
+ this._concept = new ConceptLinkModel(
38
+ relation.concept,
39
+ entryDate,
40
+ this._modelOptions,
41
+ );
26
42
  }
27
43
  }
28
44
 
@@ -1,6 +1,7 @@
1
1
  // @flow
2
2
  import BaseCollection from "../base/BaseCollection";
3
3
  import SourceReferenceModel from "./SourceReferenceModel";
4
+ import type { ModelOptions } from "../types";
4
5
 
5
6
  /**
6
7
  * Source reference collection
@@ -11,20 +12,14 @@ export default class SourceReferenceCollection extends BaseCollection<SourceRefe
11
12
  constructor(
12
13
  sourceReferences: Array<Object> = [],
13
14
  entryDate: ?ISO_DATE = null,
14
- origin?: string,
15
- contextPath?: string,
15
+ modelOptions?: ModelOptions,
16
16
  ) {
17
17
  super();
18
18
 
19
19
  this.collection = sourceReferences
20
20
  ? sourceReferences.map(
21
21
  (sourceReference) =>
22
- new SourceReferenceModel(
23
- sourceReference,
24
- entryDate,
25
- origin,
26
- contextPath,
27
- ),
22
+ new SourceReferenceModel(sourceReference, entryDate, modelOptions),
28
23
  )
29
24
  : [];
30
25
  }
@@ -3,28 +3,29 @@ import { createHashFromHref } from "../../utils/helpers/createHash";
3
3
 
4
4
  import ContentLinkModel from "../content/ContentLinkModel";
5
5
  import Href from "../href/Href";
6
- import { getBasePath } from "../../constants";
6
+ import { getBasePathModularUI } from "../../constants";
7
+ import type { ModelOptions } from "../types";
7
8
 
8
9
  /**
9
10
  */
10
11
  class SourceReferenceModel {
11
12
  _sourceReference: Object;
12
13
  _entryDate: ?ISO_DATE;
13
- _origin: string = "";
14
- _contextPath: string = getBasePath();
14
+ _modelOptions: ModelOptions;
15
15
 
16
16
  /**
17
17
  */
18
18
  constructor(
19
19
  sourceReference: Object,
20
20
  entryDate: ?ISO_DATE = null,
21
- origin?: string,
22
- contextPath?: string,
21
+ modelOptions?: ModelOptions,
23
22
  ) {
24
23
  this._sourceReference = sourceReference;
25
24
  this._entryDate = entryDate;
26
- this._origin = origin || "";
27
- this._contextPath = contextPath || getBasePath();
25
+ this._modelOptions = modelOptions || {
26
+ origin: "",
27
+ contextPath: getBasePathModularUI(),
28
+ };
28
29
  }
29
30
 
30
31
  /**
@@ -41,8 +42,7 @@ class SourceReferenceModel {
41
42
  section,
42
43
  },
43
44
  this._entryDate,
44
- this._origin,
45
- this._contextPath,
45
+ this._modelOptions,
46
46
  );
47
47
  }
48
48
 
@@ -52,8 +52,7 @@ class SourceReferenceModel {
52
52
  return new Href(
53
53
  this._sourceReference._links.self.href,
54
54
  "SourceReference",
55
- this._origin,
56
- this._contextPath,
55
+ this._modelOptions,
57
56
  );
58
57
  }
59
58
 
@@ -23,15 +23,20 @@ export default class ContentIndexModel extends ResourceModel {
23
23
  constructor(modularuiResponse: ModularUIResponse) {
24
24
  super(modularuiResponse);
25
25
 
26
- this._filterCollection = new FilterCollection(this.data.filter, {
27
- filter: this.contributions.filter,
28
- dynamicschema: this.data.dynamicschema,
29
- });
26
+ this._filterCollection = new FilterCollection(
27
+ this.data.filter,
28
+ {
29
+ filter: this.contributions.filter,
30
+ dynamicschema: this.data.dynamicschema,
31
+ },
32
+ this.modelOptions,
33
+ );
30
34
 
31
35
  this._content = new ResourceCollection();
32
36
  this._content.collection = this.data._embedded
33
37
  ? this.data._embedded.results.map(
34
- (content) => new ContentLinkModel(content.content),
38
+ (content) =>
39
+ new ContentLinkModel(content.content, null, this.modelOptions),
35
40
  )
36
41
  : [];
37
42
  }
@@ -7,8 +7,11 @@ import { TIMEVERSION_FILTER_NAME } from "../../constants/Constants";
7
7
 
8
8
  import LinkCollection from "../links/LinkCollection";
9
9
 
10
- import type { ModularUIModel, IModelWithChildModels } from "../types";
11
- import { getBasePath } from "../../constants";
10
+ import type {
11
+ ModularUIModel,
12
+ IModelWithChildModels,
13
+ ModelOptions,
14
+ } from "../types";
12
15
 
13
16
  /**
14
17
  * Link to a concept
@@ -21,22 +24,17 @@ export default class ContentLinkModel
21
24
  _entryDate: ?ISO_DATE;
22
25
  _contentType: ContentTypeModel | null = null;
23
26
  _items: Array<ContentLinkModel>;
24
- _origin: string = "";
25
- _contextPath: string = getBasePath();
26
27
 
27
28
  /**
28
29
  */
29
30
  constructor(
30
31
  data: Object,
31
32
  entryDate: ?ISO_DATE = null,
32
- origin?: string,
33
- contextPath?: string,
33
+ modelOptions?: ModelOptions,
34
34
  ) {
35
- super(data, {});
35
+ super(data, {}, modelOptions);
36
36
 
37
37
  this._entryDate = entryDate;
38
- this._origin = origin || "";
39
- this._contextPath = contextPath || getBasePath();
40
38
  }
41
39
 
42
40
  /**
@@ -115,8 +113,8 @@ export default class ContentLinkModel
115
113
  const startURI = "/content/";
116
114
  const selfHref = new Href(
117
115
  this.data._links.self.href,
118
- this._origin,
119
- this._contextPath,
116
+ "",
117
+ this.modelOptions,
120
118
  );
121
119
  const href = selfHref.path;
122
120
 
@@ -158,8 +156,7 @@ export default class ContentLinkModel
158
156
  ? this.data._links[0]
159
157
  : this.data._links,
160
158
  null,
161
- this._origin,
162
- this._contextPath,
159
+ this.modelOptions,
163
160
  );
164
161
  }
165
162
 
@@ -26,7 +26,11 @@ export default class ContentModel extends ResourceModel {
26
26
  constructor(response: ModularUIResponse) {
27
27
  super(response);
28
28
 
29
- this._section = new SectionModel(this.data, this.entryDate);
29
+ this._section = new SectionModel(
30
+ this.data,
31
+ this.entryDate,
32
+ this.modelOptions,
33
+ );
30
34
  }
31
35
 
32
36
  /**
@@ -92,6 +96,7 @@ export default class ContentModel extends ResourceModel {
92
96
  {
93
97
  filter: this.contributions.filter,
94
98
  },
99
+ this.modelOptions,
95
100
  );
96
101
  }
97
102
 
@@ -9,7 +9,7 @@ import Href from "../href/Href";
9
9
 
10
10
  import { TIMEVERSION_FILTER_NAME } from "../../constants/Constants";
11
11
 
12
- import type { ModularUIModel } from "../types";
12
+ import type { ModelOptions, ModularUIModel } from "../types";
13
13
  import type { ModularUIResponse } from "../../modularui";
14
14
  import type LinkModel from "../links/LinkModel";
15
15
 
@@ -19,6 +19,7 @@ import type LinkModel from "../links/LinkModel";
19
19
  const getItems = (
20
20
  items: Array<Object>,
21
21
  entryDate: ISO_DATE | null,
22
+ modelOptions?: ModelOptions,
22
23
  ): Array<ContentLinkModel> =>
23
24
  items.map((item) => {
24
25
  const link = new ContentLinkModel(
@@ -27,10 +28,11 @@ const getItems = (
27
28
  section: item._id,
28
29
  },
29
30
  entryDate,
31
+ modelOptions,
30
32
  );
31
33
 
32
34
  if (item.items) {
33
- link.items = getItems(item.items, entryDate);
35
+ link.items = getItems(item.items, entryDate, modelOptions);
34
36
  }
35
37
 
36
38
  return link;
@@ -111,14 +113,16 @@ export default class ContentTOCModel extends ResourceModel {
111
113
  /**
112
114
  */
113
115
  get selfContentLink(): ContentLinkModel {
114
- return new ContentLinkModel(this.data, this.entryDate);
116
+ return new ContentLinkModel(this.data, this.entryDate, this.modelOptions);
115
117
  }
116
118
 
117
119
  /**
118
120
  * Get sub items of toc
119
121
  */
120
122
  get items(): Array<ContentLinkModel> {
121
- return this.data.items ? getItems(this.data.items, this.entryDate) : [];
123
+ return this.data.items
124
+ ? getItems(this.data.items, this.entryDate, this.modelOptions)
125
+ : [];
122
126
  }
123
127
 
124
128
  /**
@@ -127,7 +131,7 @@ export default class ContentTOCModel extends ResourceModel {
127
131
  get categories(): Array<ContentLinkModel> {
128
132
  if (this.data.categories) {
129
133
  return this.data.categories.map(
130
- (category) => new ContentLinkModel(category),
134
+ (category) => new ContentLinkModel(category, null, this.modelOptions),
131
135
  );
132
136
  }
133
137
 
@@ -153,12 +157,16 @@ export default class ContentTOCModel extends ResourceModel {
153
157
  */
154
158
  get filterCollection(): FilterCollection {
155
159
  if (!this._filterCollection) {
156
- this._filterCollection = new FilterCollection(this.data.filter, {
157
- filter: this.contributions.filter.filter((filter) => {
158
- const [key] = Object.keys(filter);
159
- return has(this.data?.filter, key);
160
- }),
161
- });
160
+ this._filterCollection = new FilterCollection(
161
+ this.data.filter,
162
+ {
163
+ filter: this.contributions.filter.filter((filter) => {
164
+ const [key] = Object.keys(filter);
165
+ return has(this.data?.filter, key);
166
+ }),
167
+ },
168
+ this.modelOptions,
169
+ );
162
170
  }
163
171
 
164
172
  return this._filterCollection;
@@ -6,9 +6,10 @@ import SubSectionModel from "./SubSectionModel";
6
6
  import { createHashFromHref } from "../../utils/helpers/createHash";
7
7
  import LinkModel from "../links/LinkModel";
8
8
 
9
- import type Href from "../href/Href";
10
9
  import { retrieveText } from "../../utils";
11
- import { getBasePath } from "../../constants";
10
+
11
+ import type Href from "../href/Href";
12
+ import type { ModelOptions } from "../types";
12
13
 
13
14
  /**
14
15
  */
@@ -16,20 +17,15 @@ class SectionModel extends BaseModel {
16
17
  _entryDate: ISO_DATE | null;
17
18
  _selflink: ?LinkModel;
18
19
  _childSections: Array<SectionModel>;
19
- _origin: string = "";
20
- _contextPath: string = getBasePath();
21
20
 
22
21
  constructor(
23
22
  data: Object,
24
23
  entryDate: ISO_DATE | null,
25
- origin?: string,
26
- contextPath?: string,
24
+ modelOptions?: ModelOptions,
27
25
  ) {
28
- super(data, {});
26
+ super(data, {}, modelOptions);
29
27
 
30
28
  this._entryDate = entryDate;
31
- this._origin = origin || "";
32
- this._contextPath = contextPath || getBasePath();
33
29
  }
34
30
 
35
31
  /**
@@ -45,8 +41,7 @@ class SectionModel extends BaseModel {
45
41
  this._selflink = new LinkModel(
46
42
  this.data._links?.self,
47
43
  null,
48
- this._origin,
49
- this._contextPath,
44
+ this.modelOptions,
50
45
  );
51
46
  }
52
47
  return this._selflink;
@@ -125,8 +120,7 @@ class SectionModel extends BaseModel {
125
120
  _links: childSection._links,
126
121
  },
127
122
  this.entryDate,
128
- this._origin,
129
- this._contextPath,
123
+ this.modelOptions,
130
124
  ),
131
125
  )
132
126
  : [];
@@ -144,8 +138,7 @@ class SectionModel extends BaseModel {
144
138
  _links: this.data._links,
145
139
  },
146
140
  this.entryDate,
147
- this._origin,
148
- this._contextPath,
141
+ this.modelOptions,
149
142
  );
150
143
  }
151
144
 
@@ -158,12 +151,7 @@ class SectionModel extends BaseModel {
158
151
  .filter((childSection) => "body" in childSection)
159
152
  .map(
160
153
  (childSection) =>
161
- new SectionModel(
162
- childSection,
163
- this.entryDate,
164
- this._origin,
165
- this._contextPath,
166
- ),
154
+ new SectionModel(childSection, this.entryDate, this.modelOptions),
167
155
  );
168
156
  }
169
157
  return this._childSections || [];
@@ -96,7 +96,7 @@ export default class DetailModel extends ResourceModel {
96
96
  this.attributeCollection = new AttributeCollection(
97
97
  this.data,
98
98
  attributeContributions,
99
- true,
99
+ { ...this.modelOptions, isReadonly: true },
100
100
  );
101
101
  }
102
102
 
@@ -148,7 +148,7 @@ export default class DetailModel extends ResourceModel {
148
148
  this.metadataCollection = new AttributeCollection(
149
149
  this.data,
150
150
  metadataContributions,
151
- true,
151
+ { ...this.modelOptions, isReadonly: true },
152
152
  );
153
153
  }
154
154
 
@@ -171,8 +171,7 @@ export default class DetailModel extends ResourceModel {
171
171
  this._actionCollection = new ActionCollection(
172
172
  this.data.actions,
173
173
  this.contributions.actions,
174
- this.origin,
175
- this.contextPath,
174
+ this.modelOptions,
176
175
  );
177
176
  }
178
177
 
@@ -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();