@beinformed/ui 1.57.2 → 1.57.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/esm/constants/Settings.js +14 -6
  3. package/esm/constants/Settings.js.map +1 -1
  4. package/esm/hooks/useAuthentication.js +3 -3
  5. package/esm/hooks/useAuthentication.js.map +1 -1
  6. package/esm/hooks/useModelCatalog.js.map +1 -1
  7. package/esm/hooks/useModularUIBasic.js +1 -1
  8. package/esm/hooks/useModularUIBasic.js.map +1 -1
  9. package/esm/hooks/useModularUIModel.js.map +1 -1
  10. package/esm/models/actions/ActionCollection.js +2 -3
  11. package/esm/models/actions/ActionCollection.js.map +1 -1
  12. package/esm/models/actions/ActionModel.js +13 -23
  13. package/esm/models/actions/ActionModel.js.map +1 -1
  14. package/esm/models/application/ApplicationModel.js +1 -1
  15. package/esm/models/application/ApplicationModel.js.map +1 -1
  16. package/esm/models/attributes/AttributeCollection.js +6 -3
  17. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  18. package/esm/models/attributes/AttributeModel.js +3 -3
  19. package/esm/models/attributes/AttributeModel.js.map +1 -1
  20. package/esm/models/attributes/AttributeSetModel.js +7 -4
  21. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  22. package/esm/models/attributes/BooleanAttributeModel.js +6 -3
  23. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  24. package/esm/models/attributes/ChoiceAttributeModel.js +6 -3
  25. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  26. package/esm/models/attributes/ChoiceAttributeOptionCollection.js +18 -14
  27. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  28. package/esm/models/attributes/ChoiceAttributeOptionModel.js +17 -10
  29. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  30. package/esm/models/attributes/CompositeAttributeChildCollection.js +7 -7
  31. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  32. package/esm/models/attributes/CompositeAttributeModel.js +3 -3
  33. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  34. package/esm/models/attributes/DatetimeAttributeModel.js +2 -2
  35. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  36. package/esm/models/attributes/StringAttributeModel.js +2 -2
  37. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  38. package/esm/models/attributes/_createAttribute.js +2 -2
  39. package/esm/models/attributes/_createAttribute.js.map +1 -1
  40. package/esm/models/base/BaseModel.js +27 -1
  41. package/esm/models/base/BaseModel.js.map +1 -1
  42. package/esm/models/base/ResourceModel.js +3 -23
  43. package/esm/models/base/ResourceModel.js.map +1 -1
  44. package/esm/models/caseview/CaseViewModel.js +1 -1
  45. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  46. package/esm/models/concepts/ConceptDetailModel.js +2 -2
  47. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  48. package/esm/models/concepts/ConceptIndexModel.js +2 -2
  49. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  50. package/esm/models/concepts/ConceptLinkModel.js +4 -10
  51. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  52. package/esm/models/concepts/ConceptRelationCollection.js +11 -4
  53. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  54. package/esm/models/concepts/ConceptRelationModel.js +8 -1
  55. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  56. package/esm/models/concepts/SourceReferenceCollection.js +2 -4
  57. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  58. package/esm/models/concepts/SourceReferenceModel.js +9 -10
  59. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  60. package/esm/models/content/ContentIndexModel.js +2 -2
  61. package/esm/models/content/ContentIndexModel.js.map +1 -1
  62. package/esm/models/content/ContentLinkModel.js +4 -11
  63. package/esm/models/content/ContentLinkModel.js.map +1 -1
  64. package/esm/models/content/ContentModel.js +2 -2
  65. package/esm/models/content/ContentModel.js.map +1 -1
  66. package/esm/models/content/ContentTOCModel.js +7 -7
  67. package/esm/models/content/ContentTOCModel.js.map +1 -1
  68. package/esm/models/content/SectionModel.js +6 -12
  69. package/esm/models/content/SectionModel.js.map +1 -1
  70. package/esm/models/detail/DetailModel.js +9 -3
  71. package/esm/models/detail/DetailModel.js.map +1 -1
  72. package/esm/models/error/ErrorResponse.js +8 -10
  73. package/esm/models/error/ErrorResponse.js.map +1 -1
  74. package/esm/models/filters/AssignmentFilterModel.js +2 -2
  75. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  76. package/esm/models/filters/BaseFilterModel.js +3 -3
  77. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  78. package/esm/models/filters/ConceptIndexFilterModel.js +2 -3
  79. package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
  80. package/esm/models/filters/FilterCollection.js +8 -7
  81. package/esm/models/filters/FilterCollection.js.map +1 -1
  82. package/esm/models/filters/StringFilterModel.js +2 -2
  83. package/esm/models/filters/StringFilterModel.js.map +1 -1
  84. package/esm/models/form/FormModel.js +4 -4
  85. package/esm/models/form/FormModel.js.map +1 -1
  86. package/esm/models/form/FormObjectModel.js +7 -4
  87. package/esm/models/form/FormObjectModel.js.map +1 -1
  88. package/esm/models/grouping/GroupingModel.js +10 -7
  89. package/esm/models/grouping/GroupingModel.js.map +1 -1
  90. package/esm/models/href/Href.js +9 -8
  91. package/esm/models/href/Href.js.map +1 -1
  92. package/esm/models/links/LinkCollection.js +2 -3
  93. package/esm/models/links/LinkCollection.js.map +1 -1
  94. package/esm/models/links/LinkModel.js +7 -7
  95. package/esm/models/links/LinkModel.js.map +1 -1
  96. package/esm/models/list/ListDetailModel.js +1 -1
  97. package/esm/models/list/ListDetailModel.js.map +1 -1
  98. package/esm/models/list/ListItemCollection.js +1 -1
  99. package/esm/models/list/ListItemCollection.js.map +1 -1
  100. package/esm/models/list/ListItemModel.js +3 -3
  101. package/esm/models/list/ListItemModel.js.map +1 -1
  102. package/esm/models/list/ListModel.js +3 -3
  103. package/esm/models/list/ListModel.js.map +1 -1
  104. package/esm/models/lookup/LookupOptionCollection.js +5 -2
  105. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  106. package/esm/models/lookup/LookupOptionsModel.js +2 -2
  107. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  108. package/esm/models/panels/GroupingPanelModel.js +1 -1
  109. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  110. package/esm/models/tab/TabModel.js +2 -2
  111. package/esm/models/tab/TabModel.js.map +1 -1
  112. package/esm/models/taskgroup/TaskGroupModel.js +4 -5
  113. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  114. package/esm/models/types.js.map +1 -1
  115. package/esm/models/user/UserProfileModel.js +4 -1
  116. package/esm/models/user/UserProfileModel.js.map +1 -1
  117. package/esm/modularui/CaptchaRequest.js +3 -3
  118. package/esm/modularui/CaptchaRequest.js.map +1 -1
  119. package/esm/modularui/ModularUIRequest.js +8 -5
  120. package/esm/modularui/ModularUIRequest.js.map +1 -1
  121. package/esm/modularui/ModularUIResponse.js +12 -3
  122. package/esm/modularui/ModularUIResponse.js.map +1 -1
  123. package/esm/modularui/UploadRequest.js +3 -3
  124. package/esm/modularui/UploadRequest.js.map +1 -1
  125. package/esm/react-client/client.js +3 -3
  126. package/esm/react-client/client.js.map +1 -1
  127. package/esm/react-server/renderSSRComplete.js +2 -2
  128. package/esm/react-server/renderSSRComplete.js.map +1 -1
  129. package/esm/react-server/renderSSRMinimal.js +2 -2
  130. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  131. package/esm/redux/_modularui/ModularUIActions.js +8 -2
  132. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  133. package/esm/redux/_modularui/ModularUIUtils.js +8 -11
  134. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  135. package/esm/utils/browser/Cookies.js +3 -3
  136. package/esm/utils/browser/Cookies.js.map +1 -1
  137. package/esm/utils/helpers/createHref.js +23 -3
  138. package/esm/utils/helpers/createHref.js.map +1 -1
  139. package/esm/utils/helpers/repositoryResource.js +2 -2
  140. package/esm/utils/helpers/repositoryResource.js.map +1 -1
  141. package/lib/constants/Settings.js +18 -8
  142. package/lib/constants/Settings.js.flow +16 -6
  143. package/lib/constants/Settings.js.map +1 -1
  144. package/lib/hooks/useAuthentication.js +2 -2
  145. package/lib/hooks/useAuthentication.js.flow +3 -3
  146. package/lib/hooks/useAuthentication.js.map +1 -1
  147. package/lib/hooks/useModelCatalog.js.flow +7 -6
  148. package/lib/hooks/useModelCatalog.js.map +1 -1
  149. package/lib/hooks/useModularUIBasic.js +1 -1
  150. package/lib/hooks/useModularUIBasic.js.flow +1 -1
  151. package/lib/hooks/useModularUIBasic.js.map +1 -1
  152. package/lib/hooks/useModularUIModel.js.flow +16 -11
  153. package/lib/hooks/useModularUIModel.js.map +1 -1
  154. package/lib/models/actions/ActionCollection.js +2 -2
  155. package/lib/models/actions/ActionCollection.js.flow +3 -8
  156. package/lib/models/actions/ActionCollection.js.map +1 -1
  157. package/lib/models/actions/ActionModel.js +12 -22
  158. package/lib/models/actions/ActionModel.js.flow +7 -24
  159. package/lib/models/actions/ActionModel.js.map +1 -1
  160. package/lib/models/application/ApplicationModel.js +1 -1
  161. package/lib/models/application/ApplicationModel.js.flow +1 -2
  162. package/lib/models/application/ApplicationModel.js.map +1 -1
  163. package/lib/models/attributes/AttributeCollection.js +6 -3
  164. package/lib/models/attributes/AttributeCollection.js.flow +12 -4
  165. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  166. package/lib/models/attributes/AttributeModel.js +3 -3
  167. package/lib/models/attributes/AttributeModel.js.flow +8 -2
  168. package/lib/models/attributes/AttributeModel.js.map +1 -1
  169. package/lib/models/attributes/AttributeSetModel.js +7 -3
  170. package/lib/models/attributes/AttributeSetModel.js.flow +11 -3
  171. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  172. package/lib/models/attributes/BooleanAttributeModel.js +6 -3
  173. package/lib/models/attributes/BooleanAttributeModel.js.flow +8 -4
  174. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  175. package/lib/models/attributes/ChoiceAttributeModel.js +6 -3
  176. package/lib/models/attributes/ChoiceAttributeModel.js.flow +13 -4
  177. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  178. package/lib/models/attributes/ChoiceAttributeOptionCollection.js +18 -13
  179. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.flow +30 -28
  180. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  181. package/lib/models/attributes/ChoiceAttributeOptionModel.js +17 -10
  182. package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +30 -11
  183. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  184. package/lib/models/attributes/CompositeAttributeChildCollection.js +7 -7
  185. package/lib/models/attributes/CompositeAttributeChildCollection.js.flow +8 -1
  186. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  187. package/lib/models/attributes/CompositeAttributeModel.js +3 -3
  188. package/lib/models/attributes/CompositeAttributeModel.js.flow +8 -3
  189. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  190. package/lib/models/attributes/DatetimeAttributeModel.js +2 -2
  191. package/lib/models/attributes/DatetimeAttributeModel.js.flow +7 -2
  192. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  193. package/lib/models/attributes/StringAttributeModel.js +2 -2
  194. package/lib/models/attributes/StringAttributeModel.js.flow +7 -3
  195. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  196. package/lib/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js.flow +1 -1
  197. package/lib/models/attributes/_createAttribute.js +2 -2
  198. package/lib/models/attributes/_createAttribute.js.flow +3 -2
  199. package/lib/models/attributes/_createAttribute.js.map +1 -1
  200. package/lib/models/base/BaseModel.js +27 -1
  201. package/lib/models/base/BaseModel.js.flow +31 -1
  202. package/lib/models/base/BaseModel.js.map +1 -1
  203. package/lib/models/base/ResourceModel.js +3 -22
  204. package/lib/models/base/ResourceModel.js.flow +6 -23
  205. package/lib/models/base/ResourceModel.js.map +1 -1
  206. package/lib/models/base/__tests__/BaseModel.spec.js.flow +4 -0
  207. package/lib/models/caseview/CaseViewModel.js +1 -1
  208. package/lib/models/caseview/CaseViewModel.js.flow +1 -2
  209. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  210. package/lib/models/concepts/ConceptDetailModel.js +2 -2
  211. package/lib/models/concepts/ConceptDetailModel.js.flow +2 -2
  212. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  213. package/lib/models/concepts/ConceptIndexModel.js +2 -2
  214. package/lib/models/concepts/ConceptIndexModel.js.flow +9 -6
  215. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  216. package/lib/models/concepts/ConceptLinkModel.js +4 -10
  217. package/lib/models/concepts/ConceptLinkModel.js.flow +15 -12
  218. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  219. package/lib/models/concepts/ConceptRelationCollection.js +11 -4
  220. package/lib/models/concepts/ConceptRelationCollection.js.flow +17 -3
  221. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  222. package/lib/models/concepts/ConceptRelationModel.js +8 -1
  223. package/lib/models/concepts/ConceptRelationModel.js.flow +18 -2
  224. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  225. package/lib/models/concepts/SourceReferenceCollection.js +2 -3
  226. package/lib/models/concepts/SourceReferenceCollection.js.flow +3 -8
  227. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  228. package/lib/models/concepts/SourceReferenceModel.js +8 -8
  229. package/lib/models/concepts/SourceReferenceModel.js.flow +10 -11
  230. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  231. package/lib/models/content/ContentIndexModel.js +2 -2
  232. package/lib/models/content/ContentIndexModel.js.flow +10 -5
  233. package/lib/models/content/ContentIndexModel.js.map +1 -1
  234. package/lib/models/content/ContentLinkModel.js +4 -10
  235. package/lib/models/content/ContentLinkModel.js.flow +10 -13
  236. package/lib/models/content/ContentLinkModel.js.map +1 -1
  237. package/lib/models/content/ContentModel.js +2 -2
  238. package/lib/models/content/ContentModel.js.flow +6 -1
  239. package/lib/models/content/ContentModel.js.map +1 -1
  240. package/lib/models/content/ContentTOCModel.js +7 -7
  241. package/lib/models/content/ContentTOCModel.js.flow +19 -11
  242. package/lib/models/content/ContentTOCModel.js.map +1 -1
  243. package/lib/models/content/SectionModel.js +6 -11
  244. package/lib/models/content/SectionModel.js.flow +9 -21
  245. package/lib/models/content/SectionModel.js.map +1 -1
  246. package/lib/models/detail/DetailModel.js +9 -3
  247. package/lib/models/detail/DetailModel.js.flow +3 -4
  248. package/lib/models/detail/DetailModel.js.map +1 -1
  249. package/lib/models/error/ErrorResponse.js +7 -9
  250. package/lib/models/error/ErrorResponse.js.flow +9 -20
  251. package/lib/models/error/ErrorResponse.js.map +1 -1
  252. package/lib/models/filters/AssignmentFilterModel.js +2 -2
  253. package/lib/models/filters/AssignmentFilterModel.js.flow +7 -3
  254. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  255. package/lib/models/filters/BaseFilterModel.js +3 -3
  256. package/lib/models/filters/BaseFilterModel.js.flow +16 -7
  257. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  258. package/lib/models/filters/ConceptIndexFilterModel.js +2 -2
  259. package/lib/models/filters/ConceptIndexFilterModel.js.flow +8 -2
  260. package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
  261. package/lib/models/filters/FilterCollection.js +8 -7
  262. package/lib/models/filters/FilterCollection.js.flow +13 -7
  263. package/lib/models/filters/FilterCollection.js.map +1 -1
  264. package/lib/models/filters/StringFilterModel.js +2 -2
  265. package/lib/models/filters/StringFilterModel.js.flow +7 -3
  266. package/lib/models/filters/StringFilterModel.js.map +1 -1
  267. package/lib/models/form/FormModel.js +4 -4
  268. package/lib/models/form/FormModel.js.flow +8 -2
  269. package/lib/models/form/FormModel.js.map +1 -1
  270. package/lib/models/form/FormObjectModel.js +7 -4
  271. package/lib/models/form/FormObjectModel.js.flow +17 -4
  272. package/lib/models/form/FormObjectModel.js.map +1 -1
  273. package/lib/models/grouping/GroupingModel.js +10 -7
  274. package/lib/models/grouping/GroupingModel.js.flow +21 -5
  275. package/lib/models/grouping/GroupingModel.js.map +1 -1
  276. package/lib/models/href/Href.js +8 -7
  277. package/lib/models/href/Href.js.flow +17 -10
  278. package/lib/models/href/Href.js.map +1 -1
  279. package/lib/models/href/__tests__/Href.spec.js.flow +5 -8
  280. package/lib/models/links/LinkCollection.js +2 -3
  281. package/lib/models/links/LinkCollection.js.flow +3 -3
  282. package/lib/models/links/LinkCollection.js.map +1 -1
  283. package/lib/models/links/LinkModel.js +7 -7
  284. package/lib/models/links/LinkModel.js.flow +8 -15
  285. package/lib/models/links/LinkModel.js.map +1 -1
  286. package/lib/models/list/ListDetailModel.js +1 -1
  287. package/lib/models/list/ListDetailModel.js.flow +6 -1
  288. package/lib/models/list/ListDetailModel.js.map +1 -1
  289. package/lib/models/list/ListItemCollection.js +1 -1
  290. package/lib/models/list/ListItemCollection.js.flow +1 -2
  291. package/lib/models/list/ListItemCollection.js.map +1 -1
  292. package/lib/models/list/ListItemModel.js +3 -3
  293. package/lib/models/list/ListItemModel.js.flow +4 -4
  294. package/lib/models/list/ListItemModel.js.map +1 -1
  295. package/lib/models/list/ListModel.js +3 -3
  296. package/lib/models/list/ListModel.js.flow +12 -8
  297. package/lib/models/list/ListModel.js.map +1 -1
  298. package/lib/models/lookup/LookupOptionCollection.js +5 -1
  299. package/lib/models/lookup/LookupOptionCollection.js.flow +17 -6
  300. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  301. package/lib/models/lookup/LookupOptionsModel.js +2 -2
  302. package/lib/models/lookup/LookupOptionsModel.js.flow +2 -0
  303. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  304. package/lib/models/panels/GroupingPanelModel.js +1 -1
  305. package/lib/models/panels/GroupingPanelModel.js.flow +1 -2
  306. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  307. package/lib/models/tab/TabModel.js +2 -2
  308. package/lib/models/tab/TabModel.js.flow +2 -4
  309. package/lib/models/tab/TabModel.js.map +1 -1
  310. package/lib/models/taskgroup/TaskGroupModel.js +4 -4
  311. package/lib/models/taskgroup/TaskGroupModel.js.flow +5 -6
  312. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  313. package/lib/models/types.js.flow +5 -0
  314. package/lib/models/types.js.map +1 -1
  315. package/lib/models/user/UserProfileModel.js +4 -1
  316. package/lib/models/user/UserProfileModel.js.flow +1 -0
  317. package/lib/models/user/UserProfileModel.js.map +1 -1
  318. package/lib/modularui/CaptchaRequest.js +2 -2
  319. package/lib/modularui/CaptchaRequest.js.flow +7 -3
  320. package/lib/modularui/CaptchaRequest.js.map +1 -1
  321. package/lib/modularui/ModularUIRequest.js +7 -4
  322. package/lib/modularui/ModularUIRequest.js.flow +8 -5
  323. package/lib/modularui/ModularUIRequest.js.map +1 -1
  324. package/lib/modularui/ModularUIResponse.js +11 -2
  325. package/lib/modularui/ModularUIResponse.js.flow +13 -3
  326. package/lib/modularui/ModularUIResponse.js.map +1 -1
  327. package/lib/modularui/UploadRequest.js +2 -2
  328. package/lib/modularui/UploadRequest.js.flow +7 -3
  329. package/lib/modularui/UploadRequest.js.map +1 -1
  330. package/lib/react-client/client.js +2 -2
  331. package/lib/react-client/client.js.flow +7 -3
  332. package/lib/react-client/client.js.map +1 -1
  333. package/lib/react-server/renderSSRComplete.js +1 -1
  334. package/lib/react-server/renderSSRComplete.js.flow +2 -2
  335. package/lib/react-server/renderSSRComplete.js.map +1 -1
  336. package/lib/react-server/renderSSRMinimal.js +1 -1
  337. package/lib/react-server/renderSSRMinimal.js.flow +2 -2
  338. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  339. package/lib/redux/_modularui/ModularUIActions.js +8 -2
  340. package/lib/redux/_modularui/ModularUIActions.js.flow +8 -7
  341. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  342. package/lib/redux/_modularui/ModularUIUtils.js +8 -11
  343. package/lib/redux/_modularui/ModularUIUtils.js.flow +13 -14
  344. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  345. package/lib/utils/browser/Cookies.js +2 -2
  346. package/lib/utils/browser/Cookies.js.flow +3 -3
  347. package/lib/utils/browser/Cookies.js.map +1 -1
  348. package/lib/utils/helpers/__tests__/createHref.spec.js.flow +13 -8
  349. package/lib/utils/helpers/createHref.js +23 -3
  350. package/lib/utils/helpers/createHref.js.flow +37 -8
  351. package/lib/utils/helpers/createHref.js.map +1 -1
  352. package/lib/utils/helpers/repositoryResource.js +1 -1
  353. package/lib/utils/helpers/repositoryResource.js.flow +2 -2
  354. package/lib/utils/helpers/repositoryResource.js.map +1 -1
  355. package/package.json +4 -4
  356. package/src/constants/Settings.js +16 -6
  357. package/src/hooks/useAuthentication.js +3 -3
  358. package/src/hooks/useModelCatalog.js +7 -6
  359. package/src/hooks/useModularUIBasic.js +1 -1
  360. package/src/hooks/useModularUIModel.js +16 -11
  361. package/src/models/actions/ActionCollection.js +3 -8
  362. package/src/models/actions/ActionModel.js +7 -24
  363. package/src/models/application/ApplicationModel.js +1 -2
  364. package/src/models/attributes/AttributeCollection.js +12 -4
  365. package/src/models/attributes/AttributeModel.js +8 -2
  366. package/src/models/attributes/AttributeSetModel.js +11 -3
  367. package/src/models/attributes/BooleanAttributeModel.js +8 -4
  368. package/src/models/attributes/ChoiceAttributeModel.js +13 -4
  369. package/src/models/attributes/ChoiceAttributeOptionCollection.js +30 -28
  370. package/src/models/attributes/ChoiceAttributeOptionModel.js +30 -11
  371. package/src/models/attributes/CompositeAttributeChildCollection.js +8 -1
  372. package/src/models/attributes/CompositeAttributeModel.js +8 -3
  373. package/src/models/attributes/DatetimeAttributeModel.js +7 -2
  374. package/src/models/attributes/StringAttributeModel.js +7 -3
  375. package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +1 -1
  376. package/src/models/attributes/_createAttribute.js +3 -2
  377. package/src/models/base/BaseModel.js +31 -1
  378. package/src/models/base/ResourceModel.js +6 -23
  379. package/src/models/base/__tests__/BaseModel.spec.js +4 -0
  380. package/src/models/caseview/CaseViewModel.js +1 -2
  381. package/src/models/concepts/ConceptDetailModel.js +2 -2
  382. package/src/models/concepts/ConceptIndexModel.js +9 -6
  383. package/src/models/concepts/ConceptLinkModel.js +15 -12
  384. package/src/models/concepts/ConceptRelationCollection.js +17 -3
  385. package/src/models/concepts/ConceptRelationModel.js +18 -2
  386. package/src/models/concepts/SourceReferenceCollection.js +3 -8
  387. package/src/models/concepts/SourceReferenceModel.js +10 -11
  388. package/src/models/content/ContentIndexModel.js +10 -5
  389. package/src/models/content/ContentLinkModel.js +10 -13
  390. package/src/models/content/ContentModel.js +6 -1
  391. package/src/models/content/ContentTOCModel.js +19 -11
  392. package/src/models/content/SectionModel.js +9 -21
  393. package/src/models/detail/DetailModel.js +3 -4
  394. package/src/models/error/ErrorResponse.js +9 -20
  395. package/src/models/filters/AssignmentFilterModel.js +7 -3
  396. package/src/models/filters/BaseFilterModel.js +16 -7
  397. package/src/models/filters/ConceptIndexFilterModel.js +8 -2
  398. package/src/models/filters/FilterCollection.js +13 -7
  399. package/src/models/filters/StringFilterModel.js +7 -3
  400. package/src/models/form/FormModel.js +8 -2
  401. package/src/models/form/FormObjectModel.js +17 -4
  402. package/src/models/grouping/GroupingModel.js +21 -5
  403. package/src/models/href/Href.js +17 -10
  404. package/src/models/href/__tests__/Href.spec.js +5 -8
  405. package/src/models/links/LinkCollection.js +3 -3
  406. package/src/models/links/LinkModel.js +8 -15
  407. package/src/models/list/ListDetailModel.js +6 -1
  408. package/src/models/list/ListItemCollection.js +1 -2
  409. package/src/models/list/ListItemModel.js +4 -4
  410. package/src/models/list/ListModel.js +12 -8
  411. package/src/models/lookup/LookupOptionCollection.js +17 -6
  412. package/src/models/lookup/LookupOptionsModel.js +2 -0
  413. package/src/models/panels/GroupingPanelModel.js +1 -2
  414. package/src/models/tab/TabModel.js +2 -4
  415. package/src/models/taskgroup/TaskGroupModel.js +5 -6
  416. package/src/models/types.js +5 -0
  417. package/src/models/user/UserProfileModel.js +1 -0
  418. package/src/modularui/CaptchaRequest.js +7 -3
  419. package/src/modularui/ModularUIRequest.js +8 -5
  420. package/src/modularui/ModularUIResponse.js +13 -3
  421. package/src/modularui/UploadRequest.js +7 -3
  422. package/src/react-client/client.js +7 -3
  423. package/src/react-server/renderSSRComplete.js +2 -2
  424. package/src/react-server/renderSSRMinimal.js +2 -2
  425. package/src/redux/_modularui/ModularUIActions.js +8 -7
  426. package/src/redux/_modularui/ModularUIUtils.js +13 -14
  427. package/src/utils/browser/Cookies.js +3 -3
  428. package/src/utils/helpers/__tests__/createHref.spec.js +13 -8
  429. package/src/utils/helpers/createHref.js +37 -8
  430. package/src/utils/helpers/repositoryResource.js +2 -2
@@ -160,8 +160,7 @@ export default class CaseViewModel extends DetailModel {
160
160
  taskgroup.name,
161
161
  taskgroup,
162
162
  taskgroupContributions,
163
- this.origin,
164
- this.contextPath,
163
+ this.modelOptions,
165
164
  );
166
165
  });
167
166
  }
@@ -34,6 +34,7 @@ export default class ConceptDetailModel extends ResourceModel {
34
34
  this._relations = new ConceptRelationCollection(
35
35
  this.data.relations,
36
36
  this.entryDate,
37
+ this.modelOptions,
37
38
  );
38
39
  }
39
40
 
@@ -273,8 +274,7 @@ export default class ConceptDetailModel extends ResourceModel {
273
274
  this._sourceReferences = new SourceReferenceCollection(
274
275
  this.getSourceReferencesForCurrentLanguage(availableLocales),
275
276
  this.entryDate,
276
- this.origin,
277
- this.contextPath,
277
+ this.modelOptions,
278
278
  );
279
279
  }
280
280
 
@@ -24,10 +24,14 @@ export default class ConceptIndexModel extends ResourceModel {
24
24
  constructor(modularuiResponse: ModularUIResponse) {
25
25
  super(modularuiResponse);
26
26
 
27
- this._filterCollection = new FilterCollection(this.data.filter, {
28
- filter: this.contributions.filter,
29
- dynamicschema: this.data.dynamicschema,
30
- });
27
+ this._filterCollection = new FilterCollection(
28
+ this.data.filter,
29
+ {
30
+ filter: this.contributions.filter,
31
+ dynamicschema: this.data.dynamicschema,
32
+ },
33
+ this.modelOptions,
34
+ );
31
35
 
32
36
  this._concepts = new ResourceCollection();
33
37
  this._concepts.collection = this.data._embedded
@@ -36,8 +40,7 @@ export default class ConceptIndexModel extends ResourceModel {
36
40
  new ConceptLinkModel(
37
41
  concept.concept,
38
42
  this.entryDate,
39
- this.origin,
40
- this.contextPath,
43
+ this.modelOptions,
41
44
  ),
42
45
  )
43
46
  : [];
@@ -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