@beinformed/ui 1.57.1 → 1.57.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/esm/constants/Settings.js +14 -6
  3. package/esm/constants/Settings.js.map +1 -1
  4. package/esm/hooks/useAuthentication.js +3 -3
  5. package/esm/hooks/useAuthentication.js.map +1 -1
  6. package/esm/hooks/useModelCatalog.js.map +1 -1
  7. package/esm/hooks/useModularUI.js +9 -8
  8. package/esm/hooks/useModularUI.js.map +1 -1
  9. package/esm/hooks/useModularUIBasic.js +2 -4
  10. package/esm/hooks/useModularUIBasic.js.map +1 -1
  11. package/esm/hooks/useModularUIModel.js.map +1 -1
  12. package/esm/models/actions/ActionCollection.js +2 -3
  13. package/esm/models/actions/ActionCollection.js.map +1 -1
  14. package/esm/models/actions/ActionModel.js +13 -23
  15. package/esm/models/actions/ActionModel.js.map +1 -1
  16. package/esm/models/application/ApplicationModel.js +1 -1
  17. package/esm/models/application/ApplicationModel.js.map +1 -1
  18. package/esm/models/attributes/AttributeCollection.js +6 -3
  19. package/esm/models/attributes/AttributeCollection.js.map +1 -1
  20. package/esm/models/attributes/AttributeModel.js +3 -3
  21. package/esm/models/attributes/AttributeModel.js.map +1 -1
  22. package/esm/models/attributes/AttributeSetModel.js +7 -4
  23. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  24. package/esm/models/attributes/BooleanAttributeModel.js +6 -3
  25. package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
  26. package/esm/models/attributes/ChoiceAttributeModel.js +6 -3
  27. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  28. package/esm/models/attributes/ChoiceAttributeOptionCollection.js +18 -14
  29. package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  30. package/esm/models/attributes/ChoiceAttributeOptionModel.js +17 -10
  31. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  32. package/esm/models/attributes/CompositeAttributeChildCollection.js +7 -7
  33. package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  34. package/esm/models/attributes/CompositeAttributeModel.js +3 -3
  35. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  36. package/esm/models/attributes/DatetimeAttributeModel.js +2 -2
  37. package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
  38. package/esm/models/attributes/StringAttributeModel.js +2 -2
  39. package/esm/models/attributes/StringAttributeModel.js.map +1 -1
  40. package/esm/models/attributes/_createAttribute.js +2 -2
  41. package/esm/models/attributes/_createAttribute.js.map +1 -1
  42. package/esm/models/base/BaseModel.js +27 -1
  43. package/esm/models/base/BaseModel.js.map +1 -1
  44. package/esm/models/base/ResourceModel.js +3 -23
  45. package/esm/models/base/ResourceModel.js.map +1 -1
  46. package/esm/models/caseview/CaseViewModel.js +1 -1
  47. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  48. package/esm/models/concepts/ConceptDetailModel.js +2 -2
  49. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  50. package/esm/models/concepts/ConceptIndexModel.js +2 -2
  51. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  52. package/esm/models/concepts/ConceptLinkModel.js +4 -10
  53. package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
  54. package/esm/models/concepts/ConceptRelationCollection.js +11 -4
  55. package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
  56. package/esm/models/concepts/ConceptRelationModel.js +8 -1
  57. package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
  58. package/esm/models/concepts/SourceReferenceCollection.js +2 -4
  59. package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
  60. package/esm/models/concepts/SourceReferenceModel.js +9 -10
  61. package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
  62. package/esm/models/content/ContentIndexModel.js +2 -2
  63. package/esm/models/content/ContentIndexModel.js.map +1 -1
  64. package/esm/models/content/ContentLinkModel.js +4 -11
  65. package/esm/models/content/ContentLinkModel.js.map +1 -1
  66. package/esm/models/content/ContentModel.js +2 -2
  67. package/esm/models/content/ContentModel.js.map +1 -1
  68. package/esm/models/content/ContentTOCModel.js +7 -7
  69. package/esm/models/content/ContentTOCModel.js.map +1 -1
  70. package/esm/models/content/SectionModel.js +6 -12
  71. package/esm/models/content/SectionModel.js.map +1 -1
  72. package/esm/models/detail/DetailModel.js +9 -3
  73. package/esm/models/detail/DetailModel.js.map +1 -1
  74. package/esm/models/error/ErrorResponse.js +8 -10
  75. package/esm/models/error/ErrorResponse.js.map +1 -1
  76. package/esm/models/filters/AssignmentFilterModel.js +2 -2
  77. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  78. package/esm/models/filters/BaseFilterModel.js +3 -3
  79. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  80. package/esm/models/filters/ConceptIndexFilterModel.js +2 -3
  81. package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
  82. package/esm/models/filters/FilterCollection.js +8 -7
  83. package/esm/models/filters/FilterCollection.js.map +1 -1
  84. package/esm/models/filters/StringFilterModel.js +2 -2
  85. package/esm/models/filters/StringFilterModel.js.map +1 -1
  86. package/esm/models/form/FormModel.js +4 -4
  87. package/esm/models/form/FormModel.js.map +1 -1
  88. package/esm/models/form/FormObjectModel.js +7 -4
  89. package/esm/models/form/FormObjectModel.js.map +1 -1
  90. package/esm/models/grouping/GroupingModel.js +10 -7
  91. package/esm/models/grouping/GroupingModel.js.map +1 -1
  92. package/esm/models/href/Href.js +9 -8
  93. package/esm/models/href/Href.js.map +1 -1
  94. package/esm/models/links/LinkCollection.js +2 -3
  95. package/esm/models/links/LinkCollection.js.map +1 -1
  96. package/esm/models/links/LinkModel.js +7 -7
  97. package/esm/models/links/LinkModel.js.map +1 -1
  98. package/esm/models/list/ListDetailModel.js +1 -1
  99. package/esm/models/list/ListDetailModel.js.map +1 -1
  100. package/esm/models/list/ListItemCollection.js +1 -1
  101. package/esm/models/list/ListItemCollection.js.map +1 -1
  102. package/esm/models/list/ListItemModel.js +3 -3
  103. package/esm/models/list/ListItemModel.js.map +1 -1
  104. package/esm/models/list/ListModel.js +3 -3
  105. package/esm/models/list/ListModel.js.map +1 -1
  106. package/esm/models/lookup/LookupOptionCollection.js +5 -2
  107. package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
  108. package/esm/models/lookup/LookupOptionsModel.js +2 -2
  109. package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
  110. package/esm/models/panels/GroupingPanelModel.js +1 -1
  111. package/esm/models/panels/GroupingPanelModel.js.map +1 -1
  112. package/esm/models/tab/TabModel.js +2 -2
  113. package/esm/models/tab/TabModel.js.map +1 -1
  114. package/esm/models/taskgroup/TaskGroupModel.js +4 -5
  115. package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
  116. package/esm/models/types.js.map +1 -1
  117. package/esm/models/user/UserProfileModel.js +4 -1
  118. package/esm/models/user/UserProfileModel.js.map +1 -1
  119. package/esm/modularui/CaptchaRequest.js +3 -3
  120. package/esm/modularui/CaptchaRequest.js.map +1 -1
  121. package/esm/modularui/ModularUIRequest.js +8 -5
  122. package/esm/modularui/ModularUIRequest.js.map +1 -1
  123. package/esm/modularui/ModularUIResponse.js +12 -3
  124. package/esm/modularui/ModularUIResponse.js.map +1 -1
  125. package/esm/modularui/UploadRequest.js +3 -3
  126. package/esm/modularui/UploadRequest.js.map +1 -1
  127. package/esm/react-client/client.js +3 -3
  128. package/esm/react-client/client.js.map +1 -1
  129. package/esm/react-server/renderSSRComplete.js +2 -2
  130. package/esm/react-server/renderSSRComplete.js.map +1 -1
  131. package/esm/react-server/renderSSRMinimal.js +2 -2
  132. package/esm/react-server/renderSSRMinimal.js.map +1 -1
  133. package/esm/redux/_modularui/ModularUIActions.js +8 -2
  134. package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
  135. package/esm/redux/_modularui/ModularUIUtils.js +8 -11
  136. package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
  137. package/esm/utils/browser/Cookies.js +3 -3
  138. package/esm/utils/browser/Cookies.js.map +1 -1
  139. package/esm/utils/helpers/createHref.js +23 -3
  140. package/esm/utils/helpers/createHref.js.map +1 -1
  141. package/esm/utils/helpers/repositoryResource.js +2 -2
  142. package/esm/utils/helpers/repositoryResource.js.map +1 -1
  143. package/lib/constants/Settings.js +18 -8
  144. package/lib/constants/Settings.js.flow +16 -6
  145. package/lib/constants/Settings.js.map +1 -1
  146. package/lib/hooks/useAuthentication.js +2 -2
  147. package/lib/hooks/useAuthentication.js.flow +3 -3
  148. package/lib/hooks/useAuthentication.js.map +1 -1
  149. package/lib/hooks/useModelCatalog.js.flow +7 -6
  150. package/lib/hooks/useModelCatalog.js.map +1 -1
  151. package/lib/hooks/useModularUI.js +9 -8
  152. package/lib/hooks/useModularUI.js.flow +12 -9
  153. package/lib/hooks/useModularUI.js.map +1 -1
  154. package/lib/hooks/useModularUIBasic.js +2 -4
  155. package/lib/hooks/useModularUIBasic.js.flow +3 -4
  156. package/lib/hooks/useModularUIBasic.js.map +1 -1
  157. package/lib/hooks/useModularUIModel.js.flow +16 -11
  158. package/lib/hooks/useModularUIModel.js.map +1 -1
  159. package/lib/models/actions/ActionCollection.js +2 -2
  160. package/lib/models/actions/ActionCollection.js.flow +3 -8
  161. package/lib/models/actions/ActionCollection.js.map +1 -1
  162. package/lib/models/actions/ActionModel.js +12 -22
  163. package/lib/models/actions/ActionModel.js.flow +7 -24
  164. package/lib/models/actions/ActionModel.js.map +1 -1
  165. package/lib/models/application/ApplicationModel.js +1 -1
  166. package/lib/models/application/ApplicationModel.js.flow +1 -2
  167. package/lib/models/application/ApplicationModel.js.map +1 -1
  168. package/lib/models/attributes/AttributeCollection.js +6 -3
  169. package/lib/models/attributes/AttributeCollection.js.flow +12 -4
  170. package/lib/models/attributes/AttributeCollection.js.map +1 -1
  171. package/lib/models/attributes/AttributeModel.js +3 -3
  172. package/lib/models/attributes/AttributeModel.js.flow +8 -2
  173. package/lib/models/attributes/AttributeModel.js.map +1 -1
  174. package/lib/models/attributes/AttributeSetModel.js +7 -3
  175. package/lib/models/attributes/AttributeSetModel.js.flow +11 -3
  176. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  177. package/lib/models/attributes/BooleanAttributeModel.js +6 -3
  178. package/lib/models/attributes/BooleanAttributeModel.js.flow +8 -4
  179. package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
  180. package/lib/models/attributes/ChoiceAttributeModel.js +6 -3
  181. package/lib/models/attributes/ChoiceAttributeModel.js.flow +13 -4
  182. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  183. package/lib/models/attributes/ChoiceAttributeOptionCollection.js +18 -13
  184. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.flow +30 -28
  185. package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
  186. package/lib/models/attributes/ChoiceAttributeOptionModel.js +17 -10
  187. package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +30 -11
  188. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  189. package/lib/models/attributes/CompositeAttributeChildCollection.js +7 -7
  190. package/lib/models/attributes/CompositeAttributeChildCollection.js.flow +8 -1
  191. package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
  192. package/lib/models/attributes/CompositeAttributeModel.js +3 -3
  193. package/lib/models/attributes/CompositeAttributeModel.js.flow +8 -3
  194. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  195. package/lib/models/attributes/DatetimeAttributeModel.js +2 -2
  196. package/lib/models/attributes/DatetimeAttributeModel.js.flow +7 -2
  197. package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
  198. package/lib/models/attributes/StringAttributeModel.js +2 -2
  199. package/lib/models/attributes/StringAttributeModel.js.flow +7 -3
  200. package/lib/models/attributes/StringAttributeModel.js.map +1 -1
  201. package/lib/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js.flow +1 -1
  202. package/lib/models/attributes/_createAttribute.js +2 -2
  203. package/lib/models/attributes/_createAttribute.js.flow +3 -2
  204. package/lib/models/attributes/_createAttribute.js.map +1 -1
  205. package/lib/models/base/BaseModel.js +27 -1
  206. package/lib/models/base/BaseModel.js.flow +31 -1
  207. package/lib/models/base/BaseModel.js.map +1 -1
  208. package/lib/models/base/ResourceModel.js +3 -22
  209. package/lib/models/base/ResourceModel.js.flow +6 -23
  210. package/lib/models/base/ResourceModel.js.map +1 -1
  211. package/lib/models/base/__tests__/BaseModel.spec.js.flow +4 -0
  212. package/lib/models/caseview/CaseViewModel.js +1 -1
  213. package/lib/models/caseview/CaseViewModel.js.flow +1 -2
  214. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  215. package/lib/models/concepts/ConceptDetailModel.js +2 -2
  216. package/lib/models/concepts/ConceptDetailModel.js.flow +2 -2
  217. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  218. package/lib/models/concepts/ConceptIndexModel.js +2 -2
  219. package/lib/models/concepts/ConceptIndexModel.js.flow +9 -6
  220. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  221. package/lib/models/concepts/ConceptLinkModel.js +4 -10
  222. package/lib/models/concepts/ConceptLinkModel.js.flow +15 -12
  223. package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
  224. package/lib/models/concepts/ConceptRelationCollection.js +11 -4
  225. package/lib/models/concepts/ConceptRelationCollection.js.flow +17 -3
  226. package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
  227. package/lib/models/concepts/ConceptRelationModel.js +8 -1
  228. package/lib/models/concepts/ConceptRelationModel.js.flow +18 -2
  229. package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
  230. package/lib/models/concepts/SourceReferenceCollection.js +2 -3
  231. package/lib/models/concepts/SourceReferenceCollection.js.flow +3 -8
  232. package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
  233. package/lib/models/concepts/SourceReferenceModel.js +8 -8
  234. package/lib/models/concepts/SourceReferenceModel.js.flow +10 -11
  235. package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
  236. package/lib/models/content/ContentIndexModel.js +2 -2
  237. package/lib/models/content/ContentIndexModel.js.flow +10 -5
  238. package/lib/models/content/ContentIndexModel.js.map +1 -1
  239. package/lib/models/content/ContentLinkModel.js +4 -10
  240. package/lib/models/content/ContentLinkModel.js.flow +10 -13
  241. package/lib/models/content/ContentLinkModel.js.map +1 -1
  242. package/lib/models/content/ContentModel.js +2 -2
  243. package/lib/models/content/ContentModel.js.flow +6 -1
  244. package/lib/models/content/ContentModel.js.map +1 -1
  245. package/lib/models/content/ContentTOCModel.js +7 -7
  246. package/lib/models/content/ContentTOCModel.js.flow +19 -11
  247. package/lib/models/content/ContentTOCModel.js.map +1 -1
  248. package/lib/models/content/SectionModel.js +6 -11
  249. package/lib/models/content/SectionModel.js.flow +9 -21
  250. package/lib/models/content/SectionModel.js.map +1 -1
  251. package/lib/models/detail/DetailModel.js +9 -3
  252. package/lib/models/detail/DetailModel.js.flow +3 -4
  253. package/lib/models/detail/DetailModel.js.map +1 -1
  254. package/lib/models/error/ErrorResponse.js +7 -9
  255. package/lib/models/error/ErrorResponse.js.flow +9 -20
  256. package/lib/models/error/ErrorResponse.js.map +1 -1
  257. package/lib/models/filters/AssignmentFilterModel.js +2 -2
  258. package/lib/models/filters/AssignmentFilterModel.js.flow +7 -3
  259. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  260. package/lib/models/filters/BaseFilterModel.js +3 -3
  261. package/lib/models/filters/BaseFilterModel.js.flow +16 -7
  262. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  263. package/lib/models/filters/ConceptIndexFilterModel.js +2 -2
  264. package/lib/models/filters/ConceptIndexFilterModel.js.flow +8 -2
  265. package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
  266. package/lib/models/filters/FilterCollection.js +8 -7
  267. package/lib/models/filters/FilterCollection.js.flow +13 -7
  268. package/lib/models/filters/FilterCollection.js.map +1 -1
  269. package/lib/models/filters/StringFilterModel.js +2 -2
  270. package/lib/models/filters/StringFilterModel.js.flow +7 -3
  271. package/lib/models/filters/StringFilterModel.js.map +1 -1
  272. package/lib/models/form/FormModel.js +4 -4
  273. package/lib/models/form/FormModel.js.flow +8 -2
  274. package/lib/models/form/FormModel.js.map +1 -1
  275. package/lib/models/form/FormObjectModel.js +7 -4
  276. package/lib/models/form/FormObjectModel.js.flow +17 -4
  277. package/lib/models/form/FormObjectModel.js.map +1 -1
  278. package/lib/models/grouping/GroupingModel.js +10 -7
  279. package/lib/models/grouping/GroupingModel.js.flow +21 -5
  280. package/lib/models/grouping/GroupingModel.js.map +1 -1
  281. package/lib/models/href/Href.js +8 -7
  282. package/lib/models/href/Href.js.flow +17 -10
  283. package/lib/models/href/Href.js.map +1 -1
  284. package/lib/models/href/__tests__/Href.spec.js.flow +5 -8
  285. package/lib/models/links/LinkCollection.js +2 -3
  286. package/lib/models/links/LinkCollection.js.flow +3 -3
  287. package/lib/models/links/LinkCollection.js.map +1 -1
  288. package/lib/models/links/LinkModel.js +7 -7
  289. package/lib/models/links/LinkModel.js.flow +8 -15
  290. package/lib/models/links/LinkModel.js.map +1 -1
  291. package/lib/models/list/ListDetailModel.js +1 -1
  292. package/lib/models/list/ListDetailModel.js.flow +6 -1
  293. package/lib/models/list/ListDetailModel.js.map +1 -1
  294. package/lib/models/list/ListItemCollection.js +1 -1
  295. package/lib/models/list/ListItemCollection.js.flow +1 -2
  296. package/lib/models/list/ListItemCollection.js.map +1 -1
  297. package/lib/models/list/ListItemModel.js +3 -3
  298. package/lib/models/list/ListItemModel.js.flow +4 -4
  299. package/lib/models/list/ListItemModel.js.map +1 -1
  300. package/lib/models/list/ListModel.js +3 -3
  301. package/lib/models/list/ListModel.js.flow +12 -8
  302. package/lib/models/list/ListModel.js.map +1 -1
  303. package/lib/models/lookup/LookupOptionCollection.js +5 -1
  304. package/lib/models/lookup/LookupOptionCollection.js.flow +17 -6
  305. package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
  306. package/lib/models/lookup/LookupOptionsModel.js +2 -2
  307. package/lib/models/lookup/LookupOptionsModel.js.flow +2 -0
  308. package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
  309. package/lib/models/panels/GroupingPanelModel.js +1 -1
  310. package/lib/models/panels/GroupingPanelModel.js.flow +1 -2
  311. package/lib/models/panels/GroupingPanelModel.js.map +1 -1
  312. package/lib/models/tab/TabModel.js +2 -2
  313. package/lib/models/tab/TabModel.js.flow +2 -4
  314. package/lib/models/tab/TabModel.js.map +1 -1
  315. package/lib/models/taskgroup/TaskGroupModel.js +4 -4
  316. package/lib/models/taskgroup/TaskGroupModel.js.flow +5 -6
  317. package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
  318. package/lib/models/types.js.flow +5 -0
  319. package/lib/models/types.js.map +1 -1
  320. package/lib/models/user/UserProfileModel.js +4 -1
  321. package/lib/models/user/UserProfileModel.js.flow +1 -0
  322. package/lib/models/user/UserProfileModel.js.map +1 -1
  323. package/lib/modularui/CaptchaRequest.js +2 -2
  324. package/lib/modularui/CaptchaRequest.js.flow +7 -3
  325. package/lib/modularui/CaptchaRequest.js.map +1 -1
  326. package/lib/modularui/ModularUIRequest.js +7 -4
  327. package/lib/modularui/ModularUIRequest.js.flow +8 -5
  328. package/lib/modularui/ModularUIRequest.js.map +1 -1
  329. package/lib/modularui/ModularUIResponse.js +11 -2
  330. package/lib/modularui/ModularUIResponse.js.flow +13 -3
  331. package/lib/modularui/ModularUIResponse.js.map +1 -1
  332. package/lib/modularui/UploadRequest.js +2 -2
  333. package/lib/modularui/UploadRequest.js.flow +7 -3
  334. package/lib/modularui/UploadRequest.js.map +1 -1
  335. package/lib/react-client/client.js +2 -2
  336. package/lib/react-client/client.js.flow +7 -3
  337. package/lib/react-client/client.js.map +1 -1
  338. package/lib/react-server/renderSSRComplete.js +1 -1
  339. package/lib/react-server/renderSSRComplete.js.flow +2 -2
  340. package/lib/react-server/renderSSRComplete.js.map +1 -1
  341. package/lib/react-server/renderSSRMinimal.js +1 -1
  342. package/lib/react-server/renderSSRMinimal.js.flow +2 -2
  343. package/lib/react-server/renderSSRMinimal.js.map +1 -1
  344. package/lib/redux/_modularui/ModularUIActions.js +8 -2
  345. package/lib/redux/_modularui/ModularUIActions.js.flow +8 -7
  346. package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
  347. package/lib/redux/_modularui/ModularUIUtils.js +8 -11
  348. package/lib/redux/_modularui/ModularUIUtils.js.flow +13 -14
  349. package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
  350. package/lib/utils/browser/Cookies.js +2 -2
  351. package/lib/utils/browser/Cookies.js.flow +3 -3
  352. package/lib/utils/browser/Cookies.js.map +1 -1
  353. package/lib/utils/helpers/__tests__/createHref.spec.js.flow +13 -8
  354. package/lib/utils/helpers/createHref.js +23 -3
  355. package/lib/utils/helpers/createHref.js.flow +37 -8
  356. package/lib/utils/helpers/createHref.js.map +1 -1
  357. package/lib/utils/helpers/repositoryResource.js +1 -1
  358. package/lib/utils/helpers/repositoryResource.js.flow +2 -2
  359. package/lib/utils/helpers/repositoryResource.js.map +1 -1
  360. package/package.json +4 -4
  361. package/src/constants/Settings.js +16 -6
  362. package/src/hooks/useAuthentication.js +3 -3
  363. package/src/hooks/useModelCatalog.js +7 -6
  364. package/src/hooks/useModularUI.js +12 -9
  365. package/src/hooks/useModularUIBasic.js +3 -4
  366. package/src/hooks/useModularUIModel.js +16 -11
  367. package/src/models/actions/ActionCollection.js +3 -8
  368. package/src/models/actions/ActionModel.js +7 -24
  369. package/src/models/application/ApplicationModel.js +1 -2
  370. package/src/models/attributes/AttributeCollection.js +12 -4
  371. package/src/models/attributes/AttributeModel.js +8 -2
  372. package/src/models/attributes/AttributeSetModel.js +11 -3
  373. package/src/models/attributes/BooleanAttributeModel.js +8 -4
  374. package/src/models/attributes/ChoiceAttributeModel.js +13 -4
  375. package/src/models/attributes/ChoiceAttributeOptionCollection.js +30 -28
  376. package/src/models/attributes/ChoiceAttributeOptionModel.js +30 -11
  377. package/src/models/attributes/CompositeAttributeChildCollection.js +8 -1
  378. package/src/models/attributes/CompositeAttributeModel.js +8 -3
  379. package/src/models/attributes/DatetimeAttributeModel.js +7 -2
  380. package/src/models/attributes/StringAttributeModel.js +7 -3
  381. package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +1 -1
  382. package/src/models/attributes/_createAttribute.js +3 -2
  383. package/src/models/base/BaseModel.js +31 -1
  384. package/src/models/base/ResourceModel.js +6 -23
  385. package/src/models/base/__tests__/BaseModel.spec.js +4 -0
  386. package/src/models/caseview/CaseViewModel.js +1 -2
  387. package/src/models/concepts/ConceptDetailModel.js +2 -2
  388. package/src/models/concepts/ConceptIndexModel.js +9 -6
  389. package/src/models/concepts/ConceptLinkModel.js +15 -12
  390. package/src/models/concepts/ConceptRelationCollection.js +17 -3
  391. package/src/models/concepts/ConceptRelationModel.js +18 -2
  392. package/src/models/concepts/SourceReferenceCollection.js +3 -8
  393. package/src/models/concepts/SourceReferenceModel.js +10 -11
  394. package/src/models/content/ContentIndexModel.js +10 -5
  395. package/src/models/content/ContentLinkModel.js +10 -13
  396. package/src/models/content/ContentModel.js +6 -1
  397. package/src/models/content/ContentTOCModel.js +19 -11
  398. package/src/models/content/SectionModel.js +9 -21
  399. package/src/models/detail/DetailModel.js +3 -4
  400. package/src/models/error/ErrorResponse.js +9 -20
  401. package/src/models/filters/AssignmentFilterModel.js +7 -3
  402. package/src/models/filters/BaseFilterModel.js +16 -7
  403. package/src/models/filters/ConceptIndexFilterModel.js +8 -2
  404. package/src/models/filters/FilterCollection.js +13 -7
  405. package/src/models/filters/StringFilterModel.js +7 -3
  406. package/src/models/form/FormModel.js +8 -2
  407. package/src/models/form/FormObjectModel.js +17 -4
  408. package/src/models/grouping/GroupingModel.js +21 -5
  409. package/src/models/href/Href.js +17 -10
  410. package/src/models/href/__tests__/Href.spec.js +5 -8
  411. package/src/models/links/LinkCollection.js +3 -3
  412. package/src/models/links/LinkModel.js +8 -15
  413. package/src/models/list/ListDetailModel.js +6 -1
  414. package/src/models/list/ListItemCollection.js +1 -2
  415. package/src/models/list/ListItemModel.js +4 -4
  416. package/src/models/list/ListModel.js +12 -8
  417. package/src/models/lookup/LookupOptionCollection.js +17 -6
  418. package/src/models/lookup/LookupOptionsModel.js +2 -0
  419. package/src/models/panels/GroupingPanelModel.js +1 -2
  420. package/src/models/tab/TabModel.js +2 -4
  421. package/src/models/taskgroup/TaskGroupModel.js +5 -6
  422. package/src/models/types.js +5 -0
  423. package/src/models/user/UserProfileModel.js +1 -0
  424. package/src/modularui/CaptchaRequest.js +7 -3
  425. package/src/modularui/ModularUIRequest.js +8 -5
  426. package/src/modularui/ModularUIResponse.js +13 -3
  427. package/src/modularui/UploadRequest.js +7 -3
  428. package/src/react-client/client.js +7 -3
  429. package/src/react-server/renderSSRComplete.js +2 -2
  430. package/src/react-server/renderSSRMinimal.js +2 -2
  431. package/src/redux/_modularui/ModularUIActions.js +8 -7
  432. package/src/redux/_modularui/ModularUIUtils.js +13 -14
  433. package/src/utils/browser/Cookies.js +3 -3
  434. package/src/utils/helpers/__tests__/createHref.spec.js +13 -8
  435. package/src/utils/helpers/createHref.js +37 -8
  436. package/src/utils/helpers/repositoryResource.js +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorResponse.js","names":["_Href","_interopRequireDefault","require","_LayoutHintCollection","_constants","ErrorResponse","constructor","data","connectKey","origin","contextPath","_defineProperty2","default","getBasePath","_error","_connectKey","_origin","_contextPath","key","error","status","NO_RESPONSE_CODE","DECIMAL_RADIX","parseInt","id","isResourceNotFound","name","message","responseMessage","response","title","titleMessage","undefined","titleId","titleProperties","properties","redirect","redirectText","text","redirectTextID","redirectTextProperties","redirectMessage","redirectHref","href","Href","layouthint","LayoutHintCollection","parameters","RESOURCE_NOT_FOUND_RESPONSE_CODE","isResourceNotFoundAfterReload","isReload","isUnauthorized","UNAUTHORIZED_RESPONSE_CODE","hasUnauthorizedStatus","hasUnauthorizedErrorId","hasLoginAction","action","isChangePassword","isConcurrentUser","isConcurrentError","isBlocked","isInvalidCredentials","isInvalidUsername","isTimeoutError","isRemoteServiceException","changePasswordHref","isBasicAuthentication","loginFailed","shouldThrowOnServer","exports"],"sources":["../../../src/models/error/ErrorResponse.js"],"sourcesContent":["// @flow\nimport Href from \"../href/Href\";\n\nimport type { MessageParameters } from \"../../i18n/types\";\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { getBasePath } from \"../../constants\";\n\n/**\n */\nexport type TitleObject = {\n +id: string,\n +properties?: Object,\n +message?: string,\n};\n/**\n */\nexport type RedirectTextObject = {\n +id: string,\n +properties?: Object,\n +message?: string,\n};\n\n/**\n */\nexport type RedirectObject = {\n +href: Href,\n +text?: RedirectTextObject,\n};\n\n/**\n * Error response model\n */\nexport default class ErrorResponse {\n _error: Object;\n _connectKey: ?string;\n\n _origin: string = \"\";\n _contextPath: string = getBasePath();\n\n /**\n * Construct ErrorResponse\n */\n constructor(\n data: Object,\n connectKey?: string,\n origin?: string,\n contextPath?: string,\n ) {\n this._error = data;\n this._connectKey = connectKey;\n\n this._origin = origin || \"\";\n this._contextPath = contextPath || getBasePath();\n }\n\n /**\n */\n set connectKey(key: string) {\n this._connectKey = key;\n }\n\n /**\n */\n get connectKey(): ?string {\n return this._connectKey;\n }\n\n /**\n */\n get origin(): string {\n return this._origin;\n }\n\n /**\n */\n get contextPath(): string {\n return this._contextPath;\n }\n\n /**\n * Return error information\n */\n get error(): Object {\n return this._error ?? {};\n }\n\n /**\n * Get request status code\n */\n get status(): number {\n const NO_RESPONSE_CODE = 0;\n const DECIMAL_RADIX = 10;\n return this.error.status\n ? parseInt(this.error.status, DECIMAL_RADIX)\n : NO_RESPONSE_CODE;\n }\n\n /**\n * Return error type information\n */\n get id(): string {\n if (this.isResourceNotFound && this.error.id !== \"Error.NotAuthorized\") {\n return \"Error.ResourceNotFound\";\n }\n\n return this.error.id || this.error.name || \"Error.GeneralError\";\n }\n\n /**\n */\n get message(): string {\n return this.error.message || this.id;\n }\n\n /**\n * Return response error message\n */\n get responseMessage(): string {\n return this.response.message || null;\n }\n\n /**\n * Return response error title\n */\n get title(): TitleObject {\n return this.response.title || null;\n }\n\n /**\n * Return response error title message\n */\n get titleMessage(): string {\n return this.response.title?.message || undefined;\n }\n\n /**\n * Return response error title Id\n */\n get titleId(): string {\n return this.response.title?.id || undefined;\n }\n\n /**\n * Return response error title properties\n */\n get titleProperties(): Object {\n return this.response.title?.properties || null;\n }\n\n /**\n * Return response error redirect\n */\n get redirect(): RedirectObject {\n return this.response.redirect || null;\n }\n /**\n * Return response error redirect text\n */\n get redirectText(): RedirectTextObject {\n return this.response?.redirect?.text || null;\n }\n\n /**\n * Return response error redirect text id\n */\n get redirectTextID(): string {\n return this.response.redirect?.text?.id || undefined;\n }\n\n /**\n * Return response error redirect text properties\n */\n get redirectTextProperties(): Object {\n return this.response.redirect?.text?.properties || null;\n }\n\n /**\n * Return response error redirect text message\n */\n get redirectMessage(): string {\n return this.response.redirect?.text?.message || undefined;\n }\n\n /**\n * Return response error redirect href\n */\n get redirectHref(): Href {\n if (this.response.redirect?.href) {\n return new Href(\n this.response.redirect?.href,\n \"\",\n this.origin,\n this.contextPath,\n );\n }\n return new Href();\n }\n\n /**\n * Return error response layouthint\n */\n get layouthint(): LayoutHintCollection {\n return new LayoutHintCollection(this.response?.layouthint);\n }\n\n /**\n */\n get response(): Object {\n return this.error?.response?.error || {};\n }\n\n /**\n */\n get properties(): Object {\n const { properties } = this.error;\n if (properties != null && typeof properties == \"object\") {\n return properties;\n }\n\n return {};\n }\n\n /**\n * Return error parameters\n */\n get parameters(): ?MessageParameters {\n return this.error.parameters || null;\n }\n\n /**\n */\n get isResourceNotFound(): boolean {\n const RESOURCE_NOT_FOUND_RESPONSE_CODE = 404;\n\n return this.status === RESOURCE_NOT_FOUND_RESPONSE_CODE;\n }\n\n /**\n */\n get isResourceNotFoundAfterReload(): boolean {\n return this.isResourceNotFound && this.error.isReload;\n }\n\n /**\n * Check if the error message is an authorization error\n */\n get isUnauthorized(): boolean {\n const UNAUTHORIZED_RESPONSE_CODE = 401;\n\n const hasUnauthorizedStatus = this.status === UNAUTHORIZED_RESPONSE_CODE;\n const hasUnauthorizedErrorId =\n this.id === \"Error.NotAuthorized\" ||\n this.id === \"Error.Authentication.Required\" ||\n this.id === \"Error.Authentication.InvalidCredentials\";\n\n const hasLoginAction = this.error.action\n ? this.error.action.name === \"login\"\n : false;\n\n return hasUnauthorizedStatus || hasUnauthorizedErrorId || hasLoginAction;\n }\n\n /**\n */\n get isChangePassword(): boolean {\n return this.id === \"Error.ChangePasswordRequired\";\n }\n\n /**\n */\n get isConcurrentUser(): boolean {\n return this.id === \"Error.Authentication.ConcurrentUser\";\n }\n\n /**\n */\n get isConcurrentError(): boolean {\n return (\n this.id === \"Error.Case.ConcurrentModification\" ||\n this.id === \"Error.DataStore.ConcurrentModification\" ||\n this.id === \"Error.DataStore.RecordAlreadyExists\" ||\n this.id === \"Error.DataStore.RowCannotBeLocked\"\n );\n }\n\n /**\n */\n get isBlocked(): boolean {\n return this.id === \"Error.Authentication.BlockedUser\";\n }\n\n /**\n */\n get isInvalidCredentials(): boolean {\n return this.id === \"Error.Authentication.InvalidCredentials\";\n }\n\n /**\n */\n get isInvalidUsername(): boolean {\n return this.id === \"Error.Authentication.InvalidUsername\";\n }\n\n /**\n */\n get isTimeoutError(): boolean {\n return this.id === \"Error.CodemapLookup.InvalidToken\";\n }\n\n /**\n * A RemoteServiceException occurs when an exception occurs connecting to an external system,\n * for example when using the service list panels\n */\n get isRemoteServiceException(): boolean {\n return this.id === \"Error.RemoteServiceException\";\n }\n\n /**\n * Get response url\n */\n get changePasswordHref(): ?Href {\n return this.properties.redirect\n ? new Href(this.properties.redirect, \"\", this.origin, this.contextPath)\n : null;\n }\n\n /**\n * When no action information is present in the unauthorized response, for now we assume it is Basic Authentication\n */\n get isBasicAuthentication(): boolean {\n const UNAUTHORIZED_RESPONSE_CODE = 401;\n return (\n this.isUnauthorized &&\n this.status === UNAUTHORIZED_RESPONSE_CODE &&\n this.response.error === \"No responseText\"\n );\n }\n\n /**\n * Retrieve a failed login attempt\n */\n get loginFailed(): boolean {\n return (\n this.id === \"Error.Authentication.Required\" ||\n this.id === \"Error.Authentication.InvalidCredentials\"\n );\n }\n\n /**\n */\n get shouldThrowOnServer(): boolean {\n return !this.isChangePassword && !this.isBlocked && !this.isConcurrentUser;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ErrorResponse.js","names":["_Href","_interopRequireDefault","require","_LayoutHintCollection","_constants","ErrorResponse","constructor","data","connectKey","modelOptions","_defineProperty2","default","_error","_connectKey","_modelOptions","key","origin","contextPath","getBasePathModularUI","error","status","NO_RESPONSE_CODE","DECIMAL_RADIX","parseInt","id","isResourceNotFound","name","message","responseMessage","response","title","titleMessage","undefined","titleId","titleProperties","properties","redirect","redirectText","text","redirectTextID","redirectTextProperties","redirectMessage","redirectHref","href","Href","layouthint","LayoutHintCollection","parameters","RESOURCE_NOT_FOUND_RESPONSE_CODE","isResourceNotFoundAfterReload","isReload","isUnauthorized","UNAUTHORIZED_RESPONSE_CODE","hasUnauthorizedStatus","hasUnauthorizedErrorId","hasLoginAction","action","isChangePassword","isConcurrentUser","isConcurrentError","isBlocked","isInvalidCredentials","isInvalidUsername","isTimeoutError","isRemoteServiceException","changePasswordHref","isBasicAuthentication","loginFailed","shouldThrowOnServer","exports"],"sources":["../../../src/models/error/ErrorResponse.js"],"sourcesContent":["// @flow\nimport Href from \"../href/Href\";\n\nimport type { MessageParameters } from \"../../i18n/types\";\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { getBasePathModularUI } from \"../../constants\";\nimport type { ModelOptions } from \"../types\";\n\n/**\n */\nexport type TitleObject = {\n +id: string,\n +properties?: Object,\n +message?: string,\n};\n/**\n */\nexport type RedirectTextObject = {\n +id: string,\n +properties?: Object,\n +message?: string,\n};\n\n/**\n */\nexport type RedirectObject = {\n +href: Href,\n +text?: RedirectTextObject,\n};\n\n/**\n * Error response model\n */\nexport default class ErrorResponse {\n _error: Object;\n _connectKey: ?string;\n\n _modelOptions: ?ModelOptions;\n\n /**\n * Construct ErrorResponse\n */\n constructor(data: Object, connectKey?: string, modelOptions?: ModelOptions) {\n this._error = data;\n this._connectKey = connectKey;\n\n this._modelOptions = modelOptions;\n }\n\n /**\n */\n set connectKey(key: string) {\n this._connectKey = key;\n }\n\n /**\n */\n get connectKey(): ?string {\n return this._connectKey;\n }\n\n /**\n */\n get origin(): string {\n return this._modelOptions?.origin || \"\";\n }\n\n /**\n */\n get contextPath(): string {\n return this._modelOptions?.contextPath || getBasePathModularUI();\n }\n\n /**\n * Return error information\n */\n get error(): Object {\n return this._error ?? {};\n }\n\n /**\n * Get request status code\n */\n get status(): number {\n const NO_RESPONSE_CODE = 0;\n const DECIMAL_RADIX = 10;\n return this.error.status\n ? parseInt(this.error.status, DECIMAL_RADIX)\n : NO_RESPONSE_CODE;\n }\n\n /**\n * Return error type information\n */\n get id(): string {\n if (this.isResourceNotFound && this.error.id !== \"Error.NotAuthorized\") {\n return \"Error.ResourceNotFound\";\n }\n\n return this.error.id || this.error.name || \"Error.GeneralError\";\n }\n\n /**\n */\n get message(): string {\n return this.error.message || this.id;\n }\n\n /**\n * Return response error message\n */\n get responseMessage(): string {\n return this.response.message || null;\n }\n\n /**\n * Return response error title\n */\n get title(): TitleObject {\n return this.response.title || null;\n }\n\n /**\n * Return response error title message\n */\n get titleMessage(): string {\n return this.response.title?.message || undefined;\n }\n\n /**\n * Return response error title Id\n */\n get titleId(): string {\n return this.response.title?.id || undefined;\n }\n\n /**\n * Return response error title properties\n */\n get titleProperties(): Object {\n return this.response.title?.properties || null;\n }\n\n /**\n * Return response error redirect\n */\n get redirect(): RedirectObject {\n return this.response.redirect || null;\n }\n /**\n * Return response error redirect text\n */\n get redirectText(): RedirectTextObject {\n return this.response?.redirect?.text || null;\n }\n\n /**\n * Return response error redirect text id\n */\n get redirectTextID(): string {\n return this.response.redirect?.text?.id || undefined;\n }\n\n /**\n * Return response error redirect text properties\n */\n get redirectTextProperties(): Object {\n return this.response.redirect?.text?.properties || null;\n }\n\n /**\n * Return response error redirect text message\n */\n get redirectMessage(): string {\n return this.response.redirect?.text?.message || undefined;\n }\n\n /**\n * Return response error redirect href\n */\n get redirectHref(): Href {\n if (this.response.redirect?.href) {\n return new Href(this.response.redirect?.href, \"\", this._modelOptions);\n }\n return new Href();\n }\n\n /**\n * Return error response layouthint\n */\n get layouthint(): LayoutHintCollection {\n return new LayoutHintCollection(this.response?.layouthint);\n }\n\n /**\n */\n get response(): Object {\n return this.error?.response?.error || {};\n }\n\n /**\n */\n get properties(): Object {\n const { properties } = this.error;\n if (properties != null && typeof properties == \"object\") {\n return properties;\n }\n\n return {};\n }\n\n /**\n * Return error parameters\n */\n get parameters(): ?MessageParameters {\n return this.error.parameters || null;\n }\n\n /**\n */\n get isResourceNotFound(): boolean {\n const RESOURCE_NOT_FOUND_RESPONSE_CODE = 404;\n\n return this.status === RESOURCE_NOT_FOUND_RESPONSE_CODE;\n }\n\n /**\n */\n get isResourceNotFoundAfterReload(): boolean {\n return this.isResourceNotFound && this.error.isReload;\n }\n\n /**\n * Check if the error message is an authorization error\n */\n get isUnauthorized(): boolean {\n const UNAUTHORIZED_RESPONSE_CODE = 401;\n\n const hasUnauthorizedStatus = this.status === UNAUTHORIZED_RESPONSE_CODE;\n const hasUnauthorizedErrorId =\n this.id === \"Error.NotAuthorized\" ||\n this.id === \"Error.Authentication.Required\" ||\n this.id === \"Error.Authentication.InvalidCredentials\";\n\n const hasLoginAction = this.error.action\n ? this.error.action.name === \"login\"\n : false;\n\n return hasUnauthorizedStatus || hasUnauthorizedErrorId || hasLoginAction;\n }\n\n /**\n */\n get isChangePassword(): boolean {\n return this.id === \"Error.ChangePasswordRequired\";\n }\n\n /**\n */\n get isConcurrentUser(): boolean {\n return this.id === \"Error.Authentication.ConcurrentUser\";\n }\n\n /**\n */\n get isConcurrentError(): boolean {\n return (\n this.id === \"Error.Case.ConcurrentModification\" ||\n this.id === \"Error.DataStore.ConcurrentModification\" ||\n this.id === \"Error.DataStore.RecordAlreadyExists\" ||\n this.id === \"Error.DataStore.RowCannotBeLocked\"\n );\n }\n\n /**\n */\n get isBlocked(): boolean {\n return this.id === \"Error.Authentication.BlockedUser\";\n }\n\n /**\n */\n get isInvalidCredentials(): boolean {\n return this.id === \"Error.Authentication.InvalidCredentials\";\n }\n\n /**\n */\n get isInvalidUsername(): boolean {\n return this.id === \"Error.Authentication.InvalidUsername\";\n }\n\n /**\n */\n get isTimeoutError(): boolean {\n return this.id === \"Error.CodemapLookup.InvalidToken\";\n }\n\n /**\n * A RemoteServiceException occurs when an exception occurs connecting to an external system,\n * for example when using the service list panels\n */\n get isRemoteServiceException(): boolean {\n return this.id === \"Error.RemoteServiceException\";\n }\n\n /**\n * Get response url\n */\n get changePasswordHref(): ?Href {\n return this.properties.redirect\n ? new Href(this.properties.redirect, \"\", this._modelOptions)\n : null;\n }\n\n /**\n * When no action information is present in the unauthorized response, for now we assume it is Basic Authentication\n */\n get isBasicAuthentication(): boolean {\n const UNAUTHORIZED_RESPONSE_CODE = 401;\n return (\n this.isUnauthorized &&\n this.status === UNAUTHORIZED_RESPONSE_CODE &&\n this.response.error === \"No responseText\"\n );\n }\n\n /**\n * Retrieve a failed login attempt\n */\n get loginFailed(): boolean {\n return (\n this.id === \"Error.Authentication.Required\" ||\n this.id === \"Error.Authentication.InvalidCredentials\"\n );\n }\n\n /**\n */\n get shouldThrowOnServer(): boolean {\n return !this.isChangePassword && !this.isBlocked && !this.isConcurrentUser;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -15,8 +15,8 @@ class AssignmentFilterModel extends _BaseFilterModel.default {
15
15
  /**
16
16
  * Construct an assignment filter
17
17
  */
18
- constructor(data, contributions) {
19
- super(data, contributions);
18
+ constructor(data, contributions, modelOptions) {
19
+ super(data, contributions, modelOptions);
20
20
  (0, _defineProperty2.default)(this, "_listKey", void 0);
21
21
  (0, _defineProperty2.default)(this, "_assignmenttype", void 0);
22
22
  (0, _defineProperty2.default)(this, "_user", void 0);
@@ -1,7 +1,7 @@
1
1
  // @flow
2
2
  import BaseFilterModel from "../filters/BaseFilterModel";
3
3
 
4
- import type { AttributeType } from "../types";
4
+ import type { AttributeType, ModelOptions } from "../types";
5
5
  import { IllegalStateException } from "../../exceptions";
6
6
  /**
7
7
  * Assignment filter consists of two filters: assignment type and user filter
@@ -14,8 +14,12 @@ export default class AssignmentFilterModel extends BaseFilterModel {
14
14
  /**
15
15
  * Construct an assignment filter
16
16
  */
17
- constructor(data: Object, contributions: Object) {
18
- super(data, contributions);
17
+ constructor(
18
+ data: Object,
19
+ contributions: Object,
20
+ modelOptions?: ModelOptions,
21
+ ) {
22
+ super(data, contributions, modelOptions);
19
23
 
20
24
  this._assignmenttype = this.createAssignmentTypeModel();
21
25
  this._user = this.createUserModel();
@@ -1 +1 @@
1
- {"version":3,"file":"AssignmentFilterModel.js","names":["_BaseFilterModel","_interopRequireDefault","require","_exceptions","AssignmentFilterModel","BaseFilterModel","constructor","data","contributions","_defineProperty2","default","_assignmenttype","createAssignmentTypeModel","_user","createUserModel","key","name","listkey","_listKey","contextid","getContribution","assignmentTypeData","IllegalStateException","dynamicschema","assignmentTypeContributions","enumerated","optionMode","_links","createAttribute","param","userData","userContributions","assignmenttype","user","params","value","reset","update","attribute","isActive","initvalue","isValid","exports"],"sources":["../../../src/models/filters/AssignmentFilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\n\nimport type { AttributeType } from \"../types\";\nimport { IllegalStateException } from \"../../exceptions\";\n/**\n * Assignment filter consists of two filters: assignment type and user filter\n */\nexport default class AssignmentFilterModel extends BaseFilterModel {\n _listKey: string;\n _assignmenttype: ?AttributeType;\n _user: ?AttributeType;\n\n /**\n * Construct an assignment filter\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._assignmenttype = this.createAssignmentTypeModel();\n this._user = this.createUserModel();\n }\n\n /**\n */\n get key(): ?string {\n return this.data.name;\n }\n\n /**\n * Getting key of the list these filters apply to\n */\n get listkey(): string {\n return this._listKey;\n }\n\n /**\n * Set key of list this filter belongs to\n */\n set listkey(key: string) {\n this._listKey = key;\n }\n\n /**\n */\n get contextid(): string {\n return this.getContribution(\"contextid\", \"\");\n }\n /**\n * Creates an assignmenttype model when assignmenttype json is present\n */\n createAssignmentTypeModel(): ?AttributeType {\n const key = `${this.contextid}ASSIGNMENTTYPE`;\n const assignmentTypeData = this.data[key];\n\n if (typeof assignmentTypeData === \"undefined\") {\n throw new IllegalStateException(\n `Missing assignment type data for ${key}`,\n );\n }\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n assignmentTypeData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const assignmentTypeContributions = {\n ...this.contributions[key],\n enumerated: true,\n optionMode: assignmentTypeData._links ? \"lookup\" : \"static\",\n };\n\n return this.createAttribute(\n \"choice\",\n assignmentTypeData.name || assignmentTypeData.param,\n assignmentTypeData,\n assignmentTypeContributions,\n );\n }\n\n /**\n * Creates an assignmenttype model when userkey json is present\n */\n createUserModel(): ?AttributeType {\n const key = `${this.contextid}USERKEY`;\n const userData = this.data[key];\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n userData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const userContributions = {\n ...this.contributions[key],\n optionMode: userData._links ? \"lookup\" : \"static\",\n };\n\n return this.createAttribute(\n \"choice\",\n userData.name || userData.param,\n userData,\n userContributions,\n );\n }\n\n /**\n * The assignment filter consists of two part. This method return the assignment type attribute\n */\n get assignmenttype(): ?AttributeType {\n return this._assignmenttype;\n }\n\n /**\n * The assignment filter consists of two part. This method return the user identifier attribute\n */\n get user(): ?AttributeType {\n return this._user;\n }\n\n /**\n * Getting the parameters of this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (this.assignmenttype && this.user) {\n return [\n {\n name: this.assignmenttype.name,\n value: this.assignmenttype.value,\n },\n {\n name: this.user.name,\n value: this.user.value,\n },\n ];\n }\n\n return [];\n }\n\n /**\n * Reset the values within the filter\n */\n reset(): AssignmentFilterModel {\n if (this.assignmenttype) {\n this.assignmenttype.reset();\n }\n if (this.user) {\n this.user.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter\n */\n update(attribute: AttributeType, value: string) {\n if (this.user != null && this.user.key === attribute.key) {\n this.user.update(value);\n } else if (\n this.assignmenttype != null &&\n this.assignmenttype.key === attribute.key\n ) {\n this.assignmenttype.update(value);\n }\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return (\n (this.assignmenttype != null && this.assignmenttype.initvalue !== null) ||\n (this.user != null && this.user.initvalue !== null)\n );\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return (\n this.assignmenttype != null &&\n this.assignmenttype.isValid &&\n this.user != null &&\n this.user.isValid\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AssignmentFilterModel.js","names":["_BaseFilterModel","_interopRequireDefault","require","_exceptions","AssignmentFilterModel","BaseFilterModel","constructor","data","contributions","modelOptions","_defineProperty2","default","_assignmenttype","createAssignmentTypeModel","_user","createUserModel","key","name","listkey","_listKey","contextid","getContribution","assignmentTypeData","IllegalStateException","dynamicschema","assignmentTypeContributions","enumerated","optionMode","_links","createAttribute","param","userData","userContributions","assignmenttype","user","params","value","reset","update","attribute","isActive","initvalue","isValid","exports"],"sources":["../../../src/models/filters/AssignmentFilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\n\nimport type { AttributeType, ModelOptions } from \"../types\";\nimport { IllegalStateException } from \"../../exceptions\";\n/**\n * Assignment filter consists of two filters: assignment type and user filter\n */\nexport default class AssignmentFilterModel extends BaseFilterModel {\n _listKey: string;\n _assignmenttype: ?AttributeType;\n _user: ?AttributeType;\n\n /**\n * Construct an assignment filter\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this._assignmenttype = this.createAssignmentTypeModel();\n this._user = this.createUserModel();\n }\n\n /**\n */\n get key(): ?string {\n return this.data.name;\n }\n\n /**\n * Getting key of the list these filters apply to\n */\n get listkey(): string {\n return this._listKey;\n }\n\n /**\n * Set key of list this filter belongs to\n */\n set listkey(key: string) {\n this._listKey = key;\n }\n\n /**\n */\n get contextid(): string {\n return this.getContribution(\"contextid\", \"\");\n }\n /**\n * Creates an assignmenttype model when assignmenttype json is present\n */\n createAssignmentTypeModel(): ?AttributeType {\n const key = `${this.contextid}ASSIGNMENTTYPE`;\n const assignmentTypeData = this.data[key];\n\n if (typeof assignmentTypeData === \"undefined\") {\n throw new IllegalStateException(\n `Missing assignment type data for ${key}`,\n );\n }\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n assignmentTypeData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const assignmentTypeContributions = {\n ...this.contributions[key],\n enumerated: true,\n optionMode: assignmentTypeData._links ? \"lookup\" : \"static\",\n };\n\n return this.createAttribute(\n \"choice\",\n assignmentTypeData.name || assignmentTypeData.param,\n assignmentTypeData,\n assignmentTypeContributions,\n );\n }\n\n /**\n * Creates an assignmenttype model when userkey json is present\n */\n createUserModel(): ?AttributeType {\n const key = `${this.contextid}USERKEY`;\n const userData = this.data[key];\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n userData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const userContributions = {\n ...this.contributions[key],\n optionMode: userData._links ? \"lookup\" : \"static\",\n };\n\n return this.createAttribute(\n \"choice\",\n userData.name || userData.param,\n userData,\n userContributions,\n );\n }\n\n /**\n * The assignment filter consists of two part. This method return the assignment type attribute\n */\n get assignmenttype(): ?AttributeType {\n return this._assignmenttype;\n }\n\n /**\n * The assignment filter consists of two part. This method return the user identifier attribute\n */\n get user(): ?AttributeType {\n return this._user;\n }\n\n /**\n * Getting the parameters of this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (this.assignmenttype && this.user) {\n return [\n {\n name: this.assignmenttype.name,\n value: this.assignmenttype.value,\n },\n {\n name: this.user.name,\n value: this.user.value,\n },\n ];\n }\n\n return [];\n }\n\n /**\n * Reset the values within the filter\n */\n reset(): AssignmentFilterModel {\n if (this.assignmenttype) {\n this.assignmenttype.reset();\n }\n if (this.user) {\n this.user.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter\n */\n update(attribute: AttributeType, value: string) {\n if (this.user != null && this.user.key === attribute.key) {\n this.user.update(value);\n } else if (\n this.assignmenttype != null &&\n this.assignmenttype.key === attribute.key\n ) {\n this.assignmenttype.update(value);\n }\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return (\n (this.assignmenttype != null && this.assignmenttype.initvalue !== null) ||\n (this.user != null && this.user.initvalue !== null)\n );\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return (\n this.assignmenttype != null &&\n this.assignmenttype.isValid &&\n this.user != null &&\n this.user.isValid\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,8 +16,8 @@ var _exceptions = require("../../exceptions");
16
16
  class BaseFilterModel extends _BaseModel.default {
17
17
  /**
18
18
  */
19
- constructor(data, contributions) {
20
- super(data, contributions);
19
+ constructor(data, contributions, modelOptions) {
20
+ super(data, contributions, modelOptions);
21
21
  (0, _defineProperty2.default)(this, "_attribute", null);
22
22
  (0, _defineProperty2.default)(this, "_context", void 0);
23
23
  (0, _defineProperty2.default)(this, "_listKey", void 0);
@@ -44,7 +44,7 @@ class BaseFilterModel extends _BaseModel.default {
44
44
  return (0, _createAttribute.default)(param, data, {
45
45
  ...contributions,
46
46
  type: type
47
- });
47
+ }, this.modelOptions);
48
48
  }
49
49
 
50
50
  /**
@@ -3,7 +3,7 @@ import BaseModel from "../base/BaseModel";
3
3
  import createAttribute from "../attributes/_createAttribute";
4
4
  import { PARAMETER_SEPARATOR } from "../../constants/Constants";
5
5
 
6
- import type { AttributeType, FilterType } from "../types";
6
+ import type { AttributeType, FilterType, ModelOptions } from "../types";
7
7
  import { IllegalStateException } from "../../exceptions";
8
8
 
9
9
  /**
@@ -16,8 +16,12 @@ export default class BaseFilterModel extends BaseModel {
16
16
 
17
17
  /**
18
18
  */
19
- constructor(data: Object, contributions: Object) {
20
- super(data, contributions);
19
+ constructor(
20
+ data: Object,
21
+ contributions: Object,
22
+ modelOptions?: ModelOptions,
23
+ ) {
24
+ super(data, contributions, modelOptions);
21
25
 
22
26
  this._attribute = this.createAttribute(
23
27
  this.type,
@@ -53,10 +57,15 @@ export default class BaseFilterModel extends BaseModel {
53
57
  return null;
54
58
  }
55
59
 
56
- return createAttribute(param, data, {
57
- ...contributions,
58
- type: type,
59
- });
60
+ return createAttribute(
61
+ param,
62
+ data,
63
+ {
64
+ ...contributions,
65
+ type: type,
66
+ },
67
+ this.modelOptions,
68
+ );
60
69
  }
61
70
 
62
71
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"BaseFilterModel.js","names":["_BaseModel","_interopRequireDefault","require","_createAttribute","_Constants","_exceptions","BaseFilterModel","BaseModel","constructor","data","contributions","_defineProperty2","default","_attribute","createAttribute","type","param","listKey","listkey","replace","isMultiple","getContribution","context","_context","contextLabel","label","_listKey","key","name","PARAMETER_SEPARATOR","attribute","IllegalStateException","params","value","inputvalue","reset","update","isQuickSearch","quicksearch","isActive","initvalue","isValid","readonlyvalue","assistantMessage","exports"],"sources":["../../../src/models/filters/BaseFilterModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport createAttribute from \"../attributes/_createAttribute\";\nimport { PARAMETER_SEPARATOR } from \"../../constants/Constants\";\n\nimport type { AttributeType, FilterType } from \"../types\";\nimport { IllegalStateException } from \"../../exceptions\";\n\n/**\n * Base class for filters\n */\nexport default class BaseFilterModel extends BaseModel {\n _attribute: AttributeType | null = null;\n _context: Object;\n _listKey: string;\n\n /**\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this._attribute = this.createAttribute(\n this.type,\n this.param,\n this.data,\n this.contributions,\n );\n\n if (this.contributions.listKey) {\n this.listkey = this.contributions.listKey;\n }\n }\n\n /**\n * Get the type of a filter.\n */\n get type(): string {\n return this.contributions.type\n ? this.contributions.type.replace(\"filter\", \"\")\n : \"string\";\n }\n\n /**\n * Create attribute through the attribute factory. Create type based on filter key without the filter suffix\n */\n createAttribute(\n type: string,\n param: string,\n data: Object,\n contributions: Object,\n ): AttributeType | null {\n if (type === \"assignment\") {\n return null;\n }\n\n return createAttribute(param, data, {\n ...contributions,\n type: type,\n });\n }\n\n /**\n * Inidiates if filter is multiplechoice\n */\n get isMultiple(): boolean {\n return this.getContribution(\"multiplechoice\", false);\n }\n\n /**\n * Getting context data\n */\n get context(): Object {\n return this._context;\n }\n\n /**\n * Set context of filter\n */\n set context(context: Object) {\n this._context = context;\n }\n\n /**\n * Getting the context label\n */\n get contextLabel(): string {\n return this.context?.label ?? \"\";\n }\n\n /**\n * Getting key of the list these filters apply to\n */\n get listkey(): string {\n return this._listKey;\n }\n\n /**\n * Set key of list this filter belongs to\n */\n set listkey(key: string) {\n this._listKey = key;\n }\n\n /**\n * Getting the label of the filter\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the name of the filter\n */\n get name(): string {\n if (this.listkey) {\n return this.listkey + PARAMETER_SEPARATOR + this.param;\n }\n\n return this.param;\n }\n\n /**\n * Getting the param name of the filter\n */\n get param(): string {\n return this.data.param ?? this.data.name;\n }\n\n /**\n * Get attribute of filter\n */\n get attribute(): AttributeType {\n if (!this._attribute) {\n throw new IllegalStateException(\n `Missing filter attribute on filter model: ${this.label}`,\n );\n }\n return this._attribute;\n }\n\n /**\n * Retrieve the parameters with it's value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.attribute?.value,\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this.attribute?.value;\n }\n\n /**\n * Getting the inputvalue of the filter\n */\n get inputvalue(): string {\n return this.attribute?.inputvalue;\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): FilterType {\n if (this.attribute) {\n this.attribute.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute) {\n this.attribute.update(value);\n }\n }\n\n /**\n * Inidicates if filter is a quick search filter\n */\n isQuickSearch(): boolean {\n return this.contributions.quicksearch === true;\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return this.attribute !== null && this.attribute.initvalue !== null;\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return this.attribute !== null && this.attribute.isValid;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.attribute) {\n return this.attribute.readonlyvalue;\n }\n return \"\";\n }\n\n /**\n * Get assistant message\n */\n get assistantMessage(): string | null {\n return this.getContribution(\"assistant\");\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BaseFilterModel.js","names":["_BaseModel","_interopRequireDefault","require","_createAttribute","_Constants","_exceptions","BaseFilterModel","BaseModel","constructor","data","contributions","modelOptions","_defineProperty2","default","_attribute","createAttribute","type","param","listKey","listkey","replace","isMultiple","getContribution","context","_context","contextLabel","label","_listKey","key","name","PARAMETER_SEPARATOR","attribute","IllegalStateException","params","value","inputvalue","reset","update","isQuickSearch","quicksearch","isActive","initvalue","isValid","readonlyvalue","assistantMessage","exports"],"sources":["../../../src/models/filters/BaseFilterModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport createAttribute from \"../attributes/_createAttribute\";\nimport { PARAMETER_SEPARATOR } from \"../../constants/Constants\";\n\nimport type { AttributeType, FilterType, ModelOptions } from \"../types\";\nimport { IllegalStateException } from \"../../exceptions\";\n\n/**\n * Base class for filters\n */\nexport default class BaseFilterModel extends BaseModel {\n _attribute: AttributeType | null = null;\n _context: Object;\n _listKey: string;\n\n /**\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this._attribute = this.createAttribute(\n this.type,\n this.param,\n this.data,\n this.contributions,\n );\n\n if (this.contributions.listKey) {\n this.listkey = this.contributions.listKey;\n }\n }\n\n /**\n * Get the type of a filter.\n */\n get type(): string {\n return this.contributions.type\n ? this.contributions.type.replace(\"filter\", \"\")\n : \"string\";\n }\n\n /**\n * Create attribute through the attribute factory. Create type based on filter key without the filter suffix\n */\n createAttribute(\n type: string,\n param: string,\n data: Object,\n contributions: Object,\n ): AttributeType | null {\n if (type === \"assignment\") {\n return null;\n }\n\n return createAttribute(\n param,\n data,\n {\n ...contributions,\n type: type,\n },\n this.modelOptions,\n );\n }\n\n /**\n * Inidiates if filter is multiplechoice\n */\n get isMultiple(): boolean {\n return this.getContribution(\"multiplechoice\", false);\n }\n\n /**\n * Getting context data\n */\n get context(): Object {\n return this._context;\n }\n\n /**\n * Set context of filter\n */\n set context(context: Object) {\n this._context = context;\n }\n\n /**\n * Getting the context label\n */\n get contextLabel(): string {\n return this.context?.label ?? \"\";\n }\n\n /**\n * Getting key of the list these filters apply to\n */\n get listkey(): string {\n return this._listKey;\n }\n\n /**\n * Set key of list this filter belongs to\n */\n set listkey(key: string) {\n this._listKey = key;\n }\n\n /**\n * Getting the label of the filter\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the name of the filter\n */\n get name(): string {\n if (this.listkey) {\n return this.listkey + PARAMETER_SEPARATOR + this.param;\n }\n\n return this.param;\n }\n\n /**\n * Getting the param name of the filter\n */\n get param(): string {\n return this.data.param ?? this.data.name;\n }\n\n /**\n * Get attribute of filter\n */\n get attribute(): AttributeType {\n if (!this._attribute) {\n throw new IllegalStateException(\n `Missing filter attribute on filter model: ${this.label}`,\n );\n }\n return this._attribute;\n }\n\n /**\n * Retrieve the parameters with it's value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.attribute?.value,\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this.attribute?.value;\n }\n\n /**\n * Getting the inputvalue of the filter\n */\n get inputvalue(): string {\n return this.attribute?.inputvalue;\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): FilterType {\n if (this.attribute) {\n this.attribute.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute) {\n this.attribute.update(value);\n }\n }\n\n /**\n * Inidicates if filter is a quick search filter\n */\n isQuickSearch(): boolean {\n return this.contributions.quicksearch === true;\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return this.attribute !== null && this.attribute.initvalue !== null;\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return this.attribute !== null && this.attribute.isValid;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.attribute) {\n return this.attribute.readonlyvalue;\n }\n return \"\";\n }\n\n /**\n * Get assistant message\n */\n get assistantMessage(): string | null {\n return this.getContribution(\"assistant\");\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,8 +16,8 @@ class ConceptIndexFilterModel extends _BaseFilterModel.default {
16
16
  /**
17
17
  * Construct a filter
18
18
  */
19
- constructor(data, contributions) {
20
- super(data, contributions);
19
+ constructor(data, contributions, modelOptions) {
20
+ super(data, contributions, modelOptions);
21
21
  if (data.options) {
22
22
  var _context, _context2;
23
23
  const selectedValues = (0, _map.default)(_context = (0, _filter.default)(_context2 = data.options).call(_context2, option => option.selected)).call(_context, option => option.key);
@@ -2,6 +2,8 @@
2
2
  import BaseFilterModel from "../filters/BaseFilterModel";
3
3
  import ChoiceAttributeModel from "../attributes/ChoiceAttributeModel";
4
4
 
5
+ import type { ModelOptions } from "../types";
6
+
5
7
  /**
6
8
  * The concept index model is a special filter used to index all first concept label letters in de modelcatalog.
7
9
  */
@@ -9,8 +11,12 @@ export default class ConceptIndexFilterModel extends BaseFilterModel {
9
11
  /**
10
12
  * Construct a filter
11
13
  */
12
- constructor(data: Object, contributions: Object) {
13
- super(data, contributions);
14
+ constructor(
15
+ data: Object,
16
+ contributions: Object,
17
+ modelOptions?: ModelOptions,
18
+ ) {
19
+ super(data, contributions, modelOptions);
14
20
 
15
21
  if (data.options) {
16
22
  const selectedValues = data.options
@@ -1 +1 @@
1
- {"version":3,"file":"ConceptIndexFilterModel.js","names":["_BaseFilterModel","_interopRequireDefault","require","_ChoiceAttributeModel","ConceptIndexFilterModel","BaseFilterModel","constructor","data","contributions","options","_context","_context2","selectedValues","_map","default","_filter","call","option","selected","key","forEach","attribute","ChoiceAttributeModel","addOption","code","label","exports"],"sources":["../../../src/models/filters/ConceptIndexFilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\nimport ChoiceAttributeModel from \"../attributes/ChoiceAttributeModel\";\n\n/**\n * The concept index model is a special filter used to index all first concept label letters in de modelcatalog.\n */\nexport default class ConceptIndexFilterModel extends BaseFilterModel {\n /**\n * Construct a filter\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n if (data.options) {\n const selectedValues = data.options\n .filter((option) => option.selected)\n .map((option) => option.key);\n\n data.options.forEach((option) => {\n if (this.attribute instanceof ChoiceAttributeModel) {\n this.attribute.options.addOption(selectedValues, {\n code: option.key,\n label: option.key,\n });\n }\n });\n }\n }\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACe,MAAME,uBAAuB,SAASC,wBAAe,CAAC;EACnE;AACF;AACA;EACEC,WAAWA,CAACC,IAAY,EAAEC,aAAqB,EAAE;IAC/C,KAAK,CAACD,IAAI,EAAEC,aAAa,CAAC;IAE1B,IAAID,IAAI,CAACE,OAAO,EAAE;MAAA,IAAAC,QAAA,EAAAC,SAAA;MAChB,MAAMC,cAAc,GAAG,IAAAC,IAAA,CAAAC,OAAA,EAAAJ,QAAA,OAAAK,OAAA,CAAAD,OAAA,EAAAH,SAAA,GAAAJ,IAAI,CAACE,OAAO,EAAAO,IAAA,CAAAL,SAAA,EACxBM,MAAM,IAAKA,MAAM,CAACC,QAAQ,CAAC,EAAAF,IAAA,CAAAN,QAAA,EAC9BO,MAAM,IAAKA,MAAM,CAACE,GAAG,CAAC;MAE9BZ,IAAI,CAACE,OAAO,CAACW,OAAO,CAAEH,MAAM,IAAK;QAC/B,IAAI,IAAI,CAACI,SAAS,YAAYC,6BAAoB,EAAE;UAClD,IAAI,CAACD,SAAS,CAACZ,OAAO,CAACc,SAAS,CAACX,cAAc,EAAE;YAC/CY,IAAI,EAAEP,MAAM,CAACE,GAAG;YAChBM,KAAK,EAAER,MAAM,CAACE;UAChB,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ;EACF;AACF;AAACO,OAAA,CAAAZ,OAAA,GAAAV,uBAAA","ignoreList":[]}
1
+ {"version":3,"file":"ConceptIndexFilterModel.js","names":["_BaseFilterModel","_interopRequireDefault","require","_ChoiceAttributeModel","ConceptIndexFilterModel","BaseFilterModel","constructor","data","contributions","modelOptions","options","_context","_context2","selectedValues","_map","default","_filter","call","option","selected","key","forEach","attribute","ChoiceAttributeModel","addOption","code","label","exports"],"sources":["../../../src/models/filters/ConceptIndexFilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\nimport ChoiceAttributeModel from \"../attributes/ChoiceAttributeModel\";\n\nimport type { ModelOptions } from \"../types\";\n\n/**\n * The concept index model is a special filter used to index all first concept label letters in de modelcatalog.\n */\nexport default class ConceptIndexFilterModel extends BaseFilterModel {\n /**\n * Construct a filter\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n if (data.options) {\n const selectedValues = data.options\n .filter((option) => option.selected)\n .map((option) => option.key);\n\n data.options.forEach((option) => {\n if (this.attribute instanceof ChoiceAttributeModel) {\n this.attribute.options.addOption(selectedValues, {\n code: option.key,\n label: option.key,\n });\n }\n });\n }\n }\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAIA;AACA;AACA;AACe,MAAME,uBAAuB,SAASC,wBAAe,CAAC;EACnE;AACF;AACA;EACEC,WAAWA,CACTC,IAAY,EACZC,aAAqB,EACrBC,YAA2B,EAC3B;IACA,KAAK,CAACF,IAAI,EAAEC,aAAa,EAAEC,YAAY,CAAC;IAExC,IAAIF,IAAI,CAACG,OAAO,EAAE;MAAA,IAAAC,QAAA,EAAAC,SAAA;MAChB,MAAMC,cAAc,GAAG,IAAAC,IAAA,CAAAC,OAAA,EAAAJ,QAAA,OAAAK,OAAA,CAAAD,OAAA,EAAAH,SAAA,GAAAL,IAAI,CAACG,OAAO,EAAAO,IAAA,CAAAL,SAAA,EACxBM,MAAM,IAAKA,MAAM,CAACC,QAAQ,CAAC,EAAAF,IAAA,CAAAN,QAAA,EAC9BO,MAAM,IAAKA,MAAM,CAACE,GAAG,CAAC;MAE9Bb,IAAI,CAACG,OAAO,CAACW,OAAO,CAAEH,MAAM,IAAK;QAC/B,IAAI,IAAI,CAACI,SAAS,YAAYC,6BAAoB,EAAE;UAClD,IAAI,CAACD,SAAS,CAACZ,OAAO,CAACc,SAAS,CAACX,cAAc,EAAE;YAC/CY,IAAI,EAAEP,MAAM,CAACE,GAAG;YAChBM,KAAK,EAAER,MAAM,CAACE;UAChB,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ;EACF;AACF;AAACO,OAAA,CAAAZ,OAAA,GAAAX,uBAAA","ignoreList":[]}
@@ -27,6 +27,7 @@ class FilterCollection extends _BaseCollection.default {
27
27
  constructor() {
28
28
  let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
29
29
  let contributions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
30
+ let modelOptions = arguments.length > 2 ? arguments[2] : undefined;
30
31
  super();
31
32
  if (data && contributions && Array.isArray((0, _filter.default)(contributions))) {
32
33
  var _context, _context2;
@@ -37,7 +38,7 @@ class FilterCollection extends _BaseCollection.default {
37
38
  const filter = this.createFilter(filterKey, {
38
39
  ...filterData,
39
40
  dynamicschema: contributions.dynamicschema
40
- }, filterContributionByKey);
41
+ }, filterContributionByKey, modelOptions);
41
42
  if (contributions.listkey) {
42
43
  filter.listkey = contributions.listkey;
43
44
  }
@@ -55,21 +56,21 @@ class FilterCollection extends _BaseCollection.default {
55
56
 
56
57
  /**
57
58
  */
58
- createFilter(filterKey, data, contributions) {
59
+ createFilter(filterKey, data, contributions, modelOptions) {
59
60
  const type = contributions.type || "stringfilter";
60
61
  if (type === "choicefilter" && filterKey === "index") {
61
- return new _ConceptIndexFilterModel.default(data, contributions);
62
+ return new _ConceptIndexFilterModel.default(data, contributions, modelOptions);
62
63
  }
63
64
  if ((0, _includes.default)(type).call(type, "rangefilter")) {
64
- return new _RangeFilterModel.default(data, contributions);
65
+ return new _RangeFilterModel.default(data, contributions, modelOptions);
65
66
  }
66
67
  if (type === "assignmentfilter") {
67
- return new _AssignmentFilterModel.default(data, contributions);
68
+ return new _AssignmentFilterModel.default(data, contributions, modelOptions);
68
69
  }
69
70
  if (type === "stringfilter") {
70
- return new _StringFilterModel.default(data, contributions);
71
+ return new _StringFilterModel.default(data, contributions, modelOptions);
71
72
  }
72
- return new _FilterModel.default(data, contributions);
73
+ return new _FilterModel.default(data, contributions, modelOptions);
73
74
  }
74
75
 
75
76
  /**
@@ -8,7 +8,7 @@ import ConceptIndexFilterModel from "../filters/ConceptIndexFilterModel";
8
8
  import CompositeAttributeModel from "../attributes/CompositeAttributeModel";
9
9
  import FilterModel from "../filters/FilterModel";
10
10
 
11
- import type { AttributeType, FilterType } from "../types";
11
+ import type { AttributeType, FilterType, ModelOptions } from "../types";
12
12
 
13
13
  /**
14
14
  * Contains a collection of filters
@@ -17,7 +17,11 @@ export default class FilterCollection extends BaseCollection<FilterType> {
17
17
  /**
18
18
  * Construct a collection of filters
19
19
  */
20
- constructor(data: Object = {}, contributions: Object = {}) {
20
+ constructor(
21
+ data: Object = {},
22
+ contributions: Object = {},
23
+ modelOptions?: ModelOptions,
24
+ ) {
21
25
  super();
22
26
 
23
27
  if (data && contributions && Array.isArray(contributions.filter)) {
@@ -35,6 +39,7 @@ export default class FilterCollection extends BaseCollection<FilterType> {
35
39
  dynamicschema: contributions.dynamicschema,
36
40
  },
37
41
  filterContributionByKey,
42
+ modelOptions,
38
43
  );
39
44
 
40
45
  if (contributions.listkey) {
@@ -61,25 +66,26 @@ export default class FilterCollection extends BaseCollection<FilterType> {
61
66
  filterKey: string,
62
67
  data: Object,
63
68
  contributions: Object,
69
+ modelOptions?: ModelOptions,
64
70
  ): FilterType {
65
71
  const type = contributions.type || "stringfilter";
66
72
  if (type === "choicefilter" && filterKey === "index") {
67
- return new ConceptIndexFilterModel(data, contributions);
73
+ return new ConceptIndexFilterModel(data, contributions, modelOptions);
68
74
  }
69
75
 
70
76
  if (type.includes("rangefilter")) {
71
- return new RangeFilterModel(data, contributions);
77
+ return new RangeFilterModel(data, contributions, modelOptions);
72
78
  }
73
79
 
74
80
  if (type === "assignmentfilter") {
75
- return new AssignmentFilterModel(data, contributions);
81
+ return new AssignmentFilterModel(data, contributions, modelOptions);
76
82
  }
77
83
 
78
84
  if (type === "stringfilter") {
79
- return new StringFilterModel(data, contributions);
85
+ return new StringFilterModel(data, contributions, modelOptions);
80
86
  }
81
87
 
82
- return new FilterModel(data, contributions);
88
+ return new FilterModel(data, contributions, modelOptions);
83
89
  }
84
90
 
85
91
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FilterCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_StringFilterModel","_RangeFilterModel","_AssignmentFilterModel","_ConceptIndexFilterModel","_CompositeAttributeModel","_FilterModel","FilterCollection","BaseCollection","constructor","data","arguments","length","undefined","contributions","Array","isArray","_filter","default","_context","_context2","collection","_map","call","filterContribution","_keys","filterKey","filterData","filterContributionByKey","filter","createFilter","dynamicschema","listkey","contexts","contextid","_context3","filterContext","_find","context","id","type","ConceptIndexFilterModel","_includes","RangeFilterModel","AssignmentFilterModel","StringFilterModel","FilterModel","reset","_context4","checkRangeFilterByAttributeKey","key","rangeAttribute","attribute","CompositeAttributeModel","start","end","checkAssignmentFilterByAttributeKey","user","assignmenttype","getFilterByAttributeKey","_context5","update","value","_context6","filterToUpdate","parentKey","Error","newFilter","clone","name","isValid","every","hasActiveFilters","some","isActive","exports"],"sources":["../../../src/models/filters/FilterCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\n\nimport StringFilterModel from \"../filters/StringFilterModel\";\nimport RangeFilterModel from \"../filters/RangeFilterModel\";\nimport AssignmentFilterModel from \"../filters/AssignmentFilterModel\";\nimport ConceptIndexFilterModel from \"../filters/ConceptIndexFilterModel\";\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\nimport FilterModel from \"../filters/FilterModel\";\n\nimport type { AttributeType, FilterType } from \"../types\";\n\n/**\n * Contains a collection of filters\n */\nexport default class FilterCollection extends BaseCollection<FilterType> {\n /**\n * Construct a collection of filters\n */\n constructor(data: Object = {}, contributions: Object = {}) {\n super();\n\n if (data && contributions && Array.isArray(contributions.filter)) {\n this.collection = contributions.filter\n .filter((filterContribution) => Object.keys(filterContribution)[0])\n .map((filterContribution) => {\n const [filterKey] = Object.keys(filterContribution);\n const filterData = data[filterKey];\n const filterContributionByKey = filterContribution[filterKey];\n\n const filter = this.createFilter(\n filterKey,\n {\n ...filterData,\n dynamicschema: contributions.dynamicschema,\n },\n filterContributionByKey,\n );\n\n if (contributions.listkey) {\n filter.listkey = contributions.listkey;\n }\n\n if (contributions.contexts && filterContributionByKey.contextid) {\n const filterContext = contributions.contexts.find(\n (context) => context.id === filterContributionByKey.contextid,\n );\n if (filterContext) {\n filter.context = filterContext;\n }\n }\n\n return filter;\n });\n }\n }\n\n /**\n */\n createFilter(\n filterKey: string,\n data: Object,\n contributions: Object,\n ): FilterType {\n const type = contributions.type || \"stringfilter\";\n if (type === \"choicefilter\" && filterKey === \"index\") {\n return new ConceptIndexFilterModel(data, contributions);\n }\n\n if (type.includes(\"rangefilter\")) {\n return new RangeFilterModel(data, contributions);\n }\n\n if (type === \"assignmentfilter\") {\n return new AssignmentFilterModel(data, contributions);\n }\n\n if (type === \"stringfilter\") {\n return new StringFilterModel(data, contributions);\n }\n\n return new FilterModel(data, contributions);\n }\n\n /**\n * Call the reset function on all filters\n *\n * @see {FilterType#reset()}\n */\n reset(): FilterCollection {\n this.collection = this.collection.map((filter) => filter.reset());\n\n return this;\n }\n\n /**\n * Checks if range attribute key equals key\n */\n checkRangeFilterByAttributeKey(\n filter: RangeFilterModel,\n key: string,\n ): boolean {\n const rangeAttribute = filter.attribute;\n\n if (rangeAttribute instanceof CompositeAttributeModel) {\n return (\n rangeAttribute.key === key ||\n (rangeAttribute.start && rangeAttribute.start.key === key) ||\n (rangeAttribute.end && rangeAttribute.end.key === key)\n );\n }\n\n return false;\n }\n\n /**\n * Check if assignment filter attribute matches key\n */\n checkAssignmentFilterByAttributeKey(\n filter: AssignmentFilterModel,\n key: string,\n ): boolean {\n return (\n filter.key === key ||\n filter.user?.key === key ||\n filter.assignmenttype?.key === key\n );\n }\n\n /**\n * Getting the filter by name\n */\n getFilterByAttributeKey(key: string): FilterType | null {\n return (\n this.find((filter) => {\n if (filter instanceof RangeFilterModel) {\n return this.checkRangeFilterByAttributeKey(filter, key);\n }\n\n if (filter instanceof AssignmentFilterModel) {\n return this.checkAssignmentFilterByAttributeKey(filter, key);\n }\n\n return filter.attribute?.key === key;\n }) || null\n );\n }\n\n /**\n * Update Filter by input name and value\n */\n update(attribute: AttributeType, value: string): void {\n const filterToUpdate = attribute.parentKey\n ? this.getFilterByAttributeKey(attribute.parentKey)\n : this.getFilterByAttributeKey(attribute.key);\n\n if (!filterToUpdate) {\n throw new Error(`Can not find filter by attribute key: ${attribute.key}`);\n }\n\n const newFilter = filterToUpdate.clone();\n newFilter.update(attribute, value);\n\n this.collection = this.collection.map((filter) => {\n if (filter.name === newFilter.name) {\n return newFilter;\n }\n\n return filter;\n });\n }\n\n /**\n * Retrieve if all filters are valid\n */\n get isValid(): boolean {\n return this.collection.every((filter) => filter.isValid);\n }\n\n /**\n * Indicates if an active filter is present in the collection\n */\n hasActiveFilters(): boolean {\n return this.collection.some((filter) => filter.isActive());\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FilterCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_StringFilterModel","_RangeFilterModel","_AssignmentFilterModel","_ConceptIndexFilterModel","_CompositeAttributeModel","_FilterModel","FilterCollection","BaseCollection","constructor","data","arguments","length","undefined","contributions","modelOptions","Array","isArray","_filter","default","_context","_context2","collection","_map","call","filterContribution","_keys","filterKey","filterData","filterContributionByKey","filter","createFilter","dynamicschema","listkey","contexts","contextid","_context3","filterContext","_find","context","id","type","ConceptIndexFilterModel","_includes","RangeFilterModel","AssignmentFilterModel","StringFilterModel","FilterModel","reset","_context4","checkRangeFilterByAttributeKey","key","rangeAttribute","attribute","CompositeAttributeModel","start","end","checkAssignmentFilterByAttributeKey","user","assignmenttype","getFilterByAttributeKey","_context5","update","value","_context6","filterToUpdate","parentKey","Error","newFilter","clone","name","isValid","every","hasActiveFilters","some","isActive","exports"],"sources":["../../../src/models/filters/FilterCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\n\nimport StringFilterModel from \"../filters/StringFilterModel\";\nimport RangeFilterModel from \"../filters/RangeFilterModel\";\nimport AssignmentFilterModel from \"../filters/AssignmentFilterModel\";\nimport ConceptIndexFilterModel from \"../filters/ConceptIndexFilterModel\";\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\nimport FilterModel from \"../filters/FilterModel\";\n\nimport type { AttributeType, FilterType, ModelOptions } from \"../types\";\n\n/**\n * Contains a collection of filters\n */\nexport default class FilterCollection extends BaseCollection<FilterType> {\n /**\n * Construct a collection of filters\n */\n constructor(\n data: Object = {},\n contributions: Object = {},\n modelOptions?: ModelOptions,\n ) {\n super();\n\n if (data && contributions && Array.isArray(contributions.filter)) {\n this.collection = contributions.filter\n .filter((filterContribution) => Object.keys(filterContribution)[0])\n .map((filterContribution) => {\n const [filterKey] = Object.keys(filterContribution);\n const filterData = data[filterKey];\n const filterContributionByKey = filterContribution[filterKey];\n\n const filter = this.createFilter(\n filterKey,\n {\n ...filterData,\n dynamicschema: contributions.dynamicschema,\n },\n filterContributionByKey,\n modelOptions,\n );\n\n if (contributions.listkey) {\n filter.listkey = contributions.listkey;\n }\n\n if (contributions.contexts && filterContributionByKey.contextid) {\n const filterContext = contributions.contexts.find(\n (context) => context.id === filterContributionByKey.contextid,\n );\n if (filterContext) {\n filter.context = filterContext;\n }\n }\n\n return filter;\n });\n }\n }\n\n /**\n */\n createFilter(\n filterKey: string,\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ): FilterType {\n const type = contributions.type || \"stringfilter\";\n if (type === \"choicefilter\" && filterKey === \"index\") {\n return new ConceptIndexFilterModel(data, contributions, modelOptions);\n }\n\n if (type.includes(\"rangefilter\")) {\n return new RangeFilterModel(data, contributions, modelOptions);\n }\n\n if (type === \"assignmentfilter\") {\n return new AssignmentFilterModel(data, contributions, modelOptions);\n }\n\n if (type === \"stringfilter\") {\n return new StringFilterModel(data, contributions, modelOptions);\n }\n\n return new FilterModel(data, contributions, modelOptions);\n }\n\n /**\n * Call the reset function on all filters\n *\n * @see {FilterType#reset()}\n */\n reset(): FilterCollection {\n this.collection = this.collection.map((filter) => filter.reset());\n\n return this;\n }\n\n /**\n * Checks if range attribute key equals key\n */\n checkRangeFilterByAttributeKey(\n filter: RangeFilterModel,\n key: string,\n ): boolean {\n const rangeAttribute = filter.attribute;\n\n if (rangeAttribute instanceof CompositeAttributeModel) {\n return (\n rangeAttribute.key === key ||\n (rangeAttribute.start && rangeAttribute.start.key === key) ||\n (rangeAttribute.end && rangeAttribute.end.key === key)\n );\n }\n\n return false;\n }\n\n /**\n * Check if assignment filter attribute matches key\n */\n checkAssignmentFilterByAttributeKey(\n filter: AssignmentFilterModel,\n key: string,\n ): boolean {\n return (\n filter.key === key ||\n filter.user?.key === key ||\n filter.assignmenttype?.key === key\n );\n }\n\n /**\n * Getting the filter by name\n */\n getFilterByAttributeKey(key: string): FilterType | null {\n return (\n this.find((filter) => {\n if (filter instanceof RangeFilterModel) {\n return this.checkRangeFilterByAttributeKey(filter, key);\n }\n\n if (filter instanceof AssignmentFilterModel) {\n return this.checkAssignmentFilterByAttributeKey(filter, key);\n }\n\n return filter.attribute?.key === key;\n }) || null\n );\n }\n\n /**\n * Update Filter by input name and value\n */\n update(attribute: AttributeType, value: string): void {\n const filterToUpdate = attribute.parentKey\n ? this.getFilterByAttributeKey(attribute.parentKey)\n : this.getFilterByAttributeKey(attribute.key);\n\n if (!filterToUpdate) {\n throw new Error(`Can not find filter by attribute key: ${attribute.key}`);\n }\n\n const newFilter = filterToUpdate.clone();\n newFilter.update(attribute, value);\n\n this.collection = this.collection.map((filter) => {\n if (filter.name === newFilter.name) {\n return newFilter;\n }\n\n return filter;\n });\n }\n\n /**\n * Retrieve if all filters are valid\n */\n get isValid(): boolean {\n return this.collection.every((filter) => filter.isValid);\n }\n\n /**\n * Indicates if an active filter is present in the collection\n */\n hasActiveFilters(): boolean {\n return this.collection.some((filter) => filter.isActive());\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -15,8 +15,8 @@ var _FilterModel = _interopRequireDefault(require("./FilterModel"));
15
15
  class StringFilterModel extends _FilterModel.default {
16
16
  /**
17
17
  */
18
- constructor(data, contributions) {
19
- super(data, contributions);
18
+ constructor(data, contributions, modelOptions) {
19
+ super(data, contributions, modelOptions);
20
20
  (0, _defineProperty2.default)(this, "_isValid", true);
21
21
  (0, _defineProperty2.default)(this, "_value", void 0);
22
22
  (0, _defineProperty2.default)(this, "_inputvalue", void 0);
@@ -1,6 +1,6 @@
1
1
  // @flow
2
2
 
3
- import type { AttributeType, FilterType } from "../types";
3
+ import type { AttributeType, FilterType, ModelOptions } from "../types";
4
4
  import FilterModel from "./FilterModel";
5
5
 
6
6
  /**
@@ -13,8 +13,12 @@ export default class StringFilterModel extends FilterModel {
13
13
 
14
14
  /**
15
15
  */
16
- constructor(data: Object, contributions: Object) {
17
- super(data, contributions);
16
+ constructor(
17
+ data: Object,
18
+ contributions: Object,
19
+ modelOptions?: ModelOptions,
20
+ ) {
21
+ super(data, contributions, modelOptions);
18
22
 
19
23
  this.update(this.attribute, data.value ?? "");
20
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"StringFilterModel.js","names":["_FilterModel","_interopRequireDefault","require","StringFilterModel","FilterModel","constructor","data","contributions","_defineProperty2","default","update","attribute","value","_inputvalue","_value","params","param","name","removeFormat","inputvalue","reset","isValid","_isValid","toString","shouldHandleFormat","_context","_context2","values","isMultiple","_map","split","call","val","_trim","outputValues","formattedValue","formatValue","push","validate","join","operator","getContribution","isBSN","layouthint","has","isIBAN","isZipcode","replace","exports"],"sources":["../../../src/models/filters/StringFilterModel.js"],"sourcesContent":["// @flow\n\nimport type { AttributeType, FilterType } from \"../types\";\nimport FilterModel from \"./FilterModel\";\n\n/**\n * StringFilterModel can handle string filters with multiple setting\n */\nexport default class StringFilterModel extends FilterModel {\n _isValid: boolean = true;\n _value: string | null;\n _inputvalue: string;\n\n /**\n */\n constructor(data: Object, contributions: Object) {\n super(data, contributions);\n\n this.update(this.attribute, data.value ?? \"\");\n\n // when formatted value set this to initial input value\n this._inputvalue = this._value ?? \"\";\n }\n\n /**\n * Retrieve the parameters with its value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.removeFormat(this.value),\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this._value;\n }\n\n /**\n */\n get inputvalue(): string {\n return this._inputvalue;\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): FilterType {\n this._inputvalue = \"\";\n this._value = null;\n\n return this;\n }\n\n /**\n */\n get isValid(): boolean {\n return this._isValid;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n this._isValid = true;\n this._inputvalue = typeof value !== \"string\" ? value.toString() : value;\n\n if (this.shouldHandleFormat()) {\n const values = this.isMultiple\n ? this._inputvalue.split(\",\").map((val) => val.trim())\n : [this._inputvalue.trim()];\n\n const outputValues = [];\n for (const val of values) {\n const formattedValue = this.formatValue(val);\n if (formattedValue !== \"\") {\n outputValues.push(formattedValue);\n\n if (!this.attribute.validate(formattedValue)) {\n this._isValid = false;\n }\n }\n }\n\n this._value = outputValues.join(\",\");\n } else {\n this._value = value;\n }\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n formatValue(value: string): string {\n if (this.shouldHandleFormat()) {\n return this.attribute.formatValue(value);\n }\n return value;\n }\n\n /**\n */\n isBSN(): boolean {\n return this.layouthint.has(\"bsn\");\n }\n\n /**\n */\n isIBAN(): boolean {\n return this.layouthint.has(\"iban\");\n }\n\n /**\n */\n isZipcode(): boolean {\n return this.layouthint.has(\"zipcode\");\n }\n\n /**\n */\n removeFormat(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n if (this.shouldHandleFormat()) {\n return value.replace(/[^a-z0-9,]/gi, \"\");\n }\n\n return value;\n }\n\n /**\n */\n shouldHandleFormat(): boolean {\n return (\n (this.operator === \"exactly\" || this.operator === \"isNot\") &&\n (this.isIBAN() || this.isZipcode() || this.isBSN())\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"StringFilterModel.js","names":["_FilterModel","_interopRequireDefault","require","StringFilterModel","FilterModel","constructor","data","contributions","modelOptions","_defineProperty2","default","update","attribute","value","_inputvalue","_value","params","param","name","removeFormat","inputvalue","reset","isValid","_isValid","toString","shouldHandleFormat","_context","_context2","values","isMultiple","_map","split","call","val","_trim","outputValues","formattedValue","formatValue","push","validate","join","operator","getContribution","isBSN","layouthint","has","isIBAN","isZipcode","replace","exports"],"sources":["../../../src/models/filters/StringFilterModel.js"],"sourcesContent":["// @flow\n\nimport type { AttributeType, FilterType, ModelOptions } from \"../types\";\nimport FilterModel from \"./FilterModel\";\n\n/**\n * StringFilterModel can handle string filters with multiple setting\n */\nexport default class StringFilterModel extends FilterModel {\n _isValid: boolean = true;\n _value: string | null;\n _inputvalue: string;\n\n /**\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this.update(this.attribute, data.value ?? \"\");\n\n // when formatted value set this to initial input value\n this._inputvalue = this._value ?? \"\";\n }\n\n /**\n * Retrieve the parameters with its value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.removeFormat(this.value),\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this._value;\n }\n\n /**\n */\n get inputvalue(): string {\n return this._inputvalue;\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): FilterType {\n this._inputvalue = \"\";\n this._value = null;\n\n return this;\n }\n\n /**\n */\n get isValid(): boolean {\n return this._isValid;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n this._isValid = true;\n this._inputvalue = typeof value !== \"string\" ? value.toString() : value;\n\n if (this.shouldHandleFormat()) {\n const values = this.isMultiple\n ? this._inputvalue.split(\",\").map((val) => val.trim())\n : [this._inputvalue.trim()];\n\n const outputValues = [];\n for (const val of values) {\n const formattedValue = this.formatValue(val);\n if (formattedValue !== \"\") {\n outputValues.push(formattedValue);\n\n if (!this.attribute.validate(formattedValue)) {\n this._isValid = false;\n }\n }\n }\n\n this._value = outputValues.join(\",\");\n } else {\n this._value = value;\n }\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n formatValue(value: string): string {\n if (this.shouldHandleFormat()) {\n return this.attribute.formatValue(value);\n }\n return value;\n }\n\n /**\n */\n isBSN(): boolean {\n return this.layouthint.has(\"bsn\");\n }\n\n /**\n */\n isIBAN(): boolean {\n return this.layouthint.has(\"iban\");\n }\n\n /**\n */\n isZipcode(): boolean {\n return this.layouthint.has(\"zipcode\");\n }\n\n /**\n */\n removeFormat(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n if (this.shouldHandleFormat()) {\n return value.replace(/[^a-z0-9,]/gi, \"\");\n }\n\n return value;\n }\n\n /**\n */\n shouldHandleFormat(): boolean {\n return (\n (this.operator === \"exactly\" || this.operator === \"isNot\") &&\n (this.isIBAN() || this.isZipcode() || this.isBSN())\n );\n }\n}\n"],"mappings":";;;;;;;;;;AAGA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACA;AACA;AACe,MAAMC,iBAAiB,SAASC,oBAAW,CAAC;EAKzD;AACF;EACEC,WAAWA,CACTC,IAAY,EACZC,aAAqB,EACrBC,YAA2B,EAC3B;IACA,KAAK,CAACF,IAAI,EAAEC,aAAa,EAAEC,YAAY,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA,oBAXvB,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAatB,IAAI,CAACC,MAAM,CAAC,IAAI,CAACC,SAAS,EAAEN,IAAI,CAACO,KAAK,IAAI,EAAE,CAAC;;IAE7C;IACA,IAAI,CAACC,WAAW,GAAG,IAAI,CAACC,MAAM,IAAI,EAAE;EACtC;;EAEA;AACF;AACA;EACE,IAAIC,MAAMA,CAAA,EAA4C;IACpD,IAAI,CAAC,IAAI,CAACC,KAAK,EAAE;MACf,OAAO,EAAE;IACX;IAEA,OAAO,CACL;MACEC,IAAI,EAAE,IAAI,CAACD,KAAK;MAChBJ,KAAK,EAAE,IAAI,CAACM,YAAY,CAAC,IAAI,CAACN,KAAK;IACrC,CAAC,CACF;EACH;;EAEA;AACF;AACA;EACE,IAAIA,KAAKA,CAAA,EAAkB;IACzB,OAAO,IAAI,CAACE,MAAM;EACpB;;EAEA;AACF;EACE,IAAIK,UAAUA,CAAA,EAAW;IACvB,OAAO,IAAI,CAACN,WAAW;EACzB;;EAEA;AACF;AACA;EACEO,KAAKA,CAAA,EAAe;IAClB,IAAI,CAACP,WAAW,GAAG,EAAE;IACrB,IAAI,CAACC,MAAM,GAAG,IAAI;IAElB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIO,OAAOA,CAAA,EAAY;IACrB,OAAO,IAAI,CAACC,QAAQ;EACtB;;EAEA;AACF;AACA;EACEZ,MAAMA,CAACC,SAAwB,EAAEC,KAAa,EAAE;IAC9C,IAAI,CAACU,QAAQ,GAAG,IAAI;IACpB,IAAI,CAACT,WAAW,GAAG,OAAOD,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACW,QAAQ,CAAC,CAAC,GAAGX,KAAK;IAEvE,IAAI,IAAI,CAACY,kBAAkB,CAAC,CAAC,EAAE;MAAA,IAAAC,QAAA,EAAAC,SAAA;MAC7B,MAAMC,MAAM,GAAG,IAAI,CAACC,UAAU,GAC1B,IAAAC,IAAA,CAAApB,OAAA,EAAAgB,QAAA,OAAI,CAACZ,WAAW,CAACiB,KAAK,CAAC,GAAG,CAAC,EAAAC,IAAA,CAAAN,QAAA,EAAMO,GAAG,IAAK,IAAAC,KAAA,CAAAxB,OAAA,EAAAuB,GAAG,EAAAD,IAAA,CAAHC,GAAS,CAAC,CAAC,GACpD,CAAC,IAAAC,KAAA,CAAAxB,OAAA,EAAAiB,SAAA,OAAI,CAACb,WAAW,EAAAkB,IAAA,CAAAL,SAAM,CAAC,CAAC;MAE7B,MAAMQ,YAAY,GAAG,EAAE;MACvB,KAAK,MAAMF,GAAG,IAAIL,MAAM,EAAE;QACxB,MAAMQ,cAAc,GAAG,IAAI,CAACC,WAAW,CAACJ,GAAG,CAAC;QAC5C,IAAIG,cAAc,KAAK,EAAE,EAAE;UACzBD,YAAY,CAACG,IAAI,CAACF,cAAc,CAAC;UAEjC,IAAI,CAAC,IAAI,CAACxB,SAAS,CAAC2B,QAAQ,CAACH,cAAc,CAAC,EAAE;YAC5C,IAAI,CAACb,QAAQ,GAAG,KAAK;UACvB;QACF;MACF;MAEA,IAAI,CAACR,MAAM,GAAGoB,YAAY,CAACK,IAAI,CAAC,GAAG,CAAC;IACtC,CAAC,MAAM;MACL,IAAI,CAACzB,MAAM,GAAGF,KAAK;IACrB;EACF;;EAEA;AACF;EACE,IAAI4B,QAAQA,CAAA,EAAW;IACrB,OAAO,IAAI,CAACC,eAAe,CAAC,UAAU,EAAE,EAAE,CAAC;EAC7C;;EAEA;AACF;EACEL,WAAWA,CAACxB,KAAa,EAAU;IACjC,IAAI,IAAI,CAACY,kBAAkB,CAAC,CAAC,EAAE;MAC7B,OAAO,IAAI,CAACb,SAAS,CAACyB,WAAW,CAACxB,KAAK,CAAC;IAC1C;IACA,OAAOA,KAAK;EACd;;EAEA;AACF;EACE8B,KAAKA,CAAA,EAAY;IACf,OAAO,IAAI,CAACC,UAAU,CAACC,GAAG,CAAC,KAAK,CAAC;EACnC;;EAEA;AACF;EACEC,MAAMA,CAAA,EAAY;IAChB,OAAO,IAAI,CAACF,UAAU,CAACC,GAAG,CAAC,MAAM,CAAC;EACpC;;EAEA;AACF;EACEE,SAASA,CAAA,EAAY;IACnB,OAAO,IAAI,CAACH,UAAU,CAACC,GAAG,CAAC,SAAS,CAAC;EACvC;;EAEA;AACF;EACE1B,YAAYA,CAACN,KAAc,EAAU;IACnC,IAAIA,KAAK,IAAI,IAAI,IAAIA,KAAK,CAACW,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE;MAC5C,OAAO,EAAE;IACX;IAEA,IAAI,IAAI,CAACC,kBAAkB,CAAC,CAAC,EAAE;MAC7B,OAAOZ,KAAK,CAACmC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;IAC1C;IAEA,OAAOnC,KAAK;EACd;;EAEA;AACF;EACEY,kBAAkBA,CAAA,EAAY;IAC5B,OACE,CAAC,IAAI,CAACgB,QAAQ,KAAK,SAAS,IAAI,IAAI,CAACA,QAAQ,KAAK,OAAO,MACxD,IAAI,CAACK,MAAM,CAAC,CAAC,IAAI,IAAI,CAACC,SAAS,CAAC,CAAC,IAAI,IAAI,CAACJ,KAAK,CAAC,CAAC,CAAC;EAEvD;AACF;AAACM,OAAA,CAAAvC,OAAA,GAAAP,iBAAA","ignoreList":[]}
@@ -229,7 +229,7 @@ class FormModel extends _ResourceModel.default {
229
229
  const objectId = missingAnchors?.[0]?.objectid ?? "";
230
230
  const contributions = this.contributions.objects?.[objectId];
231
231
  if (contributions) {
232
- return new _FormObjectModel.default(missingAnchors[0], contributions);
232
+ return new _FormObjectModel.default(missingAnchors[0], contributions, this.modelOptions);
233
233
  }
234
234
  }
235
235
  return null;
@@ -353,7 +353,7 @@ class FormModel extends _ResourceModel.default {
353
353
  };
354
354
  });
355
355
  if (endResultAnchors.length > 0) {
356
- return (0, _map.default)(endResultAnchors).call(endResultAnchors, endResult => new _FormObjectModel.default(endResult, this.contributions.objects[endResult.objectid]));
356
+ return (0, _map.default)(endResultAnchors).call(endResultAnchors, endResult => new _FormObjectModel.default(endResult, this.contributions.objects[endResult.objectid], this.modelOptions));
357
357
  }
358
358
  }
359
359
  return [];
@@ -521,7 +521,7 @@ class FormModel extends _ResourceModel.default {
521
521
  * Handle success redirects
522
522
  */
523
523
  get successRedirect() {
524
- return this.isFinished && this.success ? new _Href.default(this.success.redirect, "", this.origin, this.contextPath) : null;
524
+ return this.isFinished && this.success ? new _Href.default(this.success.redirect, "", this.modelOptions) : null;
525
525
  }
526
526
 
527
527
  /**
@@ -545,7 +545,7 @@ class FormModel extends _ResourceModel.default {
545
545
  const successData = this.getSuccessData() ?? {};
546
546
  const resultdata = {};
547
547
  for (const resultDataKey of resultDataKeys) {
548
- resultdata[resultDataKey] = new _AttributeSetModel.default(resultDataKey, successData[resultDataKey], this.contributions.resultdata[resultDataKey]);
548
+ resultdata[resultDataKey] = new _AttributeSetModel.default(resultDataKey, successData[resultDataKey], this.contributions.resultdata[resultDataKey], this.modelOptions);
549
549
  }
550
550
  return resultdata;
551
551
  }