@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
@@ -13,7 +13,11 @@ import { createBrowserHistory } from "history";
13
13
  import configureStore from "../redux/store/configureStore";
14
14
 
15
15
  import rehydrate from "./rehydrate";
16
- import { getBasePath, getSetting } from "../constants/Settings";
16
+ import {
17
+ getBasePathModularUI,
18
+ getBasePathServer,
19
+ getSetting,
20
+ } from "../constants/Settings";
17
21
 
18
22
  import {
19
23
  setAllContentInDataSetting,
@@ -107,7 +111,7 @@ const handleRedirectURI = (store: ReduxStore) => {
107
111
  const urlParams = new URLSearchParams(window.location.search);
108
112
  const redirectURI = urlParams.get("redirectURI");
109
113
  if (redirectURI) {
110
- xhr({ url: `${getBasePath()}${redirectURI}` }).catch((e) => {
114
+ xhr({ url: `${getBasePathModularUI()}${redirectURI}` }).catch((e) => {
111
115
  if (
112
116
  e.id === "UnauthorizedException" ||
113
117
  e.id === "Error.NotAuthorized" ||
@@ -143,7 +147,7 @@ export const setupClient = (
143
147
 
144
148
  // $FlowExpectedError
145
149
  const browserHistory: RouterHistory = createBrowserHistory({
146
- basename: getBasePath(),
150
+ basename: getBasePathServer(),
147
151
  });
148
152
  const { routerHistory, store } = configureStore(
149
153
  browserHistory,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["_reactDom","require","_objects","_setimmediate","_interopRequireDefault","_Cache","_xhr","_history","_configureStore","_rehydrate","_Settings","_Preferences","_Notification","_Error","_SignIn","_RouterActions","_exceptions","_Init","_beforeRenderHooks","_jsxRuntime","parseDataToJSON","data","JSON","parse","error","JsonParseException","getDataFromServer","_context","dataElement","document","querySelector","Error","_trim","default","textContent","call","setUnhandledRejectionEvent","store","window","onunhandledrejection","event","detail","setImmediate","errorMessage","reason","message","toString","dispatch","showXHRErrorNotification","exports","handleRedirectURI","urlParams","_urlSearchParams","location","search","redirectURI","get","xhr","url","getBasePath","catch","e","id","LOGIN_PATH","getSetting","replace","from","pathname","modal","setupClient","customReducers","arguments","length","undefined","beforeRenderHooks","contextPath","Cache","clear","browserHistory","createBrowserHistory","basename","routerHistory","configureStore","rehydrate","setAllContentInDataSetting","getState","setLoginPreferences","loadOtherBrowserTabs","getItem","loginSuccess","has","FetchException","response","handleError","listen","action","locationChange","body","className","handleBeforeRenderHooks","addContentLoadedEvent","theme","render","ErrorFallbackComponent","mount","addEventListener","applicationNode","jsx","Init","children","mountClient","element","isSSR","hydrate","client","_ref"],"sources":["../../src/react-client/client.js"],"sourcesContent":["// @flow\n// eslint-disable-next-line react/no-deprecated\nimport { hydrate, render } from \"react-dom\";\n\nimport { has } from \"../utils/helpers/objects\";\nimport setImmediate from \"setimmediate\";\n\nimport Cache from \"../utils/browser/Cache\";\n\nimport xhr from \"../utils/fetch/xhr\";\n\nimport { createBrowserHistory } from \"history\";\nimport configureStore from \"../redux/store/configureStore\";\n\nimport rehydrate from \"./rehydrate\";\nimport { getBasePath, getSetting } from \"../constants/Settings\";\n\nimport {\n setAllContentInDataSetting,\n setLoginPreferences,\n} from \"../redux/actions/Preferences\";\nimport { showXHRErrorNotification } from \"../redux/actions/Notification\";\n\nimport { handleError } from \"../redux/actions/Error\";\nimport { loginSuccess } from \"../redux/actions/SignIn\";\n\nimport { locationChange, replace } from \"../redux/_router/RouterActions\";\n\nimport { JsonParseException, FetchException } from \"../exceptions\";\n\nimport { Init } from \"./Init\";\n\nimport { handleBeforeRenderHooks } from \"../redux/store/beforeRenderHooks\";\n\nimport type {\n ComponentType,\n Element as ReactElement,\n ElementType,\n} from \"react\";\nimport type { Theme } from \"../react-theme/types\";\nimport type { CustomReducers, ReduxStore } from \"../redux/types\";\nimport type { RouterHistory } from \"react-router\";\nimport type { BeforeRenderHook } from \"../redux/store/beforeRenderHooks\";\nimport type { Props as FallbackProps } from \"../react/ErrorBoundaryFallback\";\n\ntype RenderFunction = () => ReactElement<ElementType>;\ntype MountFunction = (\n applicationNode: Element,\n element: ReactElement<ElementType>,\n) => void;\ntype Props = {\n customReducers?: CustomReducers,\n theme?: Theme | Array<Theme>,\n render: RenderFunction,\n mount: MountFunction,\n beforeRenderHooks?: Array<BeforeRenderHook>,\n ErrorFallbackComponent?: ComponentType<FallbackProps>,\n};\n\n/*\n * deserialize serialized data from the server to provide a smooth dehydration.\n */\nconst parseDataToJSON = (data: string) => {\n try {\n return JSON.parse(data);\n } catch (error) {\n throw new JsonParseException(`Error parsing content ${data}`);\n }\n};\n\nconst getDataFromServer = () => {\n const dataElement = document.querySelector(\n 'script[type=\"application/json\"][data-app-state=\"app-json\"]',\n );\n\n if (!dataElement) {\n throw new Error(\"Error loading state, json not found\");\n } else if (dataElement.textContent.trim() === \"\") {\n return {};\n }\n\n return parseDataToJSON(dataElement.textContent);\n};\n\n/**\n */\nexport const setUnhandledRejectionEvent = (store: ReduxStore) => {\n window.onunhandledrejection = (event) => {\n if (event.detail) {\n return setImmediate(() => {\n const errorMessage = event.detail.reason.message.toString();\n\n store.dispatch(showXHRErrorNotification(errorMessage));\n throw event.detail.reason;\n });\n }\n\n return event;\n };\n};\n\n/**\n * The redirectURI querystring parameter is available when the server is redirecting an unauthorized deep link\n * @param store\n */\nconst handleRedirectURI = (store: ReduxStore) => {\n const urlParams = new URLSearchParams(window.location.search);\n const redirectURI = urlParams.get(\"redirectURI\");\n if (redirectURI) {\n xhr({ url: `${getBasePath()}${redirectURI}` }).catch((e) => {\n if (\n e.id === \"UnauthorizedException\" ||\n e.id === \"Error.NotAuthorized\" ||\n e.id === \"Error.Authentication.Required\" ||\n e.id === \"Error.Authentication.InvalidCredentials\"\n ) {\n const LOGIN_PATH = getSetting(\"LOGIN_PATH\", \"/signin\");\n store.dispatch(\n replace(LOGIN_PATH, {\n from: { pathname: redirectURI },\n modal: false,\n }),\n );\n }\n });\n }\n};\n\n/**\n */\nexport const setupClient = (\n customReducers: CustomReducers = {},\n beforeRenderHooks: ?Array<BeforeRenderHook>,\n): { store: ReduxStore, routerHistory: RouterHistory } => {\n if (typeof window.contextPath === \"undefined\") {\n throw new Error(\"Missing contextPath on window object\");\n }\n\n const data = getDataFromServer();\n\n // remove all resources from cache\n Cache.clear(\"^res:\");\n\n // $FlowExpectedError\n const browserHistory: RouterHistory = createBrowserHistory({\n basename: getBasePath(),\n });\n const { routerHistory, store } = configureStore(\n browserHistory,\n customReducers,\n rehydrate(data),\n );\n\n handleRedirectURI(store);\n\n setAllContentInDataSetting(store.getState());\n setLoginPreferences(store.getState());\n\n // load existing cache from other browser tabs\n Cache.loadOtherBrowserTabs(() => {\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n });\n\n if (has(data, \"error.name\")) {\n const error = new FetchException(data?.error?.response);\n store.dispatch(handleError(error));\n }\n\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n\n // listen to history change and update the redux router store\n routerHistory.listen((location, action) => {\n store.dispatch(locationChange(location, action));\n });\n\n setUnhandledRejectionEvent(store);\n\n if (document.body) {\n document.body.className = \"js\";\n }\n\n if (beforeRenderHooks) {\n handleBeforeRenderHooks(beforeRenderHooks, { store });\n }\n\n return { store, routerHistory };\n};\n\n/**\n */\nexport const addContentLoadedEvent = (\n store: ReduxStore,\n routerHistory: RouterHistory,\n theme?: Theme | Array<Theme>,\n render: RenderFunction,\n ErrorFallbackComponent?: ComponentType<FallbackProps>,\n mount: MountFunction,\n) => {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const applicationNode = document.querySelector(\"#application\");\n if (!applicationNode) {\n throw new Error(\n \"No DOM element with id application found to attach client to\",\n );\n }\n\n mount(\n applicationNode,\n <Init\n store={store}\n routerHistory={routerHistory}\n contextPath={window.contextPath}\n theme={theme}\n ErrorFallbackComponent={ErrorFallbackComponent}\n >\n {render()}\n </Init>,\n );\n });\n};\n\n/**\n */\nconst mountClient = (\n applicationNode: Element,\n element: ReactElement<ElementType>,\n) => {\n const isSSR = applicationNode.querySelector(\".application\");\n if (isSSR) {\n hydrate(element, applicationNode);\n } else {\n render(element, applicationNode);\n }\n};\n\n/**\n * Mount the webapplication to the DOM, setup redux store and caches, add unhandledRejectionEvent, used client side when JavaScript is enabled.\n */\nexport const client = ({\n customReducers,\n theme,\n render,\n beforeRenderHooks,\n ErrorFallbackComponent,\n mount,\n}: Props) => {\n const { store, routerHistory } = setupClient(\n customReducers,\n beforeRenderHooks,\n );\n\n addContentLoadedEvent(\n store,\n routerHistory,\n theme,\n render,\n ErrorFallbackComponent,\n mount ?? mountClient,\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"client.js","names":["_reactDom","require","_objects","_setimmediate","_interopRequireDefault","_Cache","_xhr","_history","_configureStore","_rehydrate","_Settings","_Preferences","_Notification","_Error","_SignIn","_RouterActions","_exceptions","_Init","_beforeRenderHooks","_jsxRuntime","parseDataToJSON","data","JSON","parse","error","JsonParseException","getDataFromServer","_context","dataElement","document","querySelector","Error","_trim","default","textContent","call","setUnhandledRejectionEvent","store","window","onunhandledrejection","event","detail","setImmediate","errorMessage","reason","message","toString","dispatch","showXHRErrorNotification","exports","handleRedirectURI","urlParams","_urlSearchParams","location","search","redirectURI","get","xhr","url","getBasePathModularUI","catch","e","id","LOGIN_PATH","getSetting","replace","from","pathname","modal","setupClient","customReducers","arguments","length","undefined","beforeRenderHooks","contextPath","Cache","clear","browserHistory","createBrowserHistory","basename","getBasePathServer","routerHistory","configureStore","rehydrate","setAllContentInDataSetting","getState","setLoginPreferences","loadOtherBrowserTabs","getItem","loginSuccess","has","FetchException","response","handleError","listen","action","locationChange","body","className","handleBeforeRenderHooks","addContentLoadedEvent","theme","render","ErrorFallbackComponent","mount","addEventListener","applicationNode","jsx","Init","children","mountClient","element","isSSR","hydrate","client","_ref"],"sources":["../../src/react-client/client.js"],"sourcesContent":["// @flow\n// eslint-disable-next-line react/no-deprecated\nimport { hydrate, render } from \"react-dom\";\n\nimport { has } from \"../utils/helpers/objects\";\nimport setImmediate from \"setimmediate\";\n\nimport Cache from \"../utils/browser/Cache\";\n\nimport xhr from \"../utils/fetch/xhr\";\n\nimport { createBrowserHistory } from \"history\";\nimport configureStore from \"../redux/store/configureStore\";\n\nimport rehydrate from \"./rehydrate\";\nimport {\n getBasePathModularUI,\n getBasePathServer,\n getSetting,\n} from \"../constants/Settings\";\n\nimport {\n setAllContentInDataSetting,\n setLoginPreferences,\n} from \"../redux/actions/Preferences\";\nimport { showXHRErrorNotification } from \"../redux/actions/Notification\";\n\nimport { handleError } from \"../redux/actions/Error\";\nimport { loginSuccess } from \"../redux/actions/SignIn\";\n\nimport { locationChange, replace } from \"../redux/_router/RouterActions\";\n\nimport { JsonParseException, FetchException } from \"../exceptions\";\n\nimport { Init } from \"./Init\";\n\nimport { handleBeforeRenderHooks } from \"../redux/store/beforeRenderHooks\";\n\nimport type {\n ComponentType,\n Element as ReactElement,\n ElementType,\n} from \"react\";\nimport type { Theme } from \"../react-theme/types\";\nimport type { CustomReducers, ReduxStore } from \"../redux/types\";\nimport type { RouterHistory } from \"react-router\";\nimport type { BeforeRenderHook } from \"../redux/store/beforeRenderHooks\";\nimport type { Props as FallbackProps } from \"../react/ErrorBoundaryFallback\";\n\ntype RenderFunction = () => ReactElement<ElementType>;\ntype MountFunction = (\n applicationNode: Element,\n element: ReactElement<ElementType>,\n) => void;\ntype Props = {\n customReducers?: CustomReducers,\n theme?: Theme | Array<Theme>,\n render: RenderFunction,\n mount: MountFunction,\n beforeRenderHooks?: Array<BeforeRenderHook>,\n ErrorFallbackComponent?: ComponentType<FallbackProps>,\n};\n\n/*\n * deserialize serialized data from the server to provide a smooth dehydration.\n */\nconst parseDataToJSON = (data: string) => {\n try {\n return JSON.parse(data);\n } catch (error) {\n throw new JsonParseException(`Error parsing content ${data}`);\n }\n};\n\nconst getDataFromServer = () => {\n const dataElement = document.querySelector(\n 'script[type=\"application/json\"][data-app-state=\"app-json\"]',\n );\n\n if (!dataElement) {\n throw new Error(\"Error loading state, json not found\");\n } else if (dataElement.textContent.trim() === \"\") {\n return {};\n }\n\n return parseDataToJSON(dataElement.textContent);\n};\n\n/**\n */\nexport const setUnhandledRejectionEvent = (store: ReduxStore) => {\n window.onunhandledrejection = (event) => {\n if (event.detail) {\n return setImmediate(() => {\n const errorMessage = event.detail.reason.message.toString();\n\n store.dispatch(showXHRErrorNotification(errorMessage));\n throw event.detail.reason;\n });\n }\n\n return event;\n };\n};\n\n/**\n * The redirectURI querystring parameter is available when the server is redirecting an unauthorized deep link\n * @param store\n */\nconst handleRedirectURI = (store: ReduxStore) => {\n const urlParams = new URLSearchParams(window.location.search);\n const redirectURI = urlParams.get(\"redirectURI\");\n if (redirectURI) {\n xhr({ url: `${getBasePathModularUI()}${redirectURI}` }).catch((e) => {\n if (\n e.id === \"UnauthorizedException\" ||\n e.id === \"Error.NotAuthorized\" ||\n e.id === \"Error.Authentication.Required\" ||\n e.id === \"Error.Authentication.InvalidCredentials\"\n ) {\n const LOGIN_PATH = getSetting(\"LOGIN_PATH\", \"/signin\");\n store.dispatch(\n replace(LOGIN_PATH, {\n from: { pathname: redirectURI },\n modal: false,\n }),\n );\n }\n });\n }\n};\n\n/**\n */\nexport const setupClient = (\n customReducers: CustomReducers = {},\n beforeRenderHooks: ?Array<BeforeRenderHook>,\n): { store: ReduxStore, routerHistory: RouterHistory } => {\n if (typeof window.contextPath === \"undefined\") {\n throw new Error(\"Missing contextPath on window object\");\n }\n\n const data = getDataFromServer();\n\n // remove all resources from cache\n Cache.clear(\"^res:\");\n\n // $FlowExpectedError\n const browserHistory: RouterHistory = createBrowserHistory({\n basename: getBasePathServer(),\n });\n const { routerHistory, store } = configureStore(\n browserHistory,\n customReducers,\n rehydrate(data),\n );\n\n handleRedirectURI(store);\n\n setAllContentInDataSetting(store.getState());\n setLoginPreferences(store.getState());\n\n // load existing cache from other browser tabs\n Cache.loadOtherBrowserTabs(() => {\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n });\n\n if (has(data, \"error.name\")) {\n const error = new FetchException(data?.error?.response);\n store.dispatch(handleError(error));\n }\n\n if (Cache.getItem(\"auth\")) {\n store.dispatch(loginSuccess());\n }\n\n // listen to history change and update the redux router store\n routerHistory.listen((location, action) => {\n store.dispatch(locationChange(location, action));\n });\n\n setUnhandledRejectionEvent(store);\n\n if (document.body) {\n document.body.className = \"js\";\n }\n\n if (beforeRenderHooks) {\n handleBeforeRenderHooks(beforeRenderHooks, { store });\n }\n\n return { store, routerHistory };\n};\n\n/**\n */\nexport const addContentLoadedEvent = (\n store: ReduxStore,\n routerHistory: RouterHistory,\n theme?: Theme | Array<Theme>,\n render: RenderFunction,\n ErrorFallbackComponent?: ComponentType<FallbackProps>,\n mount: MountFunction,\n) => {\n window.addEventListener(\"DOMContentLoaded\", () => {\n const applicationNode = document.querySelector(\"#application\");\n if (!applicationNode) {\n throw new Error(\n \"No DOM element with id application found to attach client to\",\n );\n }\n\n mount(\n applicationNode,\n <Init\n store={store}\n routerHistory={routerHistory}\n contextPath={window.contextPath}\n theme={theme}\n ErrorFallbackComponent={ErrorFallbackComponent}\n >\n {render()}\n </Init>,\n );\n });\n};\n\n/**\n */\nconst mountClient = (\n applicationNode: Element,\n element: ReactElement<ElementType>,\n) => {\n const isSSR = applicationNode.querySelector(\".application\");\n if (isSSR) {\n hydrate(element, applicationNode);\n } else {\n render(element, applicationNode);\n }\n};\n\n/**\n * Mount the webapplication to the DOM, setup redux store and caches, add unhandledRejectionEvent, used client side when JavaScript is enabled.\n */\nexport const client = ({\n customReducers,\n theme,\n render,\n beforeRenderHooks,\n ErrorFallbackComponent,\n mount,\n}: Props) => {\n const { store, routerHistory } = setupClient(\n customReducers,\n beforeRenderHooks,\n );\n\n addContentLoadedEvent(\n store,\n routerHistory,\n theme,\n render,\n ErrorFallbackComponent,\n mount ?? mountClient,\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -38,7 +38,7 @@ const renderSSRComplete = _ref => {
38
38
  // $FlowFixMe[incompatible-type]
39
39
  // $FlowFixMe[prop-missing]
40
40
  const location = requestHref.toLocation();
41
- const basePath = (0, _Settings.getBasePath)();
41
+ const basePath = (0, _Settings.getBasePathServer)();
42
42
  return (0, _createSSRComplete.default)(store, () => (0, _server.renderToString)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactRedux.Provider, {
43
43
  store: store,
44
44
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledComponents.StyleSheetManager, {
@@ -10,7 +10,7 @@ import { ServerStyleSheet, StyleSheetManager } from "styled-components";
10
10
  import createSSRComplete from "./createSSRComplete";
11
11
  import htmlpage from "./htmlpage";
12
12
 
13
- import { getBasePath } from "../constants/Settings";
13
+ import { getBasePathServer } from "../constants/Settings";
14
14
 
15
15
  import ThemeProvider from "../react-theme/ThemeProvider";
16
16
  import ErrorBoundary from "../react/ErrorBoundary";
@@ -52,7 +52,7 @@ const renderSSRComplete = ({
52
52
  // $FlowFixMe[prop-missing]
53
53
  const location: Location = requestHref.toLocation();
54
54
 
55
- const basePath = getBasePath();
55
+ const basePath = getBasePathServer();
56
56
 
57
57
  return createSSRComplete(store, () =>
58
58
  renderToString(
@@ -1 +1 @@
1
- {"version":3,"file":"renderSSRComplete.js","names":["_server","require","_reactRedux","_reactRouter","_reactHelmetAsync","_styledComponents","_createSSRComplete","_interopRequireDefault","_htmlpage","_Settings","_ThemeProvider","_ErrorBoundary","_serverUtil","_jsxRuntime","renderSSRComplete","_ref","store","theme","UUID","requestHref","render","ErrorPage","template","htmlpage","helmetContext","helmet","routerContext","sheet","ServerStyleSheet","location","toLocation","basePath","getBasePath","createSSRComplete","renderToString","jsx","Provider","children","StyleSheetManager","instance","default","HelmetProvider","context","StaticRouter","basename","then","appHTML","handleErrors","head","createHead","contextPath","html","state","dehydrate","catch","error","errorMessage","message","errorResource","fileName","errorLine","lineNumber","errorStack","stack","_default","exports"],"sources":["../../src/react-server/renderSSRComplete.js"],"sourcesContent":["// @flow\nimport { renderToString } from \"react-dom/server\";\nimport { Provider } from \"react-redux\";\nimport { StaticRouter as Router } from \"react-router\";\n\nimport { HelmetProvider } from \"react-helmet-async\";\n\nimport { ServerStyleSheet, StyleSheetManager } from \"styled-components\";\n\nimport createSSRComplete from \"./createSSRComplete\";\nimport htmlpage from \"./htmlpage\";\n\nimport { getBasePath } from \"../constants/Settings\";\n\nimport ThemeProvider from \"../react-theme/ThemeProvider\";\nimport ErrorBoundary from \"../react/ErrorBoundary\";\n\nimport { createHead, handleErrors, dehydrate } from \"./serverUtil\";\n\nimport type { Theme } from \"../react-theme/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type Href from \"../models/href/Href\";\nimport type { TemplateProps } from \"./htmlpage\";\nimport type { Location } from \"react-router\";\n\ntype Props = {\n store: ReduxStore,\n theme: Theme,\n UUID: string,\n requestHref: Href,\n render: Function,\n ErrorPage: any,\n template?: (TemplateProps) => string,\n};\n/**\n */\nconst renderSSRComplete = ({\n store,\n theme,\n UUID = \"\",\n requestHref,\n render,\n ErrorPage,\n template = htmlpage,\n}: Props): Promise<string> => {\n const helmetContext = { helmet: {} };\n const routerContext = {};\n\n const sheet = new ServerStyleSheet();\n\n // $FlowFixMe[incompatible-type]\n // $FlowFixMe[prop-missing]\n const location: Location = requestHref.toLocation();\n\n const basePath = getBasePath();\n\n return createSSRComplete(store, () =>\n renderToString(\n <Provider store={store}>\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>\n <HelmetProvider context={helmetContext}>\n <ErrorBoundary>\n <Router\n basename={basePath}\n location={location}\n context={routerContext}\n >\n {render()}\n </Router>\n </ErrorBoundary>\n </HelmetProvider>\n </ThemeProvider>\n </StyleSheetManager>\n </Provider>,\n ),\n )\n .then((appHTML) => {\n handleErrors(store);\n const head = createHead(sheet, UUID, helmetContext);\n return template({\n contextPath: basePath,\n html: appHTML,\n head,\n state: dehydrate(store),\n UUID,\n });\n })\n .catch((error) =>\n template({\n contextPath: basePath,\n html: renderToString(\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>\n <ErrorPage\n errorMessage={error.message}\n errorResource={error.fileName}\n errorLine={error.lineNumber}\n errorStack={error.stack}\n />\n </ThemeProvider>\n </StyleSheetManager>,\n ),\n head: helmetContext.helmet,\n state: \"\",\n UUID,\n }),\n );\n};\n\nexport default renderSSRComplete;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"renderSSRComplete.js","names":["_server","require","_reactRedux","_reactRouter","_reactHelmetAsync","_styledComponents","_createSSRComplete","_interopRequireDefault","_htmlpage","_Settings","_ThemeProvider","_ErrorBoundary","_serverUtil","_jsxRuntime","renderSSRComplete","_ref","store","theme","UUID","requestHref","render","ErrorPage","template","htmlpage","helmetContext","helmet","routerContext","sheet","ServerStyleSheet","location","toLocation","basePath","getBasePathServer","createSSRComplete","renderToString","jsx","Provider","children","StyleSheetManager","instance","default","HelmetProvider","context","StaticRouter","basename","then","appHTML","handleErrors","head","createHead","contextPath","html","state","dehydrate","catch","error","errorMessage","message","errorResource","fileName","errorLine","lineNumber","errorStack","stack","_default","exports"],"sources":["../../src/react-server/renderSSRComplete.js"],"sourcesContent":["// @flow\nimport { renderToString } from \"react-dom/server\";\nimport { Provider } from \"react-redux\";\nimport { StaticRouter as Router } from \"react-router\";\n\nimport { HelmetProvider } from \"react-helmet-async\";\n\nimport { ServerStyleSheet, StyleSheetManager } from \"styled-components\";\n\nimport createSSRComplete from \"./createSSRComplete\";\nimport htmlpage from \"./htmlpage\";\n\nimport { getBasePathServer } from \"../constants/Settings\";\n\nimport ThemeProvider from \"../react-theme/ThemeProvider\";\nimport ErrorBoundary from \"../react/ErrorBoundary\";\n\nimport { createHead, handleErrors, dehydrate } from \"./serverUtil\";\n\nimport type { Theme } from \"../react-theme/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type Href from \"../models/href/Href\";\nimport type { TemplateProps } from \"./htmlpage\";\nimport type { Location } from \"react-router\";\n\ntype Props = {\n store: ReduxStore,\n theme: Theme,\n UUID: string,\n requestHref: Href,\n render: Function,\n ErrorPage: any,\n template?: (TemplateProps) => string,\n};\n/**\n */\nconst renderSSRComplete = ({\n store,\n theme,\n UUID = \"\",\n requestHref,\n render,\n ErrorPage,\n template = htmlpage,\n}: Props): Promise<string> => {\n const helmetContext = { helmet: {} };\n const routerContext = {};\n\n const sheet = new ServerStyleSheet();\n\n // $FlowFixMe[incompatible-type]\n // $FlowFixMe[prop-missing]\n const location: Location = requestHref.toLocation();\n\n const basePath = getBasePathServer();\n\n return createSSRComplete(store, () =>\n renderToString(\n <Provider store={store}>\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>\n <HelmetProvider context={helmetContext}>\n <ErrorBoundary>\n <Router\n basename={basePath}\n location={location}\n context={routerContext}\n >\n {render()}\n </Router>\n </ErrorBoundary>\n </HelmetProvider>\n </ThemeProvider>\n </StyleSheetManager>\n </Provider>,\n ),\n )\n .then((appHTML) => {\n handleErrors(store);\n const head = createHead(sheet, UUID, helmetContext);\n return template({\n contextPath: basePath,\n html: appHTML,\n head,\n state: dehydrate(store),\n UUID,\n });\n })\n .catch((error) =>\n template({\n contextPath: basePath,\n html: renderToString(\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>\n <ErrorPage\n errorMessage={error.message}\n errorResource={error.fileName}\n errorLine={error.lineNumber}\n errorStack={error.stack}\n />\n </ThemeProvider>\n </StyleSheetManager>,\n ),\n head: helmetContext.helmet,\n state: \"\",\n UUID,\n }),\n );\n};\n\nexport default renderSSRComplete;\n"],"mappings":"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","ignoreList":[]}
@@ -36,7 +36,7 @@ const renderSSRMinimal = _ref => {
36
36
  }));
37
37
  const head = (0, _serverUtil.createHead)(sheet, UUID);
38
38
  return template({
39
- contextPath: (0, _Settings.getBasePath)(),
39
+ contextPath: (0, _Settings.getBasePathServer)(),
40
40
  html: appHTML,
41
41
  head,
42
42
  state: (0, _serverUtil.dehydrate)(store),
@@ -6,7 +6,7 @@ import { Provider } from "react-redux";
6
6
  import { ServerStyleSheet, StyleSheetManager } from "styled-components";
7
7
  import ThemeProvider from "../react-theme/ThemeProvider";
8
8
 
9
- import { getBasePath } from "../constants/Settings";
9
+ import { getBasePathServer } from "../constants/Settings";
10
10
 
11
11
  import { createHead, dehydrate } from "./serverUtil";
12
12
  import htmlpage from "./htmlpage";
@@ -43,7 +43,7 @@ const renderSSRMinimal = ({
43
43
 
44
44
  const head = createHead(sheet, UUID);
45
45
  return template({
46
- contextPath: getBasePath(),
46
+ contextPath: getBasePathServer(),
47
47
  html: appHTML,
48
48
  head,
49
49
  state: dehydrate(store),
@@ -1 +1 @@
1
- {"version":3,"file":"renderSSRMinimal.js","names":["_server","require","_reactRedux","_styledComponents","_ThemeProvider","_interopRequireDefault","_Settings","_serverUtil","_htmlpage","_jsxRuntime","renderSSRMinimal","_ref","store","theme","UUID","render","template","htmlpage","sheet","ServerStyleSheet","appHTML","renderToString","jsx","Provider","children","StyleSheetManager","instance","default","head","createHead","contextPath","getBasePath","html","state","dehydrate","_default","exports"],"sources":["../../src/react-server/renderSSRMinimal.js"],"sourcesContent":["// @flow\nimport { renderToString } from \"react-dom/server\";\n\nimport { Provider } from \"react-redux\";\n\nimport { ServerStyleSheet, StyleSheetManager } from \"styled-components\";\nimport ThemeProvider from \"../react-theme/ThemeProvider\";\n\nimport { getBasePath } from \"../constants/Settings\";\n\nimport { createHead, dehydrate } from \"./serverUtil\";\nimport htmlpage from \"./htmlpage\";\n\nimport type { Theme } from \"../react-theme/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type { TemplateProps } from \"./htmlpage\";\ntype Props = {\n store: ReduxStore,\n theme?: Theme | Array<Theme>,\n UUID: string,\n render: Function,\n template?: (TemplateProps) => string,\n};\n\n/**\n */\nconst renderSSRMinimal = ({\n store,\n theme,\n UUID = \"\",\n render,\n template = htmlpage,\n}: Props): string => {\n const sheet = new ServerStyleSheet();\n\n const appHTML = renderToString(\n <Provider store={store}>\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>{render()}</ThemeProvider>\n </StyleSheetManager>\n </Provider>,\n );\n\n const head = createHead(sheet, UUID);\n return template({\n contextPath: getBasePath(),\n html: appHTML,\n head,\n state: dehydrate(store),\n UUID,\n });\n};\n\nexport default renderSSRMinimal;\n"],"mappings":";;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEA,IAAAK,SAAA,GAAAL,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAH,sBAAA,CAAAJ,OAAA;AAAkC,IAAAQ,WAAA,GAAAR,OAAA;AAalC;AACA;AACA,MAAMS,gBAAgB,GAAGC,IAAA,IAMJ;EAAA,IANK;IACxBC,KAAK;IACLC,KAAK;IACLC,IAAI,GAAG,EAAE;IACTC,MAAM;IACNC,QAAQ,GAAGC;EACN,CAAC,GAAAN,IAAA;EACN,MAAMO,KAAK,GAAG,IAAIC,kCAAgB,CAAC,CAAC;EAEpC,MAAMC,OAAO,GAAG,IAAAC,sBAAc,eAC5B,IAAAZ,WAAA,CAAAa,GAAA,EAACpB,WAAA,CAAAqB,QAAQ;IAACX,KAAK,EAAEA,KAAM;IAAAY,QAAA,eACrB,IAAAf,WAAA,CAAAa,GAAA,EAACnB,iBAAA,CAAAsB,iBAAiB;MAACP,KAAK,EAAEA,KAAK,CAACQ,QAAS;MAAAF,QAAA,eACvC,IAAAf,WAAA,CAAAa,GAAA,EAAClB,cAAA,CAAAuB,OAAa;QAACd,KAAK,EAAEA,KAAM;QAAAW,QAAA,EAAET,MAAM,CAAC;MAAC,CAAgB;IAAC,CACtC;EAAC,CACZ,CACZ,CAAC;EAED,MAAMa,IAAI,GAAG,IAAAC,sBAAU,EAACX,KAAK,EAAEJ,IAAI,CAAC;EACpC,OAAOE,QAAQ,CAAC;IACdc,WAAW,EAAE,IAAAC,qBAAW,EAAC,CAAC;IAC1BC,IAAI,EAAEZ,OAAO;IACbQ,IAAI;IACJK,KAAK,EAAE,IAAAC,qBAAS,EAACtB,KAAK,CAAC;IACvBE;EACF,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAqB,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEajB,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"renderSSRMinimal.js","names":["_server","require","_reactRedux","_styledComponents","_ThemeProvider","_interopRequireDefault","_Settings","_serverUtil","_htmlpage","_jsxRuntime","renderSSRMinimal","_ref","store","theme","UUID","render","template","htmlpage","sheet","ServerStyleSheet","appHTML","renderToString","jsx","Provider","children","StyleSheetManager","instance","default","head","createHead","contextPath","getBasePathServer","html","state","dehydrate","_default","exports"],"sources":["../../src/react-server/renderSSRMinimal.js"],"sourcesContent":["// @flow\nimport { renderToString } from \"react-dom/server\";\n\nimport { Provider } from \"react-redux\";\n\nimport { ServerStyleSheet, StyleSheetManager } from \"styled-components\";\nimport ThemeProvider from \"../react-theme/ThemeProvider\";\n\nimport { getBasePathServer } from \"../constants/Settings\";\n\nimport { createHead, dehydrate } from \"./serverUtil\";\nimport htmlpage from \"./htmlpage\";\n\nimport type { Theme } from \"../react-theme/types\";\nimport type { ReduxStore } from \"../redux/types\";\nimport type { TemplateProps } from \"./htmlpage\";\ntype Props = {\n store: ReduxStore,\n theme?: Theme | Array<Theme>,\n UUID: string,\n render: Function,\n template?: (TemplateProps) => string,\n};\n\n/**\n */\nconst renderSSRMinimal = ({\n store,\n theme,\n UUID = \"\",\n render,\n template = htmlpage,\n}: Props): string => {\n const sheet = new ServerStyleSheet();\n\n const appHTML = renderToString(\n <Provider store={store}>\n <StyleSheetManager sheet={sheet.instance}>\n <ThemeProvider theme={theme}>{render()}</ThemeProvider>\n </StyleSheetManager>\n </Provider>,\n );\n\n const head = createHead(sheet, UUID);\n return template({\n contextPath: getBasePathServer(),\n html: appHTML,\n head,\n state: dehydrate(store),\n UUID,\n });\n};\n\nexport default renderSSRMinimal;\n"],"mappings":";;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEA,IAAAK,SAAA,GAAAL,OAAA;AAEA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAH,sBAAA,CAAAJ,OAAA;AAAkC,IAAAQ,WAAA,GAAAR,OAAA;AAalC;AACA;AACA,MAAMS,gBAAgB,GAAGC,IAAA,IAMJ;EAAA,IANK;IACxBC,KAAK;IACLC,KAAK;IACLC,IAAI,GAAG,EAAE;IACTC,MAAM;IACNC,QAAQ,GAAGC;EACN,CAAC,GAAAN,IAAA;EACN,MAAMO,KAAK,GAAG,IAAIC,kCAAgB,CAAC,CAAC;EAEpC,MAAMC,OAAO,GAAG,IAAAC,sBAAc,eAC5B,IAAAZ,WAAA,CAAAa,GAAA,EAACpB,WAAA,CAAAqB,QAAQ;IAACX,KAAK,EAAEA,KAAM;IAAAY,QAAA,eACrB,IAAAf,WAAA,CAAAa,GAAA,EAACnB,iBAAA,CAAAsB,iBAAiB;MAACP,KAAK,EAAEA,KAAK,CAACQ,QAAS;MAAAF,QAAA,eACvC,IAAAf,WAAA,CAAAa,GAAA,EAAClB,cAAA,CAAAuB,OAAa;QAACd,KAAK,EAAEA,KAAM;QAAAW,QAAA,EAAET,MAAM,CAAC;MAAC,CAAgB;IAAC,CACtC;EAAC,CACZ,CACZ,CAAC;EAED,MAAMa,IAAI,GAAG,IAAAC,sBAAU,EAACX,KAAK,EAAEJ,IAAI,CAAC;EACpC,OAAOE,QAAQ,CAAC;IACdc,WAAW,EAAE,IAAAC,2BAAiB,EAAC,CAAC;IAChCC,IAAI,EAAEZ,OAAO;IACbQ,IAAI;IACJK,KAAK,EAAE,IAAAC,qBAAS,EAACtB,KAAK,CAAC;IACvBE;EACF,CAAC,CAAC;AACJ,CAAC;AAAC,IAAAqB,QAAA,GAAAC,OAAA,CAAAT,OAAA,GAEajB,gBAAgB","ignoreList":[]}
@@ -95,7 +95,10 @@ const loadModel = (key, href, options) => ({
95
95
  key,
96
96
  origin: options?.origin,
97
97
  contextPath: options?.contextPath,
98
- href: href instanceof _Href.default ? href : new _Href.default(href, "", options?.origin, options?.contextPath),
98
+ href: href instanceof _Href.default ? href : new _Href.default(href, "", {
99
+ origin: options?.origin,
100
+ contextPath: options?.contextPath
101
+ }),
99
102
  method: options?.method ?? _Constants.HTTP_METHODS.GET,
100
103
  data: options?.data,
101
104
  locale: options?.locale ?? "en",
@@ -109,7 +112,10 @@ const loadModel = (key, href, options) => ({
109
112
  /**
110
113
  */
111
114
  errorAction: error => {
112
- const errorResponse = new _ErrorResponse.default(error, key, options?.origin, options?.contextPath);
115
+ const errorResponse = new _ErrorResponse.default(error, key, {
116
+ origin: options?.origin,
117
+ contextPath: options?.contextPath
118
+ });
113
119
  if (errorResponse.isChangePassword) {
114
120
  return {
115
121
  type: "NO_ACTION"
@@ -115,7 +115,10 @@ export const loadModel = (
115
115
  href:
116
116
  href instanceof Href
117
117
  ? href
118
- : new Href(href, "", options?.origin, options?.contextPath),
118
+ : new Href(href, "", {
119
+ origin: options?.origin,
120
+ contextPath: options?.contextPath,
121
+ }),
119
122
  method: options?.method ?? HTTP_METHODS.GET,
120
123
  data: options?.data,
121
124
  locale: options?.locale ?? "en",
@@ -130,12 +133,10 @@ export const loadModel = (
130
133
  /**
131
134
  */
132
135
  errorAction: (error) => {
133
- const errorResponse = new ErrorResponse(
134
- error,
135
- key,
136
- options?.origin,
137
- options?.contextPath,
138
- );
136
+ const errorResponse = new ErrorResponse(error, key, {
137
+ origin: options?.origin,
138
+ contextPath: options?.contextPath,
139
+ });
139
140
  if (errorResponse.isChangePassword) {
140
141
  return {
141
142
  type: "NO_ACTION",
@@ -1 +1 @@
1
- {"version":3,"file":"ModularUIActions.js","names":["_Constants","require","_Href","_interopRequireDefault","_ErrorResponse","_ProgressIndicator","_Error","setModel","key","model","connectKey","type","payload","exports","initModels","models","updateModel","updateForm","removeModelByKey","resetModularUI","updateStatus","status","loadModelSuccessAction","updateHandler","loadModel","href","options","origin","contextPath","Href","method","HTTP_METHODS","GET","data","locale","childmodels","targetModel","forceTargetModel","cache","successAction","errorAction","error","errorResponse","ErrorResponse","isChangePassword","isResourceNotFoundAfterReload","MODULARUI_STATUS","ERROR","loadModularUI","dispatch","getState","modularuiStore","modularui","LOADING","startProgress","loadModelPromise","_promise","default","resolve","then","finishProgress","catch","handleError","reloadModel","selfhref","isReload"],"sources":["../../../src/redux/_modularui/ModularUIActions.js"],"sourcesContent":["// @flow\nimport { HTTP_METHODS, MODULARUI_STATUS } from \"../../constants/Constants\";\nimport Href from \"../../models/href/Href\";\nimport ErrorResponse from \"../../models/error/ErrorResponse\";\nimport { finishProgress, startProgress } from \"../actions/ProgressIndicator\";\nimport { handleError } from \"../actions/Error\";\n\nimport type { ModularUIModel } from \"../../models/types\";\nimport type { Dispatch, ThunkAction } from \"../types\";\nimport type {\n ModularUIAction,\n SetModelAction,\n InitModelAction,\n UpdateModelAction,\n UpdateFormAction,\n RemoveModelByKeyAction,\n ResetModularUIAction,\n UpdateStatusAction,\n} from \"./types\";\nimport type {\n RequestModularUIOptions,\n UpdateHandler,\n} from \"../../utils/fetch/types\";\n\n/**\n */\nexport const setModel = (\n key: string,\n model: ModularUIModel,\n): SetModelAction => {\n // set key on model for later reference\n model.connectKey = key;\n return {\n type: \"MODULARUI/SET\",\n payload: {\n key,\n model,\n },\n };\n};\n\n/**\n */\nexport const initModels = (\n models: Array<{ key: string, model: ModularUIModel }>,\n): InitModelAction => ({\n type: \"MODULARUI/INIT\",\n payload: models,\n});\n\n/**\n */\nexport const updateModel = (model: ModularUIModel): UpdateModelAction => ({\n type: \"MODULARUI/UPDATE\",\n payload: model,\n});\n\n/**\n */\nexport const updateForm = (model: ModularUIModel): UpdateFormAction => ({\n type: \"MODULARUI/UPDATE_FORM\",\n payload: model,\n});\n\n/**\n */\nexport const removeModelByKey = (key: string): RemoveModelByKeyAction => ({\n type: \"MODULARUI/REMOVE_KEY\",\n payload: key,\n});\n\n/**\n * Removes all models except the application model from the modular ui reducer\n */\nexport const resetModularUI = (): ResetModularUIAction => ({\n type: \"MODULARUI/RESET\",\n});\n\n/**\n */\nexport const updateStatus = (\n key: string,\n status: $Keys<typeof MODULARUI_STATUS>,\n): UpdateStatusAction => ({\n type: \"MODULARUI/STATUS\",\n payload: { key, status },\n});\n\n/**\n */\nconst loadModelSuccessAction = (\n key: string,\n model: ModularUIModel,\n updateHandler: UpdateHandler | void,\n): UpdateModelAction | SetModelAction => {\n if (updateHandler) {\n return updateModel(updateHandler(model));\n }\n return setModel(key, model);\n};\n\n/**\n * This action is handled by the modularui middleware\n */\nexport const loadModel = (\n key: string,\n href: Href | string,\n options?: RequestModularUIOptions,\n): ModularUIAction => ({\n type: \"MODULARUI/FETCH\",\n payload: {\n key,\n origin: options?.origin,\n contextPath: options?.contextPath,\n href:\n href instanceof Href\n ? href\n : new Href(href, \"\", options?.origin, options?.contextPath),\n method: options?.method ?? HTTP_METHODS.GET,\n data: options?.data,\n locale: options?.locale ?? \"en\",\n childmodels: options?.childmodels,\n targetModel: options?.targetModel,\n forceTargetModel: options?.forceTargetModel,\n cache: options?.cache,\n /**\n */\n successAction: (model) =>\n loadModelSuccessAction(key, model, options?.updateHandler),\n /**\n */\n errorAction: (error) => {\n const errorResponse = new ErrorResponse(\n error,\n key,\n options?.origin,\n options?.contextPath,\n );\n if (errorResponse.isChangePassword) {\n return {\n type: \"NO_ACTION\",\n };\n } else if (errorResponse.isResourceNotFoundAfterReload) {\n return removeModelByKey(key);\n }\n\n return updateStatus(key, MODULARUI_STATUS.ERROR);\n },\n },\n});\n\n/**\n */\nexport const loadModularUI =\n (\n key: string,\n href: Href | string,\n options?: RequestModularUIOptions,\n ): ThunkAction =>\n (dispatch: Dispatch, getState) => {\n const modularuiStore = getState()?.modularui;\n if (\n modularuiStore &&\n modularuiStore[key]?.status === MODULARUI_STATUS.LOADING\n ) {\n // don't create duplicate requests during loading\n return dispatch({\n type: \"NO_ACTION\",\n });\n }\n\n dispatch(startProgress());\n\n const loadModelPromise = dispatch(loadModel(key, href, options));\n\n return Promise.resolve(loadModelPromise)\n .then(() => dispatch(finishProgress()))\n .catch((error) => dispatch(handleError(error)));\n };\n\n/**\n */\nexport const reloadModel = (\n model: ModularUIModel,\n options?: RequestModularUIOptions,\n): ThunkAction =>\n loadModularUI(model.connectKey, model.selfhref, {\n ...options,\n isReload: true,\n });\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModularUIActions.js","names":["_Constants","require","_Href","_interopRequireDefault","_ErrorResponse","_ProgressIndicator","_Error","setModel","key","model","connectKey","type","payload","exports","initModels","models","updateModel","updateForm","removeModelByKey","resetModularUI","updateStatus","status","loadModelSuccessAction","updateHandler","loadModel","href","options","origin","contextPath","Href","method","HTTP_METHODS","GET","data","locale","childmodels","targetModel","forceTargetModel","cache","successAction","errorAction","error","errorResponse","ErrorResponse","isChangePassword","isResourceNotFoundAfterReload","MODULARUI_STATUS","ERROR","loadModularUI","dispatch","getState","modularuiStore","modularui","LOADING","startProgress","loadModelPromise","_promise","default","resolve","then","finishProgress","catch","handleError","reloadModel","selfhref","isReload"],"sources":["../../../src/redux/_modularui/ModularUIActions.js"],"sourcesContent":["// @flow\nimport { HTTP_METHODS, MODULARUI_STATUS } from \"../../constants/Constants\";\nimport Href from \"../../models/href/Href\";\nimport ErrorResponse from \"../../models/error/ErrorResponse\";\nimport { finishProgress, startProgress } from \"../actions/ProgressIndicator\";\nimport { handleError } from \"../actions/Error\";\n\nimport type { ModularUIModel } from \"../../models/types\";\nimport type { Dispatch, ThunkAction } from \"../types\";\nimport type {\n ModularUIAction,\n SetModelAction,\n InitModelAction,\n UpdateModelAction,\n UpdateFormAction,\n RemoveModelByKeyAction,\n ResetModularUIAction,\n UpdateStatusAction,\n} from \"./types\";\nimport type {\n RequestModularUIOptions,\n UpdateHandler,\n} from \"../../utils/fetch/types\";\n\n/**\n */\nexport const setModel = (\n key: string,\n model: ModularUIModel,\n): SetModelAction => {\n // set key on model for later reference\n model.connectKey = key;\n return {\n type: \"MODULARUI/SET\",\n payload: {\n key,\n model,\n },\n };\n};\n\n/**\n */\nexport const initModels = (\n models: Array<{ key: string, model: ModularUIModel }>,\n): InitModelAction => ({\n type: \"MODULARUI/INIT\",\n payload: models,\n});\n\n/**\n */\nexport const updateModel = (model: ModularUIModel): UpdateModelAction => ({\n type: \"MODULARUI/UPDATE\",\n payload: model,\n});\n\n/**\n */\nexport const updateForm = (model: ModularUIModel): UpdateFormAction => ({\n type: \"MODULARUI/UPDATE_FORM\",\n payload: model,\n});\n\n/**\n */\nexport const removeModelByKey = (key: string): RemoveModelByKeyAction => ({\n type: \"MODULARUI/REMOVE_KEY\",\n payload: key,\n});\n\n/**\n * Removes all models except the application model from the modular ui reducer\n */\nexport const resetModularUI = (): ResetModularUIAction => ({\n type: \"MODULARUI/RESET\",\n});\n\n/**\n */\nexport const updateStatus = (\n key: string,\n status: $Keys<typeof MODULARUI_STATUS>,\n): UpdateStatusAction => ({\n type: \"MODULARUI/STATUS\",\n payload: { key, status },\n});\n\n/**\n */\nconst loadModelSuccessAction = (\n key: string,\n model: ModularUIModel,\n updateHandler: UpdateHandler | void,\n): UpdateModelAction | SetModelAction => {\n if (updateHandler) {\n return updateModel(updateHandler(model));\n }\n return setModel(key, model);\n};\n\n/**\n * This action is handled by the modularui middleware\n */\nexport const loadModel = (\n key: string,\n href: Href | string,\n options?: RequestModularUIOptions,\n): ModularUIAction => ({\n type: \"MODULARUI/FETCH\",\n payload: {\n key,\n origin: options?.origin,\n contextPath: options?.contextPath,\n href:\n href instanceof Href\n ? href\n : new Href(href, \"\", {\n origin: options?.origin,\n contextPath: options?.contextPath,\n }),\n method: options?.method ?? HTTP_METHODS.GET,\n data: options?.data,\n locale: options?.locale ?? \"en\",\n childmodels: options?.childmodels,\n targetModel: options?.targetModel,\n forceTargetModel: options?.forceTargetModel,\n cache: options?.cache,\n /**\n */\n successAction: (model) =>\n loadModelSuccessAction(key, model, options?.updateHandler),\n /**\n */\n errorAction: (error) => {\n const errorResponse = new ErrorResponse(error, key, {\n origin: options?.origin,\n contextPath: options?.contextPath,\n });\n if (errorResponse.isChangePassword) {\n return {\n type: \"NO_ACTION\",\n };\n } else if (errorResponse.isResourceNotFoundAfterReload) {\n return removeModelByKey(key);\n }\n\n return updateStatus(key, MODULARUI_STATUS.ERROR);\n },\n },\n});\n\n/**\n */\nexport const loadModularUI =\n (\n key: string,\n href: Href | string,\n options?: RequestModularUIOptions,\n ): ThunkAction =>\n (dispatch: Dispatch, getState) => {\n const modularuiStore = getState()?.modularui;\n if (\n modularuiStore &&\n modularuiStore[key]?.status === MODULARUI_STATUS.LOADING\n ) {\n // don't create duplicate requests during loading\n return dispatch({\n type: \"NO_ACTION\",\n });\n }\n\n dispatch(startProgress());\n\n const loadModelPromise = dispatch(loadModel(key, href, options));\n\n return Promise.resolve(loadModelPromise)\n .then(() => dispatch(finishProgress()))\n .catch((error) => dispatch(handleError(error)));\n };\n\n/**\n */\nexport const reloadModel = (\n model: ModularUIModel,\n options?: RequestModularUIOptions,\n): ThunkAction =>\n loadModularUI(model.connectKey, model.selfhref, {\n ...options,\n isReload: true,\n });\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useUrl = exports.useReload = exports.getKey = void 0;
8
- var _startsWith = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/starts-with"));
9
8
  var _react = require("react");
10
9
  var _utils = require("../../react/utils");
11
10
  var _Constants = require("../../constants/Constants");
@@ -16,15 +15,15 @@ var _Href = _interopRequireDefault(require("../../models/href/Href"));
16
15
  const getUrl = (resource, props) => {
17
16
  const url = typeof resource === "function" ? resource(props) : resource;
18
17
  if (url instanceof _Href.default) {
19
- return url.toString();
18
+ return url;
20
19
  }
21
- return url || "";
20
+ return new _Href.default(url);
22
21
  };
23
22
 
24
23
  /**
25
24
  */
26
25
  const useUrl = (resource, props) => {
27
- const [previousUrl, setPreviousUrl] = (0, _react.useState)("");
26
+ const [previousUrl, setPreviousUrl] = (0, _react.useState)(null);
28
27
  const [previousExact, setPreviousExact] = (0, _react.useState)(false);
29
28
  const url = getUrl(resource, props);
30
29
  const {
@@ -36,21 +35,19 @@ const useUrl = (resource, props) => {
36
35
  if (!match) {
37
36
  return url;
38
37
  }
39
- const isDifferentUrl = url !== previousUrl;
40
- if (!isDifferentUrl) {
41
- return previousUrl;
38
+ if (url.equals(previousUrl)) {
39
+ return url;
42
40
  }
43
- const hasDifferentStartUriPart = previousUrl !== "" && !(0, _startsWith.default)(previousUrl).call(previousUrl, match.url);
44
41
 
45
42
  // Always create an url when the match is exact
46
43
  // Or when the match is not exact AND the original match also was not exact
47
- // Or when the new start uri is different from the previous url
48
- if (match.isExact === true || previousExact === match.isExact || hasDifferentStartUriPart) {
44
+ // Or when the new start uri is different from the previous url --> different resource for same panel
45
+ if (match.isExact === true || previousExact === match.isExact || !previousUrl?.startsWith(match.url)) {
49
46
  setPreviousUrl(url);
50
47
  setPreviousExact(match.isExact);
51
48
  return url;
52
49
  }
53
- return previousUrl;
50
+ return previousUrl || new _Href.default("");
54
51
  };
55
52
 
56
53
  /**
@@ -10,20 +10,23 @@ import type { ComponentType } from "react";
10
10
  /**
11
11
  * Generate modular ui url
12
12
  */
13
- const getUrl = (resource: string | Function, props: Object) => {
13
+ const getUrl = (resource: string | Function | Href, props: Object): Href => {
14
14
  const url = typeof resource === "function" ? resource(props) : resource;
15
15
 
16
16
  if (url instanceof Href) {
17
- return url.toString();
17
+ return url;
18
18
  }
19
19
 
20
- return url || "";
20
+ return new Href(url);
21
21
  };
22
22
 
23
23
  /**
24
24
  */
25
- export const useUrl = (resource: string | Function, props: Object): string => {
26
- const [previousUrl, setPreviousUrl] = useState("");
25
+ export const useUrl = (
26
+ resource: string | Function | Href,
27
+ props: Object,
28
+ ): Href => {
29
+ const [previousUrl, setPreviousUrl] = useState(null);
27
30
  const [previousExact, setPreviousExact] = useState(false);
28
31
 
29
32
  const url = getUrl(resource, props);
@@ -36,21 +39,17 @@ export const useUrl = (resource: string | Function, props: Object): string => {
36
39
  return url;
37
40
  }
38
41
 
39
- const isDifferentUrl = url !== previousUrl;
40
- if (!isDifferentUrl) {
41
- return previousUrl;
42
+ if (url.equals(previousUrl)) {
43
+ return url;
42
44
  }
43
45
 
44
- const hasDifferentStartUriPart =
45
- previousUrl !== "" && !previousUrl.startsWith(match.url);
46
-
47
46
  // Always create an url when the match is exact
48
47
  // Or when the match is not exact AND the original match also was not exact
49
- // Or when the new start uri is different from the previous url
48
+ // Or when the new start uri is different from the previous url --> different resource for same panel
50
49
  if (
51
50
  match.isExact === true ||
52
51
  previousExact === match.isExact ||
53
- hasDifferentStartUriPart
52
+ !previousUrl?.startsWith(match.url)
54
53
  ) {
55
54
  setPreviousUrl(url);
56
55
  setPreviousExact(match.isExact);
@@ -58,7 +57,7 @@ export const useUrl = (resource: string | Function, props: Object): string => {
58
57
  return url;
59
58
  }
60
59
 
61
- return previousUrl;
60
+ return previousUrl || new Href("");
62
61
  };
63
62
 
64
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ModularUIUtils.js","names":["_react","require","_utils","_Constants","_Href","_interopRequireDefault","getUrl","resource","props","url","Href","toString","useUrl","previousUrl","setPreviousUrl","useState","previousExact","setPreviousExact","match","isDifferentUrl","hasDifferentStartUriPart","_startsWith","default","call","isExact","exports","getKey","WrappedComponent","name","getDisplayName","split","useReload","modelEntry","reload","arguments","length","undefined","isFullyLoaded","status","MODULARUI_STATUS","FINISHED","lastModification"],"sources":["../../../src/redux/_modularui/ModularUIUtils.js"],"sourcesContent":["// @flow\nimport { useState } from \"react\";\n\nimport { getDisplayName } from \"../../react/utils\";\nimport { MODULARUI_STATUS } from \"../../constants/Constants\";\nimport Href from \"../../models/href/Href\";\n\nimport type { ComponentType } from \"react\";\n\n/**\n * Generate modular ui url\n */\nconst getUrl = (resource: string | Function, props: Object) => {\n const url = typeof resource === \"function\" ? resource(props) : resource;\n\n if (url instanceof Href) {\n return url.toString();\n }\n\n return url || \"\";\n};\n\n/**\n */\nexport const useUrl = (resource: string | Function, props: Object): string => {\n const [previousUrl, setPreviousUrl] = useState(\"\");\n const [previousExact, setPreviousExact] = useState(false);\n\n const url = getUrl(resource, props);\n\n const { match } = props;\n\n // when match is not available through props,\n // this is a direct call to the modular ui hoc, not using a route\n if (!match) {\n return url;\n }\n\n const isDifferentUrl = url !== previousUrl;\n if (!isDifferentUrl) {\n return previousUrl;\n }\n\n const hasDifferentStartUriPart =\n previousUrl !== \"\" && !previousUrl.startsWith(match.url);\n\n // Always create an url when the match is exact\n // Or when the match is not exact AND the original match also was not exact\n // Or when the new start uri is different from the previous url\n if (\n match.isExact === true ||\n previousExact === match.isExact ||\n hasDifferentStartUriPart\n ) {\n setPreviousUrl(url);\n setPreviousExact(match.isExact);\n\n return url;\n }\n\n return previousUrl;\n};\n\n/**\n * Create key for modularui request based on component name and requested url\n */\nexport const getKey = (\n WrappedComponent: ComponentType<any>,\n name: string,\n url: string,\n): string => {\n if (url) {\n return `${getDisplayName(WrappedComponent, name)}(${url.split(\"?\")[0]})`;\n }\n\n return getDisplayName(WrappedComponent, name);\n};\n\n/**\n * Check if the model corresponding to a modular ui service should be reloaded\n */\nexport const useReload = (modelEntry: Object, reload: number = 0): boolean => {\n if (reload > 0) {\n const isFullyLoaded = modelEntry?.status === MODULARUI_STATUS.FINISHED;\n const lastModification = modelEntry?.lastModification ?? 0;\n\n if (isFullyLoaded && lastModification < reload) {\n return true;\n }\n }\n\n return false;\n};\n"],"mappings":";;;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAIA;AACA;AACA;AACA,MAAMK,MAAM,GAAGA,CAACC,QAA2B,EAAEC,KAAa,KAAK;EAC7D,MAAMC,GAAG,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAACC,KAAK,CAAC,GAAGD,QAAQ;EAEvE,IAAIE,GAAG,YAAYC,aAAI,EAAE;IACvB,OAAOD,GAAG,CAACE,QAAQ,CAAC,CAAC;EACvB;EAEA,OAAOF,GAAG,IAAI,EAAE;AAClB,CAAC;;AAED;AACA;AACO,MAAMG,MAAM,GAAGA,CAACL,QAA2B,EAAEC,KAAa,KAAa;EAC5E,MAAM,CAACK,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,EAAE,CAAC;EAClD,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAEzD,MAAMN,GAAG,GAAGH,MAAM,CAACC,QAAQ,EAAEC,KAAK,CAAC;EAEnC,MAAM;IAAEU;EAAM,CAAC,GAAGV,KAAK;;EAEvB;EACA;EACA,IAAI,CAACU,KAAK,EAAE;IACV,OAAOT,GAAG;EACZ;EAEA,MAAMU,cAAc,GAAGV,GAAG,KAAKI,WAAW;EAC1C,IAAI,CAACM,cAAc,EAAE;IACnB,OAAON,WAAW;EACpB;EAEA,MAAMO,wBAAwB,GAC5BP,WAAW,KAAK,EAAE,IAAI,CAAC,IAAAQ,WAAA,CAAAC,OAAA,EAAAT,WAAW,EAAAU,IAAA,CAAXV,WAAW,EAAYK,KAAK,CAACT,GAAG,CAAC;;EAE1D;EACA;EACA;EACA,IACES,KAAK,CAACM,OAAO,KAAK,IAAI,IACtBR,aAAa,KAAKE,KAAK,CAACM,OAAO,IAC/BJ,wBAAwB,EACxB;IACAN,cAAc,CAACL,GAAG,CAAC;IACnBQ,gBAAgB,CAACC,KAAK,CAACM,OAAO,CAAC;IAE/B,OAAOf,GAAG;EACZ;EAEA,OAAOI,WAAW;AACpB,CAAC;;AAED;AACA;AACA;AAFAY,OAAA,CAAAb,MAAA,GAAAA,MAAA;AAGO,MAAMc,MAAM,GAAGA,CACpBC,gBAAoC,EACpCC,IAAY,EACZnB,GAAW,KACA;EACX,IAAIA,GAAG,EAAE;IACP,OAAO,GAAG,IAAAoB,qBAAc,EAACF,gBAAgB,EAAEC,IAAI,CAAC,IAAInB,GAAG,CAACqB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;EAC1E;EAEA,OAAO,IAAAD,qBAAc,EAACF,gBAAgB,EAAEC,IAAI,CAAC;AAC/C,CAAC;;AAED;AACA;AACA;AAFAH,OAAA,CAAAC,MAAA,GAAAA,MAAA;AAGO,MAAMK,SAAS,GAAG,SAAAA,CAACC,UAAkB,EAAkC;EAAA,IAAhCC,MAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAC9D,IAAID,MAAM,GAAG,CAAC,EAAE;IACd,MAAMI,aAAa,GAAGL,UAAU,EAAEM,MAAM,KAAKC,2BAAgB,CAACC,QAAQ;IACtE,MAAMC,gBAAgB,GAAGT,UAAU,EAAES,gBAAgB,IAAI,CAAC;IAE1D,IAAIJ,aAAa,IAAII,gBAAgB,GAAGR,MAAM,EAAE;MAC9C,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd,CAAC;AAACR,OAAA,CAAAM,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"file":"ModularUIUtils.js","names":["_react","require","_utils","_Constants","_Href","_interopRequireDefault","getUrl","resource","props","url","Href","useUrl","previousUrl","setPreviousUrl","useState","previousExact","setPreviousExact","match","equals","isExact","startsWith","exports","getKey","WrappedComponent","name","getDisplayName","split","useReload","modelEntry","reload","arguments","length","undefined","isFullyLoaded","status","MODULARUI_STATUS","FINISHED","lastModification"],"sources":["../../../src/redux/_modularui/ModularUIUtils.js"],"sourcesContent":["// @flow\nimport { useState } from \"react\";\n\nimport { getDisplayName } from \"../../react/utils\";\nimport { MODULARUI_STATUS } from \"../../constants/Constants\";\nimport Href from \"../../models/href/Href\";\n\nimport type { ComponentType } from \"react\";\n\n/**\n * Generate modular ui url\n */\nconst getUrl = (resource: string | Function | Href, props: Object): Href => {\n const url = typeof resource === \"function\" ? resource(props) : resource;\n\n if (url instanceof Href) {\n return url;\n }\n\n return new Href(url);\n};\n\n/**\n */\nexport const useUrl = (\n resource: string | Function | Href,\n props: Object,\n): Href => {\n const [previousUrl, setPreviousUrl] = useState(null);\n const [previousExact, setPreviousExact] = useState(false);\n\n const url = getUrl(resource, props);\n\n const { match } = props;\n\n // when match is not available through props,\n // this is a direct call to the modular ui hoc, not using a route\n if (!match) {\n return url;\n }\n\n if (url.equals(previousUrl)) {\n return url;\n }\n\n // Always create an url when the match is exact\n // Or when the match is not exact AND the original match also was not exact\n // Or when the new start uri is different from the previous url --> different resource for same panel\n if (\n match.isExact === true ||\n previousExact === match.isExact ||\n !previousUrl?.startsWith(match.url)\n ) {\n setPreviousUrl(url);\n setPreviousExact(match.isExact);\n\n return url;\n }\n\n return previousUrl || new Href(\"\");\n};\n\n/**\n * Create key for modularui request based on component name and requested url\n */\nexport const getKey = (\n WrappedComponent: ComponentType<any>,\n name: string,\n url: string,\n): string => {\n if (url) {\n return `${getDisplayName(WrappedComponent, name)}(${url.split(\"?\")[0]})`;\n }\n\n return getDisplayName(WrappedComponent, name);\n};\n\n/**\n * Check if the model corresponding to a modular ui service should be reloaded\n */\nexport const useReload = (modelEntry: Object, reload: number = 0): boolean => {\n if (reload > 0) {\n const isFullyLoaded = modelEntry?.status === MODULARUI_STATUS.FINISHED;\n const lastModification = modelEntry?.lastModification ?? 0;\n\n if (isFullyLoaded && lastModification < reload) {\n return true;\n }\n }\n\n return false;\n};\n"],"mappings":";;;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAIA;AACA;AACA;AACA,MAAMK,MAAM,GAAGA,CAACC,QAAkC,EAAEC,KAAa,KAAW;EAC1E,MAAMC,GAAG,GAAG,OAAOF,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAACC,KAAK,CAAC,GAAGD,QAAQ;EAEvE,IAAIE,GAAG,YAAYC,aAAI,EAAE;IACvB,OAAOD,GAAG;EACZ;EAEA,OAAO,IAAIC,aAAI,CAACD,GAAG,CAAC;AACtB,CAAC;;AAED;AACA;AACO,MAAME,MAAM,GAAGA,CACpBJ,QAAkC,EAClCC,KAAa,KACJ;EACT,MAAM,CAACI,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,IAAI,CAAC;EACpD,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAF,eAAQ,EAAC,KAAK,CAAC;EAEzD,MAAML,GAAG,GAAGH,MAAM,CAACC,QAAQ,EAAEC,KAAK,CAAC;EAEnC,MAAM;IAAES;EAAM,CAAC,GAAGT,KAAK;;EAEvB;EACA;EACA,IAAI,CAACS,KAAK,EAAE;IACV,OAAOR,GAAG;EACZ;EAEA,IAAIA,GAAG,CAACS,MAAM,CAACN,WAAW,CAAC,EAAE;IAC3B,OAAOH,GAAG;EACZ;;EAEA;EACA;EACA;EACA,IACEQ,KAAK,CAACE,OAAO,KAAK,IAAI,IACtBJ,aAAa,KAAKE,KAAK,CAACE,OAAO,IAC/B,CAACP,WAAW,EAAEQ,UAAU,CAACH,KAAK,CAACR,GAAG,CAAC,EACnC;IACAI,cAAc,CAACJ,GAAG,CAAC;IACnBO,gBAAgB,CAACC,KAAK,CAACE,OAAO,CAAC;IAE/B,OAAOV,GAAG;EACZ;EAEA,OAAOG,WAAW,IAAI,IAAIF,aAAI,CAAC,EAAE,CAAC;AACpC,CAAC;;AAED;AACA;AACA;AAFAW,OAAA,CAAAV,MAAA,GAAAA,MAAA;AAGO,MAAMW,MAAM,GAAGA,CACpBC,gBAAoC,EACpCC,IAAY,EACZf,GAAW,KACA;EACX,IAAIA,GAAG,EAAE;IACP,OAAO,GAAG,IAAAgB,qBAAc,EAACF,gBAAgB,EAAEC,IAAI,CAAC,IAAIf,GAAG,CAACiB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG;EAC1E;EAEA,OAAO,IAAAD,qBAAc,EAACF,gBAAgB,EAAEC,IAAI,CAAC;AAC/C,CAAC;;AAED;AACA;AACA;AAFAH,OAAA,CAAAC,MAAA,GAAAA,MAAA;AAGO,MAAMK,SAAS,GAAG,SAAAA,CAACC,UAAkB,EAAkC;EAAA,IAAhCC,MAAc,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC;EAC9D,IAAID,MAAM,GAAG,CAAC,EAAE;IACd,MAAMI,aAAa,GAAGL,UAAU,EAAEM,MAAM,KAAKC,2BAAgB,CAACC,QAAQ;IACtE,MAAMC,gBAAgB,GAAGT,UAAU,EAAES,gBAAgB,IAAI,CAAC;IAE1D,IAAIJ,aAAa,IAAII,gBAAgB,GAAGR,MAAM,EAAE;MAC9C,OAAO,IAAI;IACb;EACF;EAEA,OAAO,KAAK;AACd,CAAC;AAACR,OAAA,CAAAM,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -18,7 +18,7 @@ const getCookie = name => {
18
18
  exports.getCookie = getCookie;
19
19
  const setCookie = (name, value, options) => {
20
20
  const attributes = {
21
- path: (0, _Settings.getBasePath)()
21
+ path: (0, _Settings.getBasePathServer)()
22
22
  };
23
23
  attributes.expires = options?.days;
24
24
  attributes.sameSite = options?.sameSite ?? "Strict";
@@ -31,7 +31,7 @@ const setCookie = (name, value, options) => {
31
31
  exports.setCookie = setCookie;
32
32
  const clearCookie = name => {
33
33
  _jsCookie.default.remove(name, {
34
- path: (0, _Settings.getBasePath)()
34
+ path: (0, _Settings.getBasePathServer)()
35
35
  });
36
36
  };
37
37
  exports.clearCookie = clearCookie;
@@ -1,7 +1,7 @@
1
1
  // @flow
2
2
  import Cookies from "js-cookie";
3
3
 
4
- import { getBasePath } from "../../constants/Settings";
4
+ import { getBasePathServer } from "../../constants/Settings";
5
5
 
6
6
  type CookieOptions = {
7
7
  days?: number,
@@ -29,7 +29,7 @@ export const setCookie = (
29
29
  value: any,
30
30
  options?: CookieOptions,
31
31
  ) => {
32
- const attributes: CookieAttributes = { path: getBasePath() };
32
+ const attributes: CookieAttributes = { path: getBasePathServer() };
33
33
  attributes.expires = options?.days;
34
34
  attributes.sameSite = options?.sameSite ?? "Strict";
35
35
  attributes.secure = options?.secure;
@@ -40,5 +40,5 @@ export const setCookie = (
40
40
  /**
41
41
  */
42
42
  export const clearCookie = (name: string) => {
43
- Cookies.remove(name, { path: getBasePath() });
43
+ Cookies.remove(name, { path: getBasePathServer() });
44
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Cookies.js","names":["_jsCookie","_interopRequireDefault","require","_Settings","getCookie","name","Cookies","get","exports","setCookie","value","options","attributes","path","getBasePath","expires","days","sameSite","secure","set","clearCookie","remove"],"sources":["../../../src/utils/browser/Cookies.js"],"sourcesContent":["// @flow\nimport Cookies from \"js-cookie\";\n\nimport { getBasePath } from \"../../constants/Settings\";\n\ntype CookieOptions = {\n days?: number,\n sameSite?: \"None\" | \"Lax\" | \"Strict\",\n secure?: boolean,\n};\n\ntype CookieAttributes = {\n path: string,\n expires?: number,\n sameSite?: string,\n secure?: boolean,\n};\n\n/**\n */\nexport const getCookie = (name: string): null | string => {\n return Cookies.get(name);\n};\n\n/**\n */\nexport const setCookie = (\n name: string,\n value: any,\n options?: CookieOptions,\n) => {\n const attributes: CookieAttributes = { path: getBasePath() };\n attributes.expires = options?.days;\n attributes.sameSite = options?.sameSite ?? \"Strict\";\n attributes.secure = options?.secure;\n\n Cookies.set(name, value, attributes);\n};\n\n/**\n */\nexport const clearCookie = (name: string) => {\n Cookies.remove(name, { path: getBasePath() });\n};\n"],"mappings":";;;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAeA;AACA;AACO,MAAME,SAAS,GAAIC,IAAY,IAAoB;EACxD,OAAOC,iBAAO,CAACC,GAAG,CAACF,IAAI,CAAC;AAC1B,CAAC;;AAED;AACA;AADAG,OAAA,CAAAJ,SAAA,GAAAA,SAAA;AAEO,MAAMK,SAAS,GAAGA,CACvBJ,IAAY,EACZK,KAAU,EACVC,OAAuB,KACpB;EACH,MAAMC,UAA4B,GAAG;IAAEC,IAAI,EAAE,IAAAC,qBAAW,EAAC;EAAE,CAAC;EAC5DF,UAAU,CAACG,OAAO,GAAGJ,OAAO,EAAEK,IAAI;EAClCJ,UAAU,CAACK,QAAQ,GAAGN,OAAO,EAAEM,QAAQ,IAAI,QAAQ;EACnDL,UAAU,CAACM,MAAM,GAAGP,OAAO,EAAEO,MAAM;EAEnCZ,iBAAO,CAACa,GAAG,CAACd,IAAI,EAAEK,KAAK,EAAEE,UAAU,CAAC;AACtC,CAAC;;AAED;AACA;AADAJ,OAAA,CAAAC,SAAA,GAAAA,SAAA;AAEO,MAAMW,WAAW,GAAIf,IAAY,IAAK;EAC3CC,iBAAO,CAACe,MAAM,CAAChB,IAAI,EAAE;IAAEQ,IAAI,EAAE,IAAAC,qBAAW,EAAC;EAAE,CAAC,CAAC;AAC/C,CAAC;AAACN,OAAA,CAAAY,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"file":"Cookies.js","names":["_jsCookie","_interopRequireDefault","require","_Settings","getCookie","name","Cookies","get","exports","setCookie","value","options","attributes","path","getBasePathServer","expires","days","sameSite","secure","set","clearCookie","remove"],"sources":["../../../src/utils/browser/Cookies.js"],"sourcesContent":["// @flow\nimport Cookies from \"js-cookie\";\n\nimport { getBasePathServer } from \"../../constants/Settings\";\n\ntype CookieOptions = {\n days?: number,\n sameSite?: \"None\" | \"Lax\" | \"Strict\",\n secure?: boolean,\n};\n\ntype CookieAttributes = {\n path: string,\n expires?: number,\n sameSite?: string,\n secure?: boolean,\n};\n\n/**\n */\nexport const getCookie = (name: string): null | string => {\n return Cookies.get(name);\n};\n\n/**\n */\nexport const setCookie = (\n name: string,\n value: any,\n options?: CookieOptions,\n) => {\n const attributes: CookieAttributes = { path: getBasePathServer() };\n attributes.expires = options?.days;\n attributes.sameSite = options?.sameSite ?? \"Strict\";\n attributes.secure = options?.secure;\n\n Cookies.set(name, value, attributes);\n};\n\n/**\n */\nexport const clearCookie = (name: string) => {\n Cookies.remove(name, { path: getBasePathServer() });\n};\n"],"mappings":";;;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAeA;AACA;AACO,MAAME,SAAS,GAAIC,IAAY,IAAoB;EACxD,OAAOC,iBAAO,CAACC,GAAG,CAACF,IAAI,CAAC;AAC1B,CAAC;;AAED;AACA;AADAG,OAAA,CAAAJ,SAAA,GAAAA,SAAA;AAEO,MAAMK,SAAS,GAAGA,CACvBJ,IAAY,EACZK,KAAU,EACVC,OAAuB,KACpB;EACH,MAAMC,UAA4B,GAAG;IAAEC,IAAI,EAAE,IAAAC,2BAAiB,EAAC;EAAE,CAAC;EAClEF,UAAU,CAACG,OAAO,GAAGJ,OAAO,EAAEK,IAAI;EAClCJ,UAAU,CAACK,QAAQ,GAAGN,OAAO,EAAEM,QAAQ,IAAI,QAAQ;EACnDL,UAAU,CAACM,MAAM,GAAGP,OAAO,EAAEO,MAAM;EAEnCZ,iBAAO,CAACa,GAAG,CAACd,IAAI,EAAEK,KAAK,EAAEE,UAAU,CAAC;AACtC,CAAC;;AAED;AACA;AADAJ,OAAA,CAAAC,SAAA,GAAAA,SAAA;AAEO,MAAMW,WAAW,GAAIf,IAAY,IAAK;EAC3CC,iBAAO,CAACe,MAAM,CAAChB,IAAI,EAAE;IAAEQ,IAAI,EAAE,IAAAC,2BAAiB,EAAC;EAAE,CAAC,CAAC;AACrD,CAAC;AAACN,OAAA,CAAAY,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -1,4 +1,5 @@
1
1
  import { createHref } from "../createHref";
2
+ import Href from "../../../models/href/Href";
2
3
 
3
4
  describe("createHref", () => {
4
5
  it("can filter out qs parameters", () => {
@@ -7,24 +8,28 @@ describe("createHref", () => {
7
8
  search: "?entryDate=2024-03-08&index=C&notAllowed=true",
8
9
  };
9
10
 
10
- expect(createHref("concepts", dynamicPart)).toBe(
11
- "/concepts/" + dynamicPart,
11
+ expect(createHref("concepts", dynamicPart)).toEqual(
12
+ new Href("/concepts/" + dynamicPart),
12
13
  );
13
- expect(createHref("concepts", dynamicPart, location)).toBe(
14
- "/concepts/" + dynamicPart + location.search,
14
+ expect(createHref("concepts", dynamicPart, location)).toEqual(
15
+ new Href("/concepts/" + dynamicPart + location.search),
15
16
  );
16
17
  expect(
17
18
  createHref("concepts", dynamicPart, location, ["entryDate", "index"]),
18
- ).toBe("/concepts/" + dynamicPart + "?entryDate=2024-03-08&index=C");
19
+ ).toEqual(
20
+ new Href("/concepts/" + dynamicPart + "?entryDate=2024-03-08&index=C"),
21
+ );
19
22
  expect(
20
23
  createHref("concepts", dynamicPart + location.search, location, [
21
24
  "entryDate",
22
25
  "index",
23
26
  ]),
24
- ).toBe("/concepts/" + dynamicPart + "?entryDate=2024-03-08&index=C");
27
+ ).toEqual(
28
+ new Href("/concepts/" + dynamicPart + "?entryDate=2024-03-08&index=C"),
29
+ );
25
30
 
26
- expect(createHref("concepts", dynamicPart + "#hash")).toBe(
27
- "/concepts/" + dynamicPart + "#hash",
31
+ expect(createHref("concepts", dynamicPart + "#hash")).toEqual(
32
+ new Href("/concepts/" + dynamicPart + "#hash"),
28
33
  );
29
34
  });
30
35
  });