@beinformed/ui 1.57.2 → 1.57.4

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 +19 -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 +22 -21
  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 +11 -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 +21 -20
  277. package/lib/models/href/Href.js.flow +33 -25
  278. package/lib/models/href/Href.js.map +1 -1
  279. package/lib/models/href/__tests__/Href.spec.js.flow +16 -14
  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 +11 -11
  343. package/lib/redux/_modularui/ModularUIUtils.js.flow +17 -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 +33 -25
  404. package/src/models/href/__tests__/Href.spec.js +16 -14
  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 +17 -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
@@ -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();
@@ -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
  }