@beinformed/ui 1.55.2 → 1.57.0-contextpath.0

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 (224) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/esm/constants/Settings.js +4 -1
  3. package/esm/constants/Settings.js.map +1 -1
  4. package/esm/hooks/useForm.js +3 -1
  5. package/esm/hooks/useForm.js.map +1 -1
  6. package/esm/hooks/useModularUIBasic.js +11 -1
  7. package/esm/hooks/useModularUIBasic.js.map +1 -1
  8. package/esm/hooks/useModularUIModel.js +36 -25
  9. package/esm/hooks/useModularUIModel.js.map +1 -1
  10. package/esm/models/actions/ActionCollection.js +2 -2
  11. package/esm/models/actions/ActionCollection.js.map +1 -1
  12. package/esm/models/actions/ActionModel.js +27 -8
  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/base/ResourceModel.js +25 -3
  17. package/esm/models/base/ResourceModel.js.map +1 -1
  18. package/esm/models/caseview/CaseViewModel.js +2 -2
  19. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  20. package/esm/models/concepts/ConceptLinkModel.js +1 -0
  21. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  22. package/esm/models/concepts/SourceReferenceModel.js +2 -1
  23. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  24. package/esm/models/content/ContentIndexModel.js +2 -2
  25. package/esm/models/content/ContentIndexModel.js.map +1 -1
  26. package/esm/models/content/ContentLinkModel.js +2 -0
  27. package/esm/models/content/ContentLinkModel.js.map +1 -1
  28. package/esm/models/content/SectionModel.js +1 -0
  29. package/esm/models/content/SectionModel.js.map +1 -1
  30. package/esm/models/detail/DetailModel.js +1 -1
  31. package/esm/models/detail/DetailModel.js.map +1 -1
  32. package/esm/models/error/ErrorResponse.js +2 -0
  33. package/esm/models/error/ErrorResponse.js.map +1 -1
  34. package/esm/models/form/FormModel.js +1 -1
  35. package/esm/models/form/FormModel.js.map +1 -1
  36. package/esm/models/href/Href.js +50 -3
  37. package/esm/models/href/Href.js.map +1 -1
  38. package/esm/models/href/ListHref.js +1 -1
  39. package/esm/models/href/ListHref.js.map +1 -1
  40. package/esm/models/links/LinkCollection.js +3 -1
  41. package/esm/models/links/LinkCollection.js.map +1 -1
  42. package/esm/models/links/LinkModel.js +10 -9
  43. package/esm/models/links/LinkModel.js.map +1 -1
  44. package/esm/models/list/ListItemModel.js +3 -1
  45. package/esm/models/list/ListItemModel.js.map +1 -1
  46. package/esm/models/list/ListModel.js +1 -1
  47. package/esm/models/list/ListModel.js.map +1 -1
  48. package/esm/models/panels/GroupingPanelModel.js +1 -1
  49. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  50. package/esm/models/tab/TabModel.js +2 -2
  51. package/esm/models/tab/TabModel.js.map +1 -1
  52. package/esm/models/taskgroup/TaskGroupModel.js +4 -2
  53. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  54. package/esm/modularui/Authenticate.js +2 -1
  55. package/esm/modularui/Authenticate.js.map +1 -1
  56. package/esm/modularui/ModularUIRequest.js +43 -7
  57. package/esm/modularui/ModularUIRequest.js.map +1 -1
  58. package/esm/modularui/ModularUIResponse.js +31 -0
  59. package/esm/modularui/ModularUIResponse.js.map +1 -1
  60. package/esm/redux/_modularui/ModularUIActions.js +3 -1
  61. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  62. package/esm/redux/_modularui/ModularUIMiddleware.js +6 -0
  63. package/esm/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  64. package/esm/redux/_modularui/ModularUISelectors.js +11 -0
  65. package/esm/redux/_modularui/ModularUISelectors.js.map +1 -1
  66. package/esm/redux/_modularui/types.js.map +1 -1
  67. package/esm/redux/actions/Application.js +2 -0
  68. package/esm/redux/actions/Application.js.map +1 -1
  69. package/esm/redux/connectors/PanelRenderer.js +2 -0
  70. package/esm/redux/connectors/PanelRenderer.js.map +1 -1
  71. package/esm/utils/fetch/types.js.map +1 -1
  72. package/esm/utils/helpers/checkResource.js +2 -0
  73. package/esm/utils/helpers/checkResource.js.map +1 -1
  74. package/lib/constants/Settings.js +4 -1
  75. package/lib/constants/Settings.js.flow +2 -2
  76. package/lib/constants/Settings.js.map +1 -1
  77. package/lib/hooks/useForm.js +3 -1
  78. package/lib/hooks/useForm.js.flow +2 -0
  79. package/lib/hooks/useForm.js.map +1 -1
  80. package/lib/hooks/useModularUIBasic.js +11 -1
  81. package/lib/hooks/useModularUIBasic.js.flow +14 -0
  82. package/lib/hooks/useModularUIBasic.js.map +1 -1
  83. package/lib/hooks/useModularUIModel.js +36 -24
  84. package/lib/hooks/useModularUIModel.js.flow +58 -11
  85. package/lib/hooks/useModularUIModel.js.map +1 -1
  86. package/lib/models/actions/ActionCollection.js +2 -2
  87. package/lib/models/actions/ActionCollection.js.flow +14 -2
  88. package/lib/models/actions/ActionCollection.js.map +1 -1
  89. package/lib/models/actions/ActionModel.js +31 -12
  90. package/lib/models/actions/ActionModel.js.flow +38 -16
  91. package/lib/models/actions/ActionModel.js.map +1 -1
  92. package/lib/models/application/ApplicationModel.js +1 -1
  93. package/lib/models/application/ApplicationModel.js.flow +7 -1
  94. package/lib/models/application/ApplicationModel.js.map +1 -1
  95. package/lib/models/base/ResourceModel.js +24 -3
  96. package/lib/models/base/ResourceModel.js.flow +35 -10
  97. package/lib/models/base/ResourceModel.js.map +1 -1
  98. package/lib/models/caseview/CaseViewModel.js +2 -2
  99. package/lib/models/caseview/CaseViewModel.js.flow +3 -1
  100. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  101. package/lib/models/concepts/ConceptLinkModel.js +1 -0
  102. package/lib/models/concepts/ConceptLinkModel.js.flow +1 -0
  103. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  104. package/lib/models/concepts/SourceReferenceModel.js +2 -1
  105. package/lib/models/concepts/SourceReferenceModel.js.flow +2 -1
  106. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  107. package/lib/models/content/ContentIndexModel.js +2 -2
  108. package/lib/models/content/ContentIndexModel.js.flow +2 -2
  109. package/lib/models/content/ContentIndexModel.js.map +1 -1
  110. package/lib/models/content/ContentLinkModel.js +2 -0
  111. package/lib/models/content/ContentLinkModel.js.flow +2 -0
  112. package/lib/models/content/ContentLinkModel.js.map +1 -1
  113. package/lib/models/content/SectionModel.js +1 -0
  114. package/lib/models/content/SectionModel.js.flow +1 -0
  115. package/lib/models/content/SectionModel.js.map +1 -1
  116. package/lib/models/detail/DetailModel.js +1 -1
  117. package/lib/models/detail/DetailModel.js.flow +2 -0
  118. package/lib/models/detail/DetailModel.js.map +1 -1
  119. package/lib/models/error/ErrorResponse.js +2 -0
  120. package/lib/models/error/ErrorResponse.js.flow +2 -0
  121. package/lib/models/error/ErrorResponse.js.map +1 -1
  122. package/lib/models/form/FormModel.js +1 -1
  123. package/lib/models/form/FormModel.js.flow +1 -1
  124. package/lib/models/form/FormModel.js.map +1 -1
  125. package/lib/models/href/Href.js +50 -3
  126. package/lib/models/href/Href.js.flow +58 -3
  127. package/lib/models/href/Href.js.map +1 -1
  128. package/lib/models/href/ListHref.js +1 -1
  129. package/lib/models/href/ListHref.js.flow +1 -1
  130. package/lib/models/href/ListHref.js.map +1 -1
  131. package/lib/models/links/LinkCollection.js +3 -1
  132. package/lib/models/links/LinkCollection.js.flow +8 -2
  133. package/lib/models/links/LinkCollection.js.map +1 -1
  134. package/lib/models/links/LinkModel.js +10 -9
  135. package/lib/models/links/LinkModel.js.flow +24 -16
  136. package/lib/models/links/LinkModel.js.map +1 -1
  137. package/lib/models/list/ListItemModel.js +3 -1
  138. package/lib/models/list/ListItemModel.js.flow +4 -0
  139. package/lib/models/list/ListItemModel.js.map +1 -1
  140. package/lib/models/list/ListModel.js +1 -1
  141. package/lib/models/list/ListModel.js.flow +6 -1
  142. package/lib/models/list/ListModel.js.map +1 -1
  143. package/lib/models/panels/GroupingPanelModel.js +1 -1
  144. package/lib/models/panels/GroupingPanelModel.js.flow +2 -0
  145. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  146. package/lib/models/tab/TabModel.js +2 -2
  147. package/lib/models/tab/TabModel.js.flow +4 -0
  148. package/lib/models/tab/TabModel.js.map +1 -1
  149. package/lib/models/taskgroup/TaskGroupModel.js +4 -2
  150. package/lib/models/taskgroup/TaskGroupModel.js.flow +6 -0
  151. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  152. package/lib/modularui/Authenticate.js +2 -1
  153. package/lib/modularui/Authenticate.js.flow +2 -1
  154. package/lib/modularui/Authenticate.js.map +1 -1
  155. package/lib/modularui/ModularUIRequest.js +43 -7
  156. package/lib/modularui/ModularUIRequest.js.flow +49 -8
  157. package/lib/modularui/ModularUIRequest.js.map +1 -1
  158. package/lib/modularui/ModularUIResponse.js +31 -0
  159. package/lib/modularui/ModularUIResponse.js.flow +35 -0
  160. package/lib/modularui/ModularUIResponse.js.map +1 -1
  161. package/lib/modularui/__tests__/CustomContextPath.spec.js.flow +61 -0
  162. package/lib/redux/_modularui/ModularUIActions.js +3 -1
  163. package/lib/redux/_modularui/ModularUIActions.js.flow +6 -1
  164. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  165. package/lib/redux/_modularui/ModularUIMiddleware.js +6 -0
  166. package/lib/redux/_modularui/ModularUIMiddleware.js.flow +10 -0
  167. package/lib/redux/_modularui/ModularUIMiddleware.js.map +1 -1
  168. package/lib/redux/_modularui/ModularUISelectors.js +13 -1
  169. package/lib/redux/_modularui/ModularUISelectors.js.flow +13 -0
  170. package/lib/redux/_modularui/ModularUISelectors.js.map +1 -1
  171. package/lib/redux/_modularui/types.js.flow +2 -0
  172. package/lib/redux/_modularui/types.js.map +1 -1
  173. package/lib/redux/actions/Application.js +2 -0
  174. package/lib/redux/actions/Application.js.flow +1 -0
  175. package/lib/redux/actions/Application.js.map +1 -1
  176. package/lib/redux/connectors/PanelRenderer.js +2 -0
  177. package/lib/redux/connectors/PanelRenderer.js.flow +1 -0
  178. package/lib/redux/connectors/PanelRenderer.js.map +1 -1
  179. package/lib/utils/fetch/types.js.flow +2 -0
  180. package/lib/utils/fetch/types.js.map +1 -1
  181. package/lib/utils/helpers/checkResource.js +2 -0
  182. package/lib/utils/helpers/checkResource.js.flow +2 -0
  183. package/lib/utils/helpers/checkResource.js.map +1 -1
  184. package/package.json +1 -1
  185. package/src/constants/Settings.js +2 -2
  186. package/src/hooks/useForm.js +2 -0
  187. package/src/hooks/useModularUIBasic.js +14 -0
  188. package/src/hooks/useModularUIModel.js +58 -11
  189. package/src/models/actions/ActionCollection.js +14 -2
  190. package/src/models/actions/ActionModel.js +38 -16
  191. package/src/models/application/ApplicationModel.js +7 -1
  192. package/src/models/base/ResourceModel.js +35 -10
  193. package/src/models/caseview/CaseViewModel.js +3 -1
  194. package/src/models/concepts/ConceptLinkModel.js +1 -0
  195. package/src/models/concepts/SourceReferenceModel.js +2 -1
  196. package/src/models/content/ContentIndexModel.js +2 -2
  197. package/src/models/content/ContentLinkModel.js +2 -0
  198. package/src/models/content/SectionModel.js +1 -0
  199. package/src/models/detail/DetailModel.js +2 -0
  200. package/src/models/error/ErrorResponse.js +2 -0
  201. package/src/models/form/FormModel.js +1 -1
  202. package/src/models/href/Href.js +58 -3
  203. package/src/models/href/ListHref.js +1 -1
  204. package/src/models/links/LinkCollection.js +8 -2
  205. package/src/models/links/LinkModel.js +24 -16
  206. package/src/models/list/ListItemModel.js +4 -0
  207. package/src/models/list/ListModel.js +6 -1
  208. package/src/models/panels/GroupingPanelModel.js +2 -0
  209. package/src/models/tab/TabModel.js +4 -0
  210. package/src/models/taskgroup/TaskGroupModel.js +6 -0
  211. package/src/modularui/Authenticate.js +2 -1
  212. package/src/modularui/ModularUIRequest.js +49 -8
  213. package/src/modularui/ModularUIResponse.js +35 -0
  214. package/src/modularui/__tests__/CustomContextPath.spec.js +61 -0
  215. package/src/modularui/__tests__/contributions.json +312 -0
  216. package/src/modularui/__tests__/data.json +263 -0
  217. package/src/redux/_modularui/ModularUIActions.js +6 -1
  218. package/src/redux/_modularui/ModularUIMiddleware.js +10 -0
  219. package/src/redux/_modularui/ModularUISelectors.js +13 -0
  220. package/src/redux/_modularui/types.js +2 -0
  221. package/src/redux/actions/Application.js +1 -0
  222. package/src/redux/connectors/PanelRenderer.js +1 -0
  223. package/src/utils/fetch/types.js +2 -0
  224. package/src/utils/helpers/checkResource.js +2 -0
@@ -0,0 +1,312 @@
1
+ {
2
+ "webapplication": {
3
+ "label": "Webapp",
4
+ "resourcetype": "Application",
5
+ "_links": {
6
+ "tab": [
7
+ {
8
+ "name": "Books",
9
+ "label": "Books",
10
+ "resourcetype": "Tab",
11
+ "components": [
12
+ {
13
+ "name": "Books",
14
+ "label": "Books",
15
+ "layouthint": ["CardView", "ListView", "TableView"],
16
+ "resourcetype": "CaseList"
17
+ },
18
+ {
19
+ "name": "BooksByPersonRole",
20
+ "label": "Books by person role",
21
+ "resourcetype": "CaseList"
22
+ },
23
+ {
24
+ "name": "BookPrints",
25
+ "label": "Book prints",
26
+ "resourcetype": "DatastoreList"
27
+ },
28
+ {
29
+ "name": "LatestBooks",
30
+ "label": "Latest books",
31
+ "resourcetype": "DatastoreList"
32
+ }
33
+ ]
34
+ },
35
+ {
36
+ "name": "Persons",
37
+ "label": "Persons",
38
+ "resourcetype": "Tab",
39
+ "components": [
40
+ {
41
+ "name": "Persons",
42
+ "label": "Persons",
43
+ "resourcetype": "CaseList"
44
+ },
45
+ {
46
+ "name": "AuthorsAndCo_authors",
47
+ "label": "Authors and co-authors",
48
+ "resourcetype": "CaseList"
49
+ },
50
+ {
51
+ "name": "InformationAboutAuthors",
52
+ "label": "Information about authors",
53
+ "resourcetype": "DatastoreList"
54
+ }
55
+ ]
56
+ },
57
+ {
58
+ "name": "PublishingHouses",
59
+ "label": "Publishing houses",
60
+ "resourcetype": "Tab",
61
+ "components": [
62
+ {
63
+ "name": "PublishingHouses",
64
+ "label": "Publishing houses",
65
+ "resourcetype": "CaseList"
66
+ }
67
+ ]
68
+ },
69
+ {
70
+ "name": "UT_Books",
71
+ "label": "UT_Books",
72
+ "resourcetype": "Tab",
73
+ "components": [
74
+ {
75
+ "name": "Books",
76
+ "label": "Books",
77
+ "resourcetype": "CaseList"
78
+ },
79
+ {
80
+ "name": "BooksByPerson",
81
+ "label": "Books by person",
82
+ "resourcetype": "CaseList"
83
+ },
84
+ {
85
+ "name": "BooksByPersonAndFormat",
86
+ "label": "Books by person and format",
87
+ "resourcetype": "CaseList"
88
+ },
89
+ {
90
+ "name": "BooksByPersonRoleAndFormat",
91
+ "label": "Books by person role and format",
92
+ "resourcetype": "CaseList"
93
+ },
94
+ {
95
+ "name": "BooksByPersonByLanguage",
96
+ "label": "Books by person by language",
97
+ "resourcetype": "CaseList"
98
+ },
99
+ {
100
+ "name": "BooksByFormat",
101
+ "label": "Books by format",
102
+ "resourcetype": "CaseList"
103
+ },
104
+ {
105
+ "name": "BooksByPublishingHouse",
106
+ "label": "Books by publishing house",
107
+ "resourcetype": "CaseList"
108
+ },
109
+ {
110
+ "name": "BooksByYoungAuthors",
111
+ "label": "Books by young authors",
112
+ "resourcetype": "CaseList"
113
+ },
114
+ {
115
+ "name": "BooksByYoungAuthorsNamedCoupland",
116
+ "label": "Books by young authors named Coupland",
117
+ "resourcetype": "CaseList"
118
+ },
119
+ {
120
+ "name": "BooksPublishedByPublishingHouseLocatedInLondon",
121
+ "label": "Books published by publishing house located in London",
122
+ "resourcetype": "CaseList"
123
+ },
124
+ {
125
+ "name": "BooksWithPublishingHouseCategoryYoungAdults",
126
+ "label": "Books with publishing house category Young adults",
127
+ "resourcetype": "CaseList"
128
+ },
129
+ {
130
+ "name": "BooksByDeceasedAuthors",
131
+ "label": "Books by deceased authors",
132
+ "resourcetype": "CaseList"
133
+ },
134
+ {
135
+ "name": "BooksWithLargeEditions",
136
+ "label": "Books with large editions",
137
+ "resourcetype": "CaseList"
138
+ },
139
+ {
140
+ "name": "BooksWithPrintAssignments",
141
+ "label": "Books with print assignments",
142
+ "resourcetype": "CaseList"
143
+ },
144
+ {
145
+ "name": "BooksFromAuthorsFromNewYork",
146
+ "label": "Books from authors from New York",
147
+ "resourcetype": "CaseList"
148
+ },
149
+ {
150
+ "name": "BooksByAuthorFromNewYork",
151
+ "label": "Books by author from New York",
152
+ "resourcetype": "CaseList"
153
+ },
154
+ {
155
+ "name": "BookPrints",
156
+ "label": "Book prints",
157
+ "resourcetype": "DatastoreList"
158
+ },
159
+ {
160
+ "name": "LatestBooks",
161
+ "label": "Latest books",
162
+ "resourcetype": "DatastoreList"
163
+ },
164
+ {
165
+ "name": "LatestBooksMultipleRecordTypes",
166
+ "label": "Latest books multiple record types",
167
+ "resourcetype": "DatastoreList"
168
+ }
169
+ ]
170
+ },
171
+ {
172
+ "name": "UT_Persons",
173
+ "label": "UT_Persons",
174
+ "resourcetype": "Tab",
175
+ "components": [
176
+ {
177
+ "name": "Persons",
178
+ "label": "Persons",
179
+ "resourcetype": "CaseList"
180
+ },
181
+ {
182
+ "name": "PersonsWithDetails",
183
+ "label": "Persons with details",
184
+ "resourcetype": "CaseList"
185
+ },
186
+ {
187
+ "name": "PersonsByBookIndividual",
188
+ "label": "Persons by book (individual)",
189
+ "resourcetype": "CaseList"
190
+ },
191
+ {
192
+ "name": "PersonsByBookDistinct",
193
+ "label": "Persons by book (distinct)",
194
+ "resourcetype": "CaseList"
195
+ },
196
+ {
197
+ "name": "AuthorsByBookIndividual",
198
+ "label": "Authors by book (individual)",
199
+ "resourcetype": "CaseList"
200
+ },
201
+ {
202
+ "name": "PersonsWithBooks",
203
+ "label": "Persons with books",
204
+ "resourcetype": "CaseList"
205
+ },
206
+ {
207
+ "name": "PersonsLivingInLondon",
208
+ "label": "Persons living in London",
209
+ "resourcetype": "CaseList"
210
+ },
211
+ {
212
+ "name": "AuthorsLivingInNewYork",
213
+ "label": "Authors living in New York",
214
+ "resourcetype": "CaseList"
215
+ },
216
+ {
217
+ "name": "BooksAndPersonsRestrictedToNewYork",
218
+ "label": "Books and Persons restricted to New York",
219
+ "resourcetype": "CaseList"
220
+ },
221
+ {
222
+ "name": "AuthorsByPublishingHouseFromLonden",
223
+ "label": "Authors by Publishing house from Londen",
224
+ "resourcetype": "CaseList"
225
+ },
226
+ {
227
+ "name": "AuthorsByPublishingHouseFromLondenOrNrOfPages350",
228
+ "label": "Authors by Publishing house from Londen or Nr of Pages > 350",
229
+ "resourcetype": "CaseList"
230
+ },
231
+ {
232
+ "name": "AuthorsWithBooksWithEditionPublishedAfter2013",
233
+ "label": "Authors with books with edition published after 2013",
234
+ "resourcetype": "CaseList"
235
+ }
236
+ ]
237
+ },
238
+ {
239
+ "name": "UT_PublishingHouses",
240
+ "label": "UT_Publishing houses",
241
+ "resourcetype": "Tab",
242
+ "components": [
243
+ {
244
+ "name": "PublishingHouses",
245
+ "label": "Publishing houses",
246
+ "resourcetype": "CaseList"
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ "name": "UTBookPrints",
252
+ "label": "UT Book prints",
253
+ "resourcetype": "Tab",
254
+ "components": [
255
+ {
256
+ "name": "BookPrints",
257
+ "label": "Book prints",
258
+ "resourcetype": "DatastoreList"
259
+ },
260
+ {
261
+ "name": "BookPrintsOnePerPage",
262
+ "label": "Book prints (one per page)",
263
+ "resourcetype": "DatastoreList"
264
+ },
265
+ {
266
+ "name": "BookPrintsMaxOneResultInDetailMode",
267
+ "label": "Book prints (max one result in detail mode)",
268
+ "resourcetype": "DatastoreList"
269
+ },
270
+ {
271
+ "name": "BookPrintsMaxOneResultInTableMode",
272
+ "label": "Book prints (max one result in table mode)",
273
+ "resourcetype": "DatastoreList"
274
+ },
275
+ {
276
+ "name": "BookPrintsSortedByPrintingHouse",
277
+ "label": "Book prints (sorted by printing house)",
278
+ "resourcetype": "DatastoreList"
279
+ },
280
+ {
281
+ "name": "BookPrintsGroupedByBooksPrintedPrintingHouse",
282
+ "label": "Book prints (grouped by BooksPrinted, Printing house)",
283
+ "resourcetype": "DatastoreList"
284
+ }
285
+ ]
286
+ },
287
+ {
288
+ "name": "UsersAndOrganizations",
289
+ "label": "Users and organizations",
290
+ "resourcetype": "Tab"
291
+ },
292
+ {
293
+ "name": "RebuildDB",
294
+ "label": "Rebuild DB",
295
+ "resourcetype": "Tab"
296
+ }
297
+ ],
298
+ "authentication": [
299
+ {
300
+ "name": "login",
301
+ "label": "Login",
302
+ "resourcetype": null
303
+ },
304
+ {
305
+ "name": "UserServices",
306
+ "label": "Gebruikerservices",
307
+ "resourcetype": "user_services"
308
+ }
309
+ ]
310
+ }
311
+ }
312
+ }
@@ -0,0 +1,263 @@
1
+ {
2
+ "webapplication": {
3
+ "_links": {
4
+ "self": {
5
+ "href": "/"
6
+ },
7
+ "api_doc": {
8
+ "href": "/api-docs/v3/"
9
+ },
10
+ "contributions": {
11
+ "href": "/contributions/"
12
+ },
13
+ "modelcatalog": {
14
+ "href": "/modelcatalog"
15
+ },
16
+ "tab": [
17
+ {
18
+ "href": "/books",
19
+ "name": "Books",
20
+ "components": [
21
+ {
22
+ "href": "/books/books",
23
+ "name": "Books"
24
+ },
25
+ {
26
+ "href": "/books/booksbypersonrole",
27
+ "name": "BooksByPersonRole"
28
+ },
29
+ {
30
+ "href": "/books/BookPrints",
31
+ "name": "BookPrints"
32
+ },
33
+ {
34
+ "href": "/books/LatestBooks",
35
+ "name": "LatestBooks"
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ "href": "/persons",
41
+ "name": "Persons",
42
+ "components": [
43
+ {
44
+ "href": "/persons/persons",
45
+ "name": "Persons"
46
+ },
47
+ {
48
+ "href": "/persons/authorscoauthors",
49
+ "name": "AuthorsAndCo_authors"
50
+ },
51
+ {
52
+ "href": "/persons/InformationAboutAuthors",
53
+ "name": "InformationAboutAuthors"
54
+ }
55
+ ]
56
+ },
57
+ {
58
+ "href": "/publishinghouses",
59
+ "name": "PublishingHouses",
60
+ "components": [
61
+ {
62
+ "href": "/publishinghouses/publishinghouses",
63
+ "name": "PublishingHouses"
64
+ }
65
+ ]
66
+ },
67
+ {
68
+ "href": "/UT_books",
69
+ "name": "UT_Books",
70
+ "components": [
71
+ {
72
+ "href": "/UT_books/books",
73
+ "name": "Books"
74
+ },
75
+ {
76
+ "href": "/UT_books/booksbyperson",
77
+ "name": "BooksByPerson"
78
+ },
79
+ {
80
+ "href": "/UT_books/Booksbypersonandformat",
81
+ "name": "BooksByPersonAndFormat"
82
+ },
83
+ {
84
+ "href": "/UT_books/Booksbypersonroleandformat",
85
+ "name": "BooksByPersonRoleAndFormat"
86
+ },
87
+ {
88
+ "href": "/UT_books/booksbypersonbylanguage",
89
+ "name": "BooksByPersonByLanguage"
90
+ },
91
+ {
92
+ "href": "/UT_books/byformat",
93
+ "name": "BooksByFormat"
94
+ },
95
+ {
96
+ "href": "/UT_books/booksbypublishinghouse",
97
+ "name": "BooksByPublishingHouse"
98
+ },
99
+ {
100
+ "href": "/UT_books/booksbyyoungauthors",
101
+ "name": "BooksByYoungAuthors"
102
+ },
103
+ {
104
+ "href": "/UT_books/booksbyyoungauthorsnamedcoupland",
105
+ "name": "BooksByYoungAuthorsNamedCoupland"
106
+ },
107
+ {
108
+ "href": "/UT_books/bookspublishedbypublishinghouselocatedinlondon",
109
+ "name": "BooksPublishedByPublishingHouseLocatedInLondon"
110
+ },
111
+ {
112
+ "href": "/UT_books/bookswithpublishinghousecategoryyoungddults",
113
+ "name": "BooksWithPublishingHouseCategoryYoungAdults"
114
+ },
115
+ {
116
+ "href": "/UT_books/booksbydeceasedauthors",
117
+ "name": "BooksByDeceasedAuthors"
118
+ },
119
+ {
120
+ "href": "/UT_books/bookswithlargeeditions",
121
+ "name": "BooksWithLargeEditions"
122
+ },
123
+ {
124
+ "href": "/UT_books/bookswithprintassignments",
125
+ "name": "BooksWithPrintAssignments"
126
+ },
127
+ {
128
+ "href": "/UT_books/BooksFromAuthorsFromNewYork",
129
+ "name": "BooksFromAuthorsFromNewYork"
130
+ },
131
+ {
132
+ "href": "/UT_books/booksbyauthorfromnewyork",
133
+ "name": "BooksByAuthorFromNewYork"
134
+ },
135
+ {
136
+ "href": "/UT_books/BookPrints",
137
+ "name": "BookPrints"
138
+ },
139
+ {
140
+ "href": "/UT_books/LatestBooks",
141
+ "name": "LatestBooks"
142
+ },
143
+ {
144
+ "href": "/UT_books/LatestBooksmultipleRecordTypes",
145
+ "name": "LatestBooksMultipleRecordTypes"
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ "href": "/UT_persons",
151
+ "name": "UT_Persons",
152
+ "components": [
153
+ {
154
+ "href": "/UT_persons/persons",
155
+ "name": "Persons"
156
+ },
157
+ {
158
+ "href": "/UT_persons/details",
159
+ "name": "PersonsWithDetails"
160
+ },
161
+ {
162
+ "href": "/UT_persons/personsByBookIndividual",
163
+ "name": "PersonsByBookIndividual"
164
+ },
165
+ {
166
+ "href": "/UT_persons/personsByBookDistinct",
167
+ "name": "PersonsByBookDistinct"
168
+ },
169
+ {
170
+ "href": "/UT_persons/authorsByBookIndividual",
171
+ "name": "AuthorsByBookIndividual"
172
+ },
173
+ {
174
+ "href": "/UT_persons/PersonsWithBooks",
175
+ "name": "PersonsWithBooks"
176
+ },
177
+ {
178
+ "href": "/UT_persons/personslivinginlondon",
179
+ "name": "PersonsLivingInLondon"
180
+ },
181
+ {
182
+ "href": "/UT_persons/authorslivinginnewyork",
183
+ "name": "AuthorsLivingInNewYork"
184
+ },
185
+ {
186
+ "href": "/UT_persons/booksandpersonsrestrictedtonewyork",
187
+ "name": "BooksAndPersonsRestrictedToNewYork"
188
+ },
189
+ {
190
+ "href": "/UT_persons/authorsbypublishinghousefromlonden",
191
+ "name": "AuthorsByPublishingHouseFromLonden"
192
+ },
193
+ {
194
+ "href": "/UT_persons/authorsbypublishinghousefromlondenornrofpages350",
195
+ "name": "AuthorsByPublishingHouseFromLondenOrNrOfPages350"
196
+ },
197
+ {
198
+ "href": "/UT_persons/authorswithbookswitheditionpublishedafter2013",
199
+ "name": "AuthorsWithBooksWithEditionPublishedAfter2013"
200
+ }
201
+ ]
202
+ },
203
+ {
204
+ "href": "/UT_publishinghouses",
205
+ "name": "UT_PublishingHouses",
206
+ "components": [
207
+ {
208
+ "href": "/UT_publishinghouses/publishinghouses",
209
+ "name": "PublishingHouses"
210
+ }
211
+ ]
212
+ },
213
+ {
214
+ "href": "/UT_bookPrints",
215
+ "name": "UTBookPrints",
216
+ "components": [
217
+ {
218
+ "href": "/UT_bookPrints/BookPrints",
219
+ "name": "BookPrints"
220
+ },
221
+ {
222
+ "href": "/UT_bookPrints/BookPrints1PP",
223
+ "name": "BookPrintsOnePerPage"
224
+ },
225
+ {
226
+ "href": "/UT_bookPrints/BookPrintsMax1DetailMode",
227
+ "name": "BookPrintsMaxOneResultInDetailMode"
228
+ },
229
+ {
230
+ "href": "/UT_bookPrints/BookPrintsMax1TableMode",
231
+ "name": "BookPrintsMaxOneResultInTableMode"
232
+ },
233
+ {
234
+ "href": "/UT_bookPrints/BookPrintsSortedByPrintingHouse",
235
+ "name": "BookPrintsSortedByPrintingHouse"
236
+ },
237
+ {
238
+ "href": "/UT_bookPrints/BookPrintsByNumberAndHouse",
239
+ "name": "BookPrintsGroupedByBooksPrintedPrintingHouse"
240
+ }
241
+ ]
242
+ },
243
+ {
244
+ "href": "/UsersAndOrganizations",
245
+ "name": "UsersAndOrganizations"
246
+ },
247
+ {
248
+ "href": "/RebuildDB",
249
+ "name": "RebuildDB"
250
+ }
251
+ ],
252
+ "login": {
253
+ "href": "/login"
254
+ },
255
+ "user_services": [
256
+ {
257
+ "href": "/Login",
258
+ "name": "UserServices"
259
+ }
260
+ ]
261
+ }
262
+ }
263
+ }
@@ -109,7 +109,12 @@ export const loadModel = (
109
109
  ): ModularUIAction => ({
110
110
  type: "MODULARUI/FETCH",
111
111
  payload: {
112
- href: href instanceof Href ? href : new Href(href),
112
+ origin: options?.origin,
113
+ contextPath: options?.contextPath,
114
+ href:
115
+ href instanceof Href
116
+ ? href
117
+ : new Href(href, "", options?.origin, options?.contextPath),
113
118
  method: options?.method ?? HTTP_METHODS.GET,
114
119
  data: options?.data,
115
120
  locale: options?.locale ?? "en",
@@ -19,6 +19,8 @@ import type { ModularUIAction, SuccessAction, ErrorAction } from "./types";
19
19
  import type { TargetModel } from "../../modularui/types";
20
20
 
21
21
  type RequestOptions = {
22
+ origin?: string,
23
+ contextPath?: string,
22
24
  href: Href,
23
25
  method?: $Keys<typeof HTTP_METHODS>,
24
26
  data?: any,
@@ -43,6 +45,14 @@ const createRequest = (modularui: RequestOptions): ModularUIRequest => {
43
45
  cache: modularui.cache,
44
46
  });
45
47
 
48
+ if (modularui.origin) {
49
+ request.origin = modularui.origin;
50
+ }
51
+
52
+ if (modularui.contextPath) {
53
+ request.contextPath = modularui.contextPath;
54
+ }
55
+
46
56
  if (modularui.targetModel) {
47
57
  request.targetModel = modularui.targetModel;
48
58
  request.forceTargetModel = modularui.forceTargetModel ?? false;
@@ -295,3 +295,16 @@ export const getModelsByType = (
295
295
 
296
296
  return [];
297
297
  };
298
+
299
+ /**
300
+ */
301
+ export const getAllFinishedModels = (
302
+ state: ReduxState,
303
+ ): Array<ModularUIModel> => {
304
+ if (state && state.modularui) {
305
+ return Object.values(state.modularui)
306
+ .filter((entry) => entry.status === "FINISHED")
307
+ .map((entry) => entry.model);
308
+ }
309
+ return [];
310
+ };
@@ -65,6 +65,8 @@ export type ErrorAction = (
65
65
  export type ModularUIAction = {
66
66
  type: "MODULARUI/FETCH",
67
67
  payload: {
68
+ origin?: string,
69
+ contextPath?: string,
68
70
  href: Href,
69
71
  method?: $Keys<HTTP_METHODS>,
70
72
  data?: any,
@@ -18,6 +18,7 @@ export const reloadApplication =
18
18
  dispatch(removeModelByKey(key));
19
19
  }
20
20
 
21
+ // TODO SBO: origin and context
21
22
  const modelKey = `application(/)(${getLocale(getState())})`;
22
23
  return dispatch(
23
24
  loadModularUI(modelKey, new Href("/", "Application"), {
@@ -15,6 +15,7 @@ export const connectPanel: ModularUIConnector = modularui(
15
15
  );
16
16
  }
17
17
 
18
+ // TODO SBO: origin and context?
18
19
  const panelHref = href ? new Href(href) : new Href(match.url);
19
20
 
20
21
  if (match && match.isExact) {
@@ -8,6 +8,8 @@ export type RequestURLOptions = {
8
8
  };
9
9
 
10
10
  export type RequestBaseOptions = {
11
+ origin?: string,
12
+ contextPath?: string,
11
13
  method?: $Keys<HTTP_METHODS>,
12
14
  params?: string,
13
15
  data?: any,
@@ -9,6 +9,7 @@ import Href from "../../models/href/Href";
9
9
  * @returns {boolean}
10
10
  */
11
11
  export const resourceExists = (url: string | Href): boolean => {
12
+ // TODO SBO: origin and context?
12
13
  const fullUrl = new Href(url).absolutehref;
13
14
 
14
15
  const xhr = new XMLHttpRequest();
@@ -28,6 +29,7 @@ export const resourceExists = (url: string | Href): boolean => {
28
29
  * @returns {boolean}
29
30
  */
30
31
  export const resourceRedirectsToSecureLogin = (url: string | Href): boolean => {
32
+ // TODO SBO: origin and context?
31
33
  const fullUrl = new Href(url).absolutehref;
32
34
 
33
35
  const xhr = new XMLHttpRequest();