@beinformed/ui 1.45.3 → 1.46.1

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 (132) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/esm/models/application/ApplicationModel.js +7 -1
  3. package/esm/models/application/ApplicationModel.js.map +1 -1
  4. package/esm/models/attributes/AttributeModel.js +2 -2
  5. package/esm/models/attributes/AttributeModel.js.map +1 -1
  6. package/esm/models/attributes/ChoiceAttributeModel.js +2 -2
  7. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  8. package/esm/models/attributes/ChoiceAttributeOptionModel.js +2 -2
  9. package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  10. package/esm/models/attributes/CompositeAttributeModel.js +2 -2
  11. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  12. package/esm/models/base/ResourceCollection.js +2 -2
  13. package/esm/models/base/ResourceCollection.js.map +1 -1
  14. package/esm/models/base/ResourceModel.js +8 -7
  15. package/esm/models/base/ResourceModel.js.map +1 -1
  16. package/esm/models/caseview/CaseViewModel.js +2 -2
  17. package/esm/models/caseview/CaseViewModel.js.map +1 -1
  18. package/esm/models/concepts/BusinessScenarioModel.js +2 -2
  19. package/esm/models/concepts/BusinessScenarioModel.js.map +1 -1
  20. package/esm/models/concepts/ConceptDetailModel.js +2 -2
  21. package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
  22. package/esm/models/concepts/ConceptIndexModel.js +2 -2
  23. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  24. package/esm/models/content/ContentIndexModel.js +2 -3
  25. package/esm/models/content/ContentIndexModel.js.map +1 -1
  26. package/esm/models/detail/DetailModel.js +2 -2
  27. package/esm/models/detail/DetailModel.js.map +1 -1
  28. package/esm/models/form/FormModel.js +3 -4
  29. package/esm/models/form/FormModel.js.map +1 -1
  30. package/esm/models/form/FormObjectModel.js +2 -2
  31. package/esm/models/form/FormObjectModel.js.map +1 -1
  32. package/esm/models/list/ListDetailModel.js +4 -4
  33. package/esm/models/list/ListDetailModel.js.map +1 -1
  34. package/esm/models/types.js.map +1 -1
  35. package/esm/models/user/UserServicesModel.js +16 -1
  36. package/esm/models/user/UserServicesModel.js.map +1 -1
  37. package/esm/modularui/ModularUIRequest.js +7 -3
  38. package/esm/modularui/ModularUIRequest.js.map +1 -1
  39. package/esm/react-client/rehydrate.js +1 -1
  40. package/esm/react-client/rehydrate.js.map +1 -1
  41. package/esm/redux/actions/SignIn.js +8 -2
  42. package/esm/redux/actions/SignIn.js.map +1 -1
  43. package/esm/redux/store/configureStore.js +5 -0
  44. package/esm/redux/store/configureStore.js.map +1 -1
  45. package/lib/models/application/ApplicationModel.js +7 -1
  46. package/lib/models/application/ApplicationModel.js.flow +7 -1
  47. package/lib/models/application/ApplicationModel.js.map +1 -1
  48. package/lib/models/attributes/AttributeModel.js +2 -1
  49. package/lib/models/attributes/AttributeModel.js.flow +5 -1
  50. package/lib/models/attributes/AttributeModel.js.map +1 -1
  51. package/lib/models/attributes/ChoiceAttributeModel.js +2 -2
  52. package/lib/models/attributes/ChoiceAttributeModel.js.flow +3 -2
  53. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  54. package/lib/models/attributes/ChoiceAttributeOptionModel.js +2 -2
  55. package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +3 -2
  56. package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
  57. package/lib/models/attributes/CompositeAttributeModel.js +2 -2
  58. package/lib/models/attributes/CompositeAttributeModel.js.flow +3 -2
  59. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  60. package/lib/models/base/ResourceCollection.js +2 -2
  61. package/lib/models/base/ResourceCollection.js.flow +3 -2
  62. package/lib/models/base/ResourceCollection.js.map +1 -1
  63. package/lib/models/base/ResourceModel.js +8 -7
  64. package/lib/models/base/ResourceModel.js.flow +12 -4
  65. package/lib/models/base/ResourceModel.js.map +1 -1
  66. package/lib/models/caseview/CaseViewModel.js +2 -2
  67. package/lib/models/caseview/CaseViewModel.js.flow +3 -2
  68. package/lib/models/caseview/CaseViewModel.js.map +1 -1
  69. package/lib/models/concepts/BusinessScenarioModel.js +2 -2
  70. package/lib/models/concepts/BusinessScenarioModel.js.flow +3 -2
  71. package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
  72. package/lib/models/concepts/ConceptDetailModel.js +2 -2
  73. package/lib/models/concepts/ConceptDetailModel.js.flow +3 -2
  74. package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
  75. package/lib/models/concepts/ConceptIndexModel.js +2 -2
  76. package/lib/models/concepts/ConceptIndexModel.js.flow +3 -2
  77. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  78. package/lib/models/content/ContentIndexModel.js +2 -2
  79. package/lib/models/content/ContentIndexModel.js.flow +4 -3
  80. package/lib/models/content/ContentIndexModel.js.map +1 -1
  81. package/lib/models/detail/DetailModel.js +2 -2
  82. package/lib/models/detail/DetailModel.js.flow +3 -2
  83. package/lib/models/detail/DetailModel.js.map +1 -1
  84. package/lib/models/form/FormModel.js +3 -3
  85. package/lib/models/form/FormModel.js.flow +6 -5
  86. package/lib/models/form/FormModel.js.map +1 -1
  87. package/lib/models/form/FormObjectModel.js +2 -2
  88. package/lib/models/form/FormObjectModel.js.flow +3 -2
  89. package/lib/models/form/FormObjectModel.js.map +1 -1
  90. package/lib/models/list/ListDetailModel.js +4 -4
  91. package/lib/models/list/ListDetailModel.js.flow +5 -4
  92. package/lib/models/list/ListDetailModel.js.map +1 -1
  93. package/lib/models/types.js.flow +5 -1
  94. package/lib/models/types.js.map +1 -1
  95. package/lib/models/user/UserServicesModel.js +16 -1
  96. package/lib/models/user/UserServicesModel.js.flow +18 -1
  97. package/lib/models/user/UserServicesModel.js.map +1 -1
  98. package/lib/modularui/ModularUIRequest.js +7 -3
  99. package/lib/modularui/ModularUIRequest.js.flow +7 -3
  100. package/lib/modularui/ModularUIRequest.js.map +1 -1
  101. package/lib/react-client/rehydrate.js +1 -1
  102. package/lib/react-client/rehydrate.js.flow +1 -1
  103. package/lib/react-client/rehydrate.js.map +1 -1
  104. package/lib/redux/actions/SignIn.js +8 -2
  105. package/lib/redux/actions/SignIn.js.flow +8 -3
  106. package/lib/redux/actions/SignIn.js.map +1 -1
  107. package/lib/redux/store/configureStore.js +5 -0
  108. package/lib/redux/store/configureStore.js.flow +8 -0
  109. package/lib/redux/store/configureStore.js.map +1 -1
  110. package/package.json +7 -7
  111. package/src/models/application/ApplicationModel.js +7 -1
  112. package/src/models/attributes/AttributeModel.js +5 -1
  113. package/src/models/attributes/ChoiceAttributeModel.js +3 -2
  114. package/src/models/attributes/ChoiceAttributeOptionModel.js +3 -2
  115. package/src/models/attributes/CompositeAttributeModel.js +3 -2
  116. package/src/models/base/ResourceCollection.js +3 -2
  117. package/src/models/base/ResourceModel.js +12 -4
  118. package/src/models/caseview/CaseViewModel.js +3 -2
  119. package/src/models/concepts/BusinessScenarioModel.js +3 -2
  120. package/src/models/concepts/ConceptDetailModel.js +3 -2
  121. package/src/models/concepts/ConceptIndexModel.js +3 -2
  122. package/src/models/content/ContentIndexModel.js +4 -3
  123. package/src/models/detail/DetailModel.js +3 -2
  124. package/src/models/form/FormModel.js +6 -5
  125. package/src/models/form/FormObjectModel.js +3 -2
  126. package/src/models/list/ListDetailModel.js +5 -4
  127. package/src/models/types.js +5 -1
  128. package/src/models/user/UserServicesModel.js +18 -1
  129. package/src/modularui/ModularUIRequest.js +7 -3
  130. package/src/react-client/rehydrate.js +1 -1
  131. package/src/redux/actions/SignIn.js +8 -3
  132. package/src/redux/store/configureStore.js +8 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ListDetailModel.js","names":["_objects","require","_ActionCollection","_interopRequireDefault","_DetailModel","_ContentConfiguration","_AttributeSetModel","_createAttribute","_CompositeAttributeModel","ListDetailModel","DetailModel","constructor","modularUIResponse","_defineProperty2","default","_actionCollection","ActionCollection","_contentConfiguration","ContentConfiguration","contributions","content","setResultSection","setEventData","getInitialChildModelLinks","listitemPanels","listitem","links","getLinksByGroup","all","hasResults","results","push","givenAnswers","setChildModels","models","_attributeCollection","type","modelName","isApplicableModel","data","resourcetype","_endsWith","call","_listitem","actionCollection","panelLinks","contentConfiguration","configuration","introtext","_content","text","message","Array","isArray","texts","has","setResults","setGivenAnswers","resultsData","resultSection","resultsContributions","_context","children","_filter","child","childKey","_keys","createAttribute","key","dynamicschema","CompositeAttributeModel","isResult","indicateContentConfiguration","_results","_context2","givenAnswersData","givenAnswersContributions","filteredContributions","_givenAnswers","hasEventData","eventdata","addAttributes","eventData","eventContributions","_eventdata","AttributeSetModel","forEach","eventDataContribution","eventDataData","i","exports"],"sources":["../../../src/models/list/ListDetailModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ActionCollection from \"../actions/ActionCollection\";\nimport DetailModel from \"../detail/DetailModel\";\nimport ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\nimport AttributeSetModel from \"../attributes/AttributeSetModel\";\n\nimport createAttribute from \"../attributes/_createAttribute\";\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type ListItemModel from \"../list/ListItemModel\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Detail of a list item\n */\nexport default class ListDetailModel extends DetailModel {\n _contentConfiguration: ContentConfiguration;\n _listitem: ListItemModel;\n _givenAnswers: ?CompositeAttributeModel;\n _results: ?CompositeAttributeModel;\n _eventdata: Array<AttributeSetModel>;\n\n /**\n * Construct\n */\n constructor(modularUIResponse: ModularUIResponse) {\n super(modularUIResponse);\n\n this._actionCollection = new ActionCollection();\n\n this._contentConfiguration = new ContentConfiguration(\n this.contributions ? this.contributions.content : {},\n );\n\n this.setResultSection();\n this.setEventData();\n }\n\n /**\n * Add links to expand on initialization of this model\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const listitemPanels = this.listitem\n ? this.listitem.links.getLinksByGroup(\"panel\").all\n : [];\n\n const links = [...super.getInitialChildModelLinks(), ...listitemPanels];\n\n if (this.hasResults) {\n if (this.results) {\n links.push(...this.results.getInitialChildModelLinks());\n }\n if (this.givenAnswers) {\n links.push(...this.givenAnswers.getInitialChildModelLinks());\n }\n }\n\n return links;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this._attributeCollection.setChildModels(models);\n\n if (this.results) {\n this.results.setChildModels(models);\n }\n\n if (this.givenAnswers) {\n this.givenAnswers.setChildModels(models);\n }\n }\n\n /**\n */\n get type(): string {\n return \"ListDetail\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ListDetailModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n const resourcetype = data.contributions?.resourcetype ?? \"unknown\";\n\n return (\n resourcetype.endsWith(\"ListPanelDetail\") ||\n resourcetype.endsWith(\"ListDetail\") ||\n resourcetype === \"DatastoreRelatedDatastorePanelDetail\" ||\n resourcetype === \"CaseRelatedDataStorePanelDetail\"\n );\n }\n\n /**\n * Set listitem of this listdetail and transfer listitem actions to listdetail actions\n */\n set listitem(listitem: ListItemModel) {\n this._listitem = listitem;\n\n // transfer listitem actions to _actions\n this._actionCollection = listitem.actionCollection;\n }\n\n /**\n * Get listitem\n */\n get listitem(): ListItemModel {\n return this._listitem;\n }\n\n /**\n * Getting panel links\n */\n get panelLinks(): LinkCollection {\n return this.listitem.links.getLinksByGroup(\"panel\");\n }\n\n /**\n * Getting the contentConfiguration\n */\n get contentConfiguration(): ContentConfiguration {\n return this._contentConfiguration;\n }\n\n /**\n */\n set contentConfiguration(configuration: ContentConfiguration) {\n this._contentConfiguration = configuration;\n }\n\n /**\n * Getting the introduction text configured on the case view\n */\n get introtext(): string {\n if (this.data._content) {\n return this.data._content.text.message;\n }\n\n if (this.contributions.text) {\n return this.contributions.text.message ?? this.contributions.text;\n }\n\n if (Array.isArray(this.contributions.texts)) {\n return this.contributions.texts[0].text;\n }\n\n return \"\";\n }\n\n /**\n */\n setResultSection() {\n if (\n has(this.contributions, \"resultSection\") &&\n has(this.data, \"resultSection\")\n ) {\n this.setResults();\n this.setGivenAnswers();\n }\n }\n\n /**\n */\n setResults() {\n if (\n has(this.data, \"resultSection.results\") &&\n has(this.contributions, \"resultSection.results\")\n ) {\n const resultsData = this.data.resultSection.results;\n const resultsContributions = this.contributions.resultSection.results;\n if (resultsContributions.type === \"composite\") {\n resultsContributions.children = resultsContributions.children.filter(\n (child) => {\n const childKey = Object.keys(child)[0];\n return childKey in resultsData;\n },\n );\n }\n\n const results = createAttribute(\n \"results\",\n {\n key: \"results\",\n dynamicschema: this.data.dynamicschema,\n content: this.data.content?.results,\n ...this.data.resultSection,\n },\n resultsContributions,\n );\n\n if (results instanceof CompositeAttributeModel) {\n results.isResult = true;\n results.indicateContentConfiguration(this.contentConfiguration);\n this._results = results;\n }\n }\n }\n\n /**\n */\n setGivenAnswers() {\n if (\n has(this.data, \"resultSection.givenAnswers\") &&\n has(this.contributions, \"resultSection.givenAnswers\")\n ) {\n const givenAnswersData = this.data.resultSection.givenAnswers;\n const givenAnswersContributions =\n this.contributions.resultSection.givenAnswers;\n\n const filteredContributions = {\n ...givenAnswersContributions,\n children: givenAnswersContributions.children.filter((child) => {\n const childKey = Object.keys(child)[0];\n return childKey in givenAnswersData;\n }),\n };\n\n const givenAnswers = createAttribute(\n \"givenAnswers\",\n {\n key: \"givenAnswers\",\n dynamicschema: this.data.dynamicschema,\n content: this.data.content?.givenAnswers,\n ...this.data.resultSection,\n },\n filteredContributions,\n );\n\n if (givenAnswers instanceof CompositeAttributeModel) {\n givenAnswers.isResult = true;\n this._givenAnswers = givenAnswers;\n }\n }\n }\n\n /**\n */\n get givenAnswers(): ?CompositeAttributeModel {\n return this._givenAnswers;\n }\n\n /**\n */\n get hasResults(): boolean {\n return has(this.contributions, \"resultSection\");\n }\n\n /**\n */\n get results(): ?CompositeAttributeModel {\n return this._results;\n }\n\n /**\n */\n get hasEventData(): boolean {\n return (\n has(this.contributions, \"eventdata\") &&\n has(this.data, \"eventdata\") &&\n this.data.eventdata != null &&\n this.contributions.eventdata != null\n );\n }\n\n /**\n */\n addAttributes(key: string, eventData: Object, eventContributions: Object) {\n this._eventdata.push(\n new AttributeSetModel(key, eventData, eventContributions),\n );\n }\n\n /**\n */\n setEventData() {\n if (this.hasEventData) {\n this._eventdata = [];\n\n this.contributions.eventdata.forEach((eventDataContribution) => {\n const [key] = Object.keys(eventDataContribution);\n if (key in this.data.eventdata) {\n if (Array.isArray(this.data.eventdata[key])) {\n this.data.eventdata[key].forEach((eventDataData, i) => {\n this.addAttributes(\n `${key}-${i + 1}`,\n {\n ...eventDataData,\n dynamicschema: this.data.dynamicschema,\n },\n eventDataContribution[key],\n );\n });\n } else {\n this.addAttributes(\n key,\n {\n ...this.data.eventdata[key],\n dynamicschema: this.data.dynamicschema,\n },\n eventDataContribution[key],\n );\n }\n }\n });\n }\n }\n\n /**\n */\n get eventdata(): Array<AttributeSetModel> {\n return this._eventdata;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListDetailModel.js","names":["_objects","require","_ActionCollection","_interopRequireDefault","_DetailModel","_ContentConfiguration","_AttributeSetModel","_createAttribute","_CompositeAttributeModel","ListDetailModel","DetailModel","constructor","modularUIResponse","_defineProperty2","default","_actionCollection","ActionCollection","_contentConfiguration","ContentConfiguration","contributions","content","setResultSection","setEventData","getInitialChildModelLinks","listitemPanels","listitem","links","getLinksByGroup","all","hasResults","results","push","givenAnswers","setChildModels","models","errors","_attributeCollection","type","modelName","isApplicableModel","data","resourcetype","_endsWith","call","_listitem","actionCollection","panelLinks","contentConfiguration","configuration","introtext","_content","text","message","Array","isArray","texts","has","setResults","setGivenAnswers","resultsData","resultSection","resultsContributions","_context","children","_filter","child","childKey","_keys","createAttribute","key","dynamicschema","CompositeAttributeModel","isResult","indicateContentConfiguration","_results","_context2","givenAnswersData","givenAnswersContributions","filteredContributions","_givenAnswers","hasEventData","eventdata","addAttributes","eventData","eventContributions","_eventdata","AttributeSetModel","forEach","eventDataContribution","eventDataData","i","exports"],"sources":["../../../src/models/list/ListDetailModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ActionCollection from \"../actions/ActionCollection\";\nimport DetailModel from \"../detail/DetailModel\";\nimport ContentConfiguration from \"../contentconfiguration/ContentConfiguration\";\nimport AttributeSetModel from \"../attributes/AttributeSetModel\";\n\nimport createAttribute from \"../attributes/_createAttribute\";\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type ListItemModel from \"../list/ListItemModel\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Detail of a list item\n */\nexport default class ListDetailModel extends DetailModel {\n _contentConfiguration: ContentConfiguration;\n _listitem: ListItemModel;\n _givenAnswers: ?CompositeAttributeModel;\n _results: ?CompositeAttributeModel;\n _eventdata: Array<AttributeSetModel>;\n\n /**\n * Construct\n */\n constructor(modularUIResponse: ModularUIResponse) {\n super(modularUIResponse);\n\n this._actionCollection = new ActionCollection();\n\n this._contentConfiguration = new ContentConfiguration(\n this.contributions ? this.contributions.content : {},\n );\n\n this.setResultSection();\n this.setEventData();\n }\n\n /**\n * Add links to expand on initialization of this model\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const listitemPanels = this.listitem\n ? this.listitem.links.getLinksByGroup(\"panel\").all\n : [];\n\n const links = [...super.getInitialChildModelLinks(), ...listitemPanels];\n\n if (this.hasResults) {\n if (this.results) {\n links.push(...this.results.getInitialChildModelLinks());\n }\n if (this.givenAnswers) {\n links.push(...this.givenAnswers.getInitialChildModelLinks());\n }\n }\n\n return links;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n this._attributeCollection.setChildModels(models, errors);\n\n if (this.results) {\n this.results.setChildModels(models, errors);\n }\n\n if (this.givenAnswers) {\n this.givenAnswers.setChildModels(models, errors);\n }\n }\n\n /**\n */\n get type(): string {\n return \"ListDetail\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ListDetailModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n const resourcetype = data.contributions?.resourcetype ?? \"unknown\";\n\n return (\n resourcetype.endsWith(\"ListPanelDetail\") ||\n resourcetype.endsWith(\"ListDetail\") ||\n resourcetype === \"DatastoreRelatedDatastorePanelDetail\" ||\n resourcetype === \"CaseRelatedDataStorePanelDetail\"\n );\n }\n\n /**\n * Set listitem of this listdetail and transfer listitem actions to listdetail actions\n */\n set listitem(listitem: ListItemModel) {\n this._listitem = listitem;\n\n // transfer listitem actions to _actions\n this._actionCollection = listitem.actionCollection;\n }\n\n /**\n * Get listitem\n */\n get listitem(): ListItemModel {\n return this._listitem;\n }\n\n /**\n * Getting panel links\n */\n get panelLinks(): LinkCollection {\n return this.listitem.links.getLinksByGroup(\"panel\");\n }\n\n /**\n * Getting the contentConfiguration\n */\n get contentConfiguration(): ContentConfiguration {\n return this._contentConfiguration;\n }\n\n /**\n */\n set contentConfiguration(configuration: ContentConfiguration) {\n this._contentConfiguration = configuration;\n }\n\n /**\n * Getting the introduction text configured on the case view\n */\n get introtext(): string {\n if (this.data._content) {\n return this.data._content.text.message;\n }\n\n if (this.contributions.text) {\n return this.contributions.text.message ?? this.contributions.text;\n }\n\n if (Array.isArray(this.contributions.texts)) {\n return this.contributions.texts[0].text;\n }\n\n return \"\";\n }\n\n /**\n */\n setResultSection() {\n if (\n has(this.contributions, \"resultSection\") &&\n has(this.data, \"resultSection\")\n ) {\n this.setResults();\n this.setGivenAnswers();\n }\n }\n\n /**\n */\n setResults() {\n if (\n has(this.data, \"resultSection.results\") &&\n has(this.contributions, \"resultSection.results\")\n ) {\n const resultsData = this.data.resultSection.results;\n const resultsContributions = this.contributions.resultSection.results;\n if (resultsContributions.type === \"composite\") {\n resultsContributions.children = resultsContributions.children.filter(\n (child) => {\n const childKey = Object.keys(child)[0];\n return childKey in resultsData;\n },\n );\n }\n\n const results = createAttribute(\n \"results\",\n {\n key: \"results\",\n dynamicschema: this.data.dynamicschema,\n content: this.data.content?.results,\n ...this.data.resultSection,\n },\n resultsContributions,\n );\n\n if (results instanceof CompositeAttributeModel) {\n results.isResult = true;\n results.indicateContentConfiguration(this.contentConfiguration);\n this._results = results;\n }\n }\n }\n\n /**\n */\n setGivenAnswers() {\n if (\n has(this.data, \"resultSection.givenAnswers\") &&\n has(this.contributions, \"resultSection.givenAnswers\")\n ) {\n const givenAnswersData = this.data.resultSection.givenAnswers;\n const givenAnswersContributions =\n this.contributions.resultSection.givenAnswers;\n\n const filteredContributions = {\n ...givenAnswersContributions,\n children: givenAnswersContributions.children.filter((child) => {\n const childKey = Object.keys(child)[0];\n return childKey in givenAnswersData;\n }),\n };\n\n const givenAnswers = createAttribute(\n \"givenAnswers\",\n {\n key: \"givenAnswers\",\n dynamicschema: this.data.dynamicschema,\n content: this.data.content?.givenAnswers,\n ...this.data.resultSection,\n },\n filteredContributions,\n );\n\n if (givenAnswers instanceof CompositeAttributeModel) {\n givenAnswers.isResult = true;\n this._givenAnswers = givenAnswers;\n }\n }\n }\n\n /**\n */\n get givenAnswers(): ?CompositeAttributeModel {\n return this._givenAnswers;\n }\n\n /**\n */\n get hasResults(): boolean {\n return has(this.contributions, \"resultSection\");\n }\n\n /**\n */\n get results(): ?CompositeAttributeModel {\n return this._results;\n }\n\n /**\n */\n get hasEventData(): boolean {\n return (\n has(this.contributions, \"eventdata\") &&\n has(this.data, \"eventdata\") &&\n this.data.eventdata != null &&\n this.contributions.eventdata != null\n );\n }\n\n /**\n */\n addAttributes(key: string, eventData: Object, eventContributions: Object) {\n this._eventdata.push(\n new AttributeSetModel(key, eventData, eventContributions),\n );\n }\n\n /**\n */\n setEventData() {\n if (this.hasEventData) {\n this._eventdata = [];\n\n this.contributions.eventdata.forEach((eventDataContribution) => {\n const [key] = Object.keys(eventDataContribution);\n if (key in this.data.eventdata) {\n if (Array.isArray(this.data.eventdata[key])) {\n this.data.eventdata[key].forEach((eventDataData, i) => {\n this.addAttributes(\n `${key}-${i + 1}`,\n {\n ...eventDataData,\n dynamicschema: this.data.dynamicschema,\n },\n eventDataContribution[key],\n );\n });\n } else {\n this.addAttributes(\n key,\n {\n ...this.data.eventdata[key],\n dynamicschema: this.data.dynamicschema,\n },\n eventDataContribution[key],\n );\n }\n }\n });\n }\n }\n\n /**\n */\n get eventdata(): Array<AttributeSetModel> {\n return this._eventdata;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -45,6 +45,7 @@ import type BaseFilterModel from "./filters/BaseFilterModel";
45
45
  import type AttributeCollection from "./attributes/AttributeCollection";
46
46
  import type AttributeModel from "./attributes/AttributeModel";
47
47
  import type LayoutHintCollection from "./layouthint/LayoutHintCollection";
48
+ import type ErrorResponse from "./error/ErrorResponse";
48
49
 
49
50
  export type ModularUIModel =
50
51
  | ApplicationModel
@@ -151,7 +152,10 @@ export interface ILayoutHintRule {
151
152
 
152
153
  export interface IModelWithChildModels {
153
154
  getInitialChildModelLinks(): Array<LinkModel>;
154
- setChildModels(models: Array<ModularUIModel>): void;
155
+ setChildModels(
156
+ models: Array<ModularUIModel>,
157
+ errors: Array<ErrorResponse>,
158
+ ): void;
155
159
  }
156
160
 
157
161
  export type AuthenticationType = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../src/models/types.js"],"sourcesContent":["// @flow\nimport type ApplicationModel from \"./application/ApplicationModel\";\nimport type BooleanAttributeModel from \"./attributes/BooleanAttributeModel\";\nimport type CaptchaAttributeModel from \"./attributes/CaptchaAttributeModel\";\nimport type ChoiceAttributeModel from \"./attributes/ChoiceAttributeModel\";\nimport type CompositeAttributeModel from \"./attributes/CompositeAttributeModel\";\nimport type DatetimeAttributeModel from \"./attributes/DatetimeAttributeModel\";\nimport type HelptextAttributeModel from \"./attributes/HelptextAttributeModel\";\nimport type LabelAttributeModel from \"./attributes/LabelAttributeModel\";\nimport type MemoAttributeModel from \"./attributes/MemoAttributeModel\";\nimport type MoneyAttributeModel from \"./attributes/MoneyAttributeModel\";\nimport type NumberAttributeModel from \"./attributes/NumberAttributeModel\";\nimport type PasswordAttributeModel from \"./attributes/PasswordAttributeModel\";\nimport type StringAttributeModel from \"./attributes/StringAttributeModel\";\nimport type UploadAttributeModel from \"./attributes/UploadAttributeModel\";\nimport type XMLAttributeModel from \"./attributes/XMLAttributeModel\";\nimport type CaseViewModel from \"./caseview/CaseViewModel\";\nimport type BusinessScenarioModel from \"./concepts/BusinessScenarioModel\";\nimport type ConceptDetailModel from \"./concepts/ConceptDetailModel\";\nimport type ConceptIndexModel from \"./concepts/ConceptIndexModel\";\nimport type ConceptTypeDetailModel from \"./concepts/ConceptTypeDetailModel\";\nimport type ContentIndexModel from \"./content/ContentIndexModel\";\nimport type ContentModel from \"./content/ContentModel\";\nimport type SectionModel from \"./content/SectionModel\";\nimport type ContentTOCModel from \"./content/ContentTOCModel\";\nimport type ContentTypeModel from \"./content/ContentTypeModel\";\nimport type DetailModel from \"./detail/DetailModel\";\nimport type AssignmentFilterModel from \"./filters/AssignmentFilterModel\";\nimport type FilterModel from \"./filters/FilterModel\";\nimport type RangeFilterModel from \"./filters/RangeFilterModel\";\nimport type ConceptIndexFilterModel from \"./filters/ConceptIndexFilterModel\";\nimport type FormModel from \"./form/FormModel\";\nimport type ListDetailModel from \"./list/ListDetailModel\";\nimport type ListModel from \"./list/ListModel\";\nimport type ModelCatalogModel from \"./modelcatalog/ModelCatalogModel\";\nimport type GroupingPanelModel from \"./panels/GroupingPanelModel\";\nimport type CaseSearchModel from \"./search/CaseSearchModel\";\nimport type TabModel from \"./tab/TabModel\";\nimport type TaskGroupModel from \"./taskgroup/TaskGroupModel\";\nimport type UserModel from \"./user/UserModel\";\nimport type UserServicesModel from \"./user/UserServicesModel\";\nimport type LinkModel from \"./links/LinkModel\";\nimport type LookupOptionsModel from \"./lookup/LookupOptionsModel\";\nimport type BaseFilterModel from \"./filters/BaseFilterModel\";\nimport type AttributeCollection from \"./attributes/AttributeCollection\";\nimport type AttributeModel from \"./attributes/AttributeModel\";\nimport type LayoutHintCollection from \"./layouthint/LayoutHintCollection\";\n\nexport type ModularUIModel =\n | ApplicationModel\n | CaseSearchModel\n | CaseViewModel\n | ListDetailModel\n | DetailModel\n | FormModel\n | GroupingPanelModel\n | ListModel\n | TabModel\n | TaskGroupModel\n | UserModel\n | UserServicesModel\n | ModelCatalogModel\n | ConceptIndexModel\n | ConceptDetailModel\n | BusinessScenarioModel\n | ConceptTypeDetailModel\n | ContentIndexModel\n | ContentTOCModel\n | ContentModel\n | ContentTypeModel\n | LookupOptionsModel;\n\nexport type AttributeType =\n | BooleanAttributeModel\n | CaptchaAttributeModel\n | ChoiceAttributeModel\n | DatetimeAttributeModel\n | HelptextAttributeModel\n | LabelAttributeModel\n | MemoAttributeModel\n | MoneyAttributeModel\n | NumberAttributeModel\n | PasswordAttributeModel\n | CompositeAttributeModel\n | StringAttributeModel\n | UploadAttributeModel\n | XMLAttributeModel;\n\nexport type RangeChildAttributeType =\n | NumberAttributeModel\n | DatetimeAttributeModel;\n\nexport type FilterType =\n | BaseFilterModel\n | FilterModel\n | AssignmentFilterModel\n | RangeFilterModel\n | ConceptIndexFilterModel;\n\nexport type FormErrorAnchor = {\n id: string,\n properties?: {\n [propertyName: string]: string | number,\n },\n anchor?: {\n objectid: string,\n elementid?: string,\n _links?: Object,\n index?: number,\n \"index-identifier\"?: string,\n },\n layouthint: LayoutHintCollection,\n message: string,\n param?: {\n name: string,\n },\n};\n\nexport type labelsJSON = {\n _id: string,\n label: string,\n value: string,\n};\n\nexport type propertyJSON = {\n _id: string,\n type: string,\n mandatory: string,\n label: string,\n value: string,\n};\n\nexport type textfragmentJSON = {\n label: string,\n text: string,\n type: string,\n};\n\nexport interface IConstraintModel {\n +id: string;\n +defaultMessage: string;\n +parameters: Object;\n +isMandatoryConstraint: boolean;\n validate(value: any): boolean;\n hasValidation(): boolean;\n}\n\nexport interface ILayoutHintRule {\n process(attribute: AttributeModel, attributes: AttributeCollection): void;\n}\n\nexport interface IModelWithChildModels {\n getInitialChildModelLinks(): Array<LinkModel>;\n setChildModels(models: Array<ModularUIModel>): void;\n}\n\nexport type AuthenticationType = {\n name: string,\n authentication: string,\n redirectUri?: string,\n isPrimary: boolean,\n};\n\nexport type FileEntryType = {\n name: string,\n size?: number,\n progress: number,\n error?: string,\n token?: string,\n};\n\nexport type FilesType = {\n [filename: string]: FileEntryType,\n};\n\nexport type FiletypeConstraintsType = Array<{|\n extensions: Array<string>,\n mimeTypes: Array<string>,\n|}>;\n\nexport type FilesizeConstraintsType = {\n fileSize: ?number,\n maxTotalFileSize: ?number,\n isMaxTotal: boolean,\n};\n\nexport type PropertyData = { type: string, label: string, value: string };\nexport type TextFragmentData = {\n type: string,\n label: string,\n text: string | { id?: string, message: string, properties?: Object },\n};\nexport type SectionData = {\n id: string,\n type: string,\n label?: string,\n number?: string,\n body: string | { id?: string, message: string, properties?: Object },\n _links: { self: { href: string } },\n childSections: Array<SectionData>,\n subSections: Array<SectionData>,\n};\n\nexport type PropertyElement = {\n propertyElement: {\n label: string,\n layouthint: Array<string>,\n properties: Array<PropertyData>,\n },\n};\nexport type TextFragmentElement = {\n textFragmentElement: {\n label: string,\n layouthint: Array<string>,\n textfragments: Array<TextFragmentData>,\n },\n};\nexport type ContentElement = {\n contentElement: {\n label: string,\n layouthint: Array<string>,\n sections: Array<SectionData>,\n },\n};\n\nexport type PropertyElementMapped = {\n propertyElement: {\n label: string,\n layouthint: LayoutHintCollection,\n properties: Array<PropertyData>,\n },\n};\nexport type TextFragmentElementMapped = {\n textFragmentElement: {\n label: string,\n layouthint: LayoutHintCollection,\n textfragments: Array<TextFragmentData>,\n },\n};\nexport type ContentElementMapped = {\n contentElement: {\n label: string,\n layouthint: LayoutHintCollection,\n sections: Array<SectionModel>,\n },\n};\n\nexport type ContentAll = Array<\n PropertyElementMapped | TextFragmentElementMapped | ContentElementMapped,\n>;\n\nexport type ContentData = {\n header: {\n label?: string,\n description?: { id?: string, message: string, properties?: Object },\n },\n label?: string,\n elements: Array<PropertyElement | TextFragmentElement | ContentElement>,\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../src/models/types.js"],"sourcesContent":["// @flow\nimport type ApplicationModel from \"./application/ApplicationModel\";\nimport type BooleanAttributeModel from \"./attributes/BooleanAttributeModel\";\nimport type CaptchaAttributeModel from \"./attributes/CaptchaAttributeModel\";\nimport type ChoiceAttributeModel from \"./attributes/ChoiceAttributeModel\";\nimport type CompositeAttributeModel from \"./attributes/CompositeAttributeModel\";\nimport type DatetimeAttributeModel from \"./attributes/DatetimeAttributeModel\";\nimport type HelptextAttributeModel from \"./attributes/HelptextAttributeModel\";\nimport type LabelAttributeModel from \"./attributes/LabelAttributeModel\";\nimport type MemoAttributeModel from \"./attributes/MemoAttributeModel\";\nimport type MoneyAttributeModel from \"./attributes/MoneyAttributeModel\";\nimport type NumberAttributeModel from \"./attributes/NumberAttributeModel\";\nimport type PasswordAttributeModel from \"./attributes/PasswordAttributeModel\";\nimport type StringAttributeModel from \"./attributes/StringAttributeModel\";\nimport type UploadAttributeModel from \"./attributes/UploadAttributeModel\";\nimport type XMLAttributeModel from \"./attributes/XMLAttributeModel\";\nimport type CaseViewModel from \"./caseview/CaseViewModel\";\nimport type BusinessScenarioModel from \"./concepts/BusinessScenarioModel\";\nimport type ConceptDetailModel from \"./concepts/ConceptDetailModel\";\nimport type ConceptIndexModel from \"./concepts/ConceptIndexModel\";\nimport type ConceptTypeDetailModel from \"./concepts/ConceptTypeDetailModel\";\nimport type ContentIndexModel from \"./content/ContentIndexModel\";\nimport type ContentModel from \"./content/ContentModel\";\nimport type SectionModel from \"./content/SectionModel\";\nimport type ContentTOCModel from \"./content/ContentTOCModel\";\nimport type ContentTypeModel from \"./content/ContentTypeModel\";\nimport type DetailModel from \"./detail/DetailModel\";\nimport type AssignmentFilterModel from \"./filters/AssignmentFilterModel\";\nimport type FilterModel from \"./filters/FilterModel\";\nimport type RangeFilterModel from \"./filters/RangeFilterModel\";\nimport type ConceptIndexFilterModel from \"./filters/ConceptIndexFilterModel\";\nimport type FormModel from \"./form/FormModel\";\nimport type ListDetailModel from \"./list/ListDetailModel\";\nimport type ListModel from \"./list/ListModel\";\nimport type ModelCatalogModel from \"./modelcatalog/ModelCatalogModel\";\nimport type GroupingPanelModel from \"./panels/GroupingPanelModel\";\nimport type CaseSearchModel from \"./search/CaseSearchModel\";\nimport type TabModel from \"./tab/TabModel\";\nimport type TaskGroupModel from \"./taskgroup/TaskGroupModel\";\nimport type UserModel from \"./user/UserModel\";\nimport type UserServicesModel from \"./user/UserServicesModel\";\nimport type LinkModel from \"./links/LinkModel\";\nimport type LookupOptionsModel from \"./lookup/LookupOptionsModel\";\nimport type BaseFilterModel from \"./filters/BaseFilterModel\";\nimport type AttributeCollection from \"./attributes/AttributeCollection\";\nimport type AttributeModel from \"./attributes/AttributeModel\";\nimport type LayoutHintCollection from \"./layouthint/LayoutHintCollection\";\nimport type ErrorResponse from \"./error/ErrorResponse\";\n\nexport type ModularUIModel =\n | ApplicationModel\n | CaseSearchModel\n | CaseViewModel\n | ListDetailModel\n | DetailModel\n | FormModel\n | GroupingPanelModel\n | ListModel\n | TabModel\n | TaskGroupModel\n | UserModel\n | UserServicesModel\n | ModelCatalogModel\n | ConceptIndexModel\n | ConceptDetailModel\n | BusinessScenarioModel\n | ConceptTypeDetailModel\n | ContentIndexModel\n | ContentTOCModel\n | ContentModel\n | ContentTypeModel\n | LookupOptionsModel;\n\nexport type AttributeType =\n | BooleanAttributeModel\n | CaptchaAttributeModel\n | ChoiceAttributeModel\n | DatetimeAttributeModel\n | HelptextAttributeModel\n | LabelAttributeModel\n | MemoAttributeModel\n | MoneyAttributeModel\n | NumberAttributeModel\n | PasswordAttributeModel\n | CompositeAttributeModel\n | StringAttributeModel\n | UploadAttributeModel\n | XMLAttributeModel;\n\nexport type RangeChildAttributeType =\n | NumberAttributeModel\n | DatetimeAttributeModel;\n\nexport type FilterType =\n | BaseFilterModel\n | FilterModel\n | AssignmentFilterModel\n | RangeFilterModel\n | ConceptIndexFilterModel;\n\nexport type FormErrorAnchor = {\n id: string,\n properties?: {\n [propertyName: string]: string | number,\n },\n anchor?: {\n objectid: string,\n elementid?: string,\n _links?: Object,\n index?: number,\n \"index-identifier\"?: string,\n },\n layouthint: LayoutHintCollection,\n message: string,\n param?: {\n name: string,\n },\n};\n\nexport type labelsJSON = {\n _id: string,\n label: string,\n value: string,\n};\n\nexport type propertyJSON = {\n _id: string,\n type: string,\n mandatory: string,\n label: string,\n value: string,\n};\n\nexport type textfragmentJSON = {\n label: string,\n text: string,\n type: string,\n};\n\nexport interface IConstraintModel {\n +id: string;\n +defaultMessage: string;\n +parameters: Object;\n +isMandatoryConstraint: boolean;\n validate(value: any): boolean;\n hasValidation(): boolean;\n}\n\nexport interface ILayoutHintRule {\n process(attribute: AttributeModel, attributes: AttributeCollection): void;\n}\n\nexport interface IModelWithChildModels {\n getInitialChildModelLinks(): Array<LinkModel>;\n setChildModels(\n models: Array<ModularUIModel>,\n errors: Array<ErrorResponse>,\n ): void;\n}\n\nexport type AuthenticationType = {\n name: string,\n authentication: string,\n redirectUri?: string,\n isPrimary: boolean,\n};\n\nexport type FileEntryType = {\n name: string,\n size?: number,\n progress: number,\n error?: string,\n token?: string,\n};\n\nexport type FilesType = {\n [filename: string]: FileEntryType,\n};\n\nexport type FiletypeConstraintsType = Array<{|\n extensions: Array<string>,\n mimeTypes: Array<string>,\n|}>;\n\nexport type FilesizeConstraintsType = {\n fileSize: ?number,\n maxTotalFileSize: ?number,\n isMaxTotal: boolean,\n};\n\nexport type PropertyData = { type: string, label: string, value: string };\nexport type TextFragmentData = {\n type: string,\n label: string,\n text: string | { id?: string, message: string, properties?: Object },\n};\nexport type SectionData = {\n id: string,\n type: string,\n label?: string,\n number?: string,\n body: string | { id?: string, message: string, properties?: Object },\n _links: { self: { href: string } },\n childSections: Array<SectionData>,\n subSections: Array<SectionData>,\n};\n\nexport type PropertyElement = {\n propertyElement: {\n label: string,\n layouthint: Array<string>,\n properties: Array<PropertyData>,\n },\n};\nexport type TextFragmentElement = {\n textFragmentElement: {\n label: string,\n layouthint: Array<string>,\n textfragments: Array<TextFragmentData>,\n },\n};\nexport type ContentElement = {\n contentElement: {\n label: string,\n layouthint: Array<string>,\n sections: Array<SectionData>,\n },\n};\n\nexport type PropertyElementMapped = {\n propertyElement: {\n label: string,\n layouthint: LayoutHintCollection,\n properties: Array<PropertyData>,\n },\n};\nexport type TextFragmentElementMapped = {\n textFragmentElement: {\n label: string,\n layouthint: LayoutHintCollection,\n textfragments: Array<TextFragmentData>,\n },\n};\nexport type ContentElementMapped = {\n contentElement: {\n label: string,\n layouthint: LayoutHintCollection,\n sections: Array<SectionModel>,\n },\n};\n\nexport type ContentAll = Array<\n PropertyElementMapped | TextFragmentElementMapped | ContentElementMapped,\n>;\n\nexport type ContentData = {\n header: {\n label?: string,\n description?: { id?: string, message: string, properties?: Object },\n },\n label?: string,\n elements: Array<PropertyElement | TextFragmentElement | ContentElement>,\n};\n"],"mappings":"","ignoreList":[]}
@@ -9,6 +9,7 @@ var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stabl
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
10
10
  var _ResourceModel = _interopRequireDefault(require("../base/ResourceModel"));
11
11
  var _UserModel = _interopRequireDefault(require("../user/UserModel"));
12
+ var _ErrorResponse = _interopRequireDefault(require("../error/ErrorResponse"));
12
13
  /**
13
14
  * UserServicesModel model
14
15
  */
@@ -16,6 +17,7 @@ class UserServicesModel extends _ResourceModel.default {
16
17
  constructor() {
17
18
  super(...arguments);
18
19
  (0, _defineProperty2.default)(this, "_user", void 0);
20
+ (0, _defineProperty2.default)(this, "_mustChangePassword", false);
19
21
  }
20
22
  /**
21
23
  */
@@ -44,7 +46,8 @@ class UserServicesModel extends _ResourceModel.default {
44
46
 
45
47
  /**
46
48
  */
47
- setChildModels(models) {
49
+ setChildModels(models, errors) {
50
+ this.mustChangePassword = Array.isArray(errors) ? errors.some(error => error.isChangePassword) ?? false : false;
48
51
  this.user = (0, _find.default)(models).call(models, model => model.type === "User");
49
52
  }
50
53
 
@@ -105,6 +108,18 @@ class UserServicesModel extends _ResourceModel.default {
105
108
  const UNSECURE_LINK_COUNT = 3;
106
109
  return this.links.length > UNSECURE_LINK_COUNT || hasUser;
107
110
  }
111
+
112
+ /**
113
+ */
114
+ set mustChangePassword(mustChangePassword) {
115
+ this._mustChangePassword = mustChangePassword;
116
+ }
117
+
118
+ /**
119
+ */
120
+ get mustChangePassword() {
121
+ return this._mustChangePassword;
122
+ }
108
123
  }
109
124
  var _default = exports.default = UserServicesModel;
110
125
  //# sourceMappingURL=UserServicesModel.js.map
@@ -1,6 +1,7 @@
1
1
  // @flow
2
2
  import ResourceModel from "../base/ResourceModel";
3
3
  import UserModel from "../user/UserModel";
4
+ import ErrorResponse from "../error/ErrorResponse";
4
5
 
5
6
  import type { ModularUIModel } from "../types";
6
7
  import type { ModularUIResponse } from "../../modularui";
@@ -12,6 +13,7 @@ import type Href from "../href/Href";
12
13
  */
13
14
  class UserServicesModel extends ResourceModel {
14
15
  _user: ?UserModel;
16
+ _mustChangePassword: boolean = false;
15
17
 
16
18
  /**
17
19
  */
@@ -43,7 +45,10 @@ class UserServicesModel extends ResourceModel {
43
45
 
44
46
  /**
45
47
  */
46
- setChildModels(models: Array<ModularUIModel>) {
48
+ setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {
49
+ this.mustChangePassword = Array.isArray(errors)
50
+ ? errors.some((error) => error.isChangePassword) ?? false
51
+ : false;
47
52
  this.user = models.find((model) => model.type === "User");
48
53
  }
49
54
 
@@ -109,6 +114,18 @@ class UserServicesModel extends ResourceModel {
109
114
  const UNSECURE_LINK_COUNT = 3;
110
115
  return this.links.length > UNSECURE_LINK_COUNT || hasUser;
111
116
  }
117
+
118
+ /**
119
+ */
120
+ set mustChangePassword(mustChangePassword: boolean) {
121
+ this._mustChangePassword = mustChangePassword;
122
+ }
123
+
124
+ /**
125
+ */
126
+ get mustChangePassword(): boolean {
127
+ return this._mustChangePassword;
128
+ }
112
129
  }
113
130
 
114
131
  export default UserServicesModel;
@@ -1 +1 @@
1
- {"version":3,"file":"UserServicesModel.js","names":["_ResourceModel","_interopRequireDefault","require","_UserModel","UserServicesModel","ResourceModel","constructor","arguments","_defineProperty2","default","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","userData","userLink","setChildModels","models","user","_find","call","model","links","getLinkByKey","_user","UserModel","label","getContribution","changePassword","changePasswordLink","href","changeAvatar","changeAvatarLink","isLoggedIn","hasUser","UNSECURE_LINK_COUNT","length","_default","exports"],"sources":["../../../src/models/user/UserServicesModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport UserModel from \"../user/UserModel\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\n\n/**\n * UserServicesModel model\n */\nclass UserServicesModel extends ResourceModel {\n _user: ?UserModel;\n\n /**\n */\n get type(): string {\n return \"UserServices\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"UserServicesModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"user_services\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const userData = this.userLink;\n return userData ? [userData] : [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.user = models.find((model) => model.type === \"User\");\n }\n\n /**\n */\n get userLink(): LinkModel | null {\n return this.links.getLinkByKey(\"Userdata\");\n }\n\n /**\n * return the user model for the current user\n */\n get user(): UserModel | null {\n return this._user || null;\n }\n\n /**\n * Set user data\n */\n set user(model: ?ModularUIModel) {\n this._user = model instanceof UserModel ? model : null;\n }\n\n /**\n * Getting the label of the application\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n */\n get changePassword(): Href | null {\n const changePasswordLink = this.links.getLinkByKey(\"ChangePassword\");\n\n if (changePasswordLink) {\n return changePasswordLink.href;\n }\n\n return null;\n }\n\n /**\n */\n get changeAvatar(): Href | null {\n const changeAvatarLink = this.links.getLinkByKey(\"ChangeAvatar\");\n\n if (changeAvatarLink) {\n return changeAvatarLink.href;\n }\n\n return null;\n }\n\n // when more than three unsecure links are present (always present: self, contributions and api-docs),\n // the userservice is permitted and thus we have an indication the user is probably\n // logged in\n /**\n */\n get isLoggedIn(): boolean {\n const hasUser = this.user instanceof UserModel;\n\n const UNSECURE_LINK_COUNT = 3;\n return this.links.length > UNSECURE_LINK_COUNT || hasUser;\n }\n}\n\nexport default UserServicesModel;\n"],"mappings":";;;;;;;;;AACA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AAOA;AACA;AACA;AACA,MAAME,iBAAiB,SAASC,sBAAa,CAAC;EAAAC,YAAA;IAAA,SAAAC,SAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA;EAAA;EAG5C;AACF;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,cAAc;EACvB;;EAEA;AACF;EACE,WAAWC,SAASA,CAAA,EAAW;IAC7B,OAAO,mBAAmB;EAC5B;;EAEA;AACF;EACE,OAAOC,iBAAiBA,CAACC,IAAuB,EAAW;IACzD,OACEA,IAAI,CAACC,aAAa,CAACC,YAAY,IAC/BF,IAAI,CAACC,aAAa,CAACC,YAAY,KAAK,eAAe;EAEvD;;EAEA;AACF;EACEC,yBAAyBA,CAAA,EAAqB;IAC5C,MAAMC,QAAQ,GAAG,IAAI,CAACC,QAAQ;IAC9B,OAAOD,QAAQ,GAAG,CAACA,QAAQ,CAAC,GAAG,EAAE;EACnC;;EAEA;AACF;EACEE,cAAcA,CAACC,MAA6B,EAAE;IAC5C,IAAI,CAACC,IAAI,GAAG,IAAAC,KAAA,CAAAb,OAAA,EAAAW,MAAM,EAAAG,IAAA,CAANH,MAAM,EAAOI,KAAK,IAAKA,KAAK,CAACd,IAAI,KAAK,MAAM,CAAC;EAC3D;;EAEA;AACF;EACE,IAAIQ,QAAQA,CAAA,EAAqB;IAC/B,OAAO,IAAI,CAACO,KAAK,CAACC,YAAY,CAAC,UAAU,CAAC;EAC5C;;EAEA;AACF;AACA;EACE,IAAIL,IAAIA,CAAA,EAAqB;IAC3B,OAAO,IAAI,CAACM,KAAK,IAAI,IAAI;EAC3B;;EAEA;AACF;AACA;EACE,IAAIN,IAAIA,CAACG,KAAsB,EAAE;IAC/B,IAAI,CAACG,KAAK,GAAGH,KAAK,YAAYI,kBAAS,GAAGJ,KAAK,GAAG,IAAI;EACxD;;EAEA;AACF;AACA;EACE,IAAIK,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;EAC1C;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAgB;IAChC,MAAMC,kBAAkB,GAAG,IAAI,CAACP,KAAK,CAACC,YAAY,CAAC,gBAAgB,CAAC;IAEpE,IAAIM,kBAAkB,EAAE;MACtB,OAAOA,kBAAkB,CAACC,IAAI;IAChC;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,YAAYA,CAAA,EAAgB;IAC9B,MAAMC,gBAAgB,GAAG,IAAI,CAACV,KAAK,CAACC,YAAY,CAAC,cAAc,CAAC;IAEhE,IAAIS,gBAAgB,EAAE;MACpB,OAAOA,gBAAgB,CAACF,IAAI;IAC9B;IAEA,OAAO,IAAI;EACb;;EAEA;EACA;EACA;EACA;AACF;EACE,IAAIG,UAAUA,CAAA,EAAY;IACxB,MAAMC,OAAO,GAAG,IAAI,CAAChB,IAAI,YAAYO,kBAAS;IAE9C,MAAMU,mBAAmB,GAAG,CAAC;IAC7B,OAAO,IAAI,CAACb,KAAK,CAACc,MAAM,GAAGD,mBAAmB,IAAID,OAAO;EAC3D;AACF;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAhC,OAAA,GAEcL,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"UserServicesModel.js","names":["_ResourceModel","_interopRequireDefault","require","_UserModel","_ErrorResponse","UserServicesModel","ResourceModel","constructor","arguments","_defineProperty2","default","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","userData","userLink","setChildModels","models","errors","mustChangePassword","Array","isArray","some","error","isChangePassword","user","_find","call","model","links","getLinkByKey","_user","UserModel","label","getContribution","changePassword","changePasswordLink","href","changeAvatar","changeAvatarLink","isLoggedIn","hasUser","UNSECURE_LINK_COUNT","length","_mustChangePassword","_default","exports"],"sources":["../../../src/models/user/UserServicesModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport UserModel from \"../user/UserModel\";\nimport ErrorResponse from \"../error/ErrorResponse\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\n\n/**\n * UserServicesModel model\n */\nclass UserServicesModel extends ResourceModel {\n _user: ?UserModel;\n _mustChangePassword: boolean = false;\n\n /**\n */\n get type(): string {\n return \"UserServices\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"UserServicesModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"user_services\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const userData = this.userLink;\n return userData ? [userData] : [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n this.mustChangePassword = Array.isArray(errors)\n ? errors.some((error) => error.isChangePassword) ?? false\n : false;\n this.user = models.find((model) => model.type === \"User\");\n }\n\n /**\n */\n get userLink(): LinkModel | null {\n return this.links.getLinkByKey(\"Userdata\");\n }\n\n /**\n * return the user model for the current user\n */\n get user(): UserModel | null {\n return this._user || null;\n }\n\n /**\n * Set user data\n */\n set user(model: ?ModularUIModel) {\n this._user = model instanceof UserModel ? model : null;\n }\n\n /**\n * Getting the label of the application\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n */\n get changePassword(): Href | null {\n const changePasswordLink = this.links.getLinkByKey(\"ChangePassword\");\n\n if (changePasswordLink) {\n return changePasswordLink.href;\n }\n\n return null;\n }\n\n /**\n */\n get changeAvatar(): Href | null {\n const changeAvatarLink = this.links.getLinkByKey(\"ChangeAvatar\");\n\n if (changeAvatarLink) {\n return changeAvatarLink.href;\n }\n\n return null;\n }\n\n // when more than three unsecure links are present (always present: self, contributions and api-docs),\n // the userservice is permitted and thus we have an indication the user is probably\n // logged in\n /**\n */\n get isLoggedIn(): boolean {\n const hasUser = this.user instanceof UserModel;\n\n const UNSECURE_LINK_COUNT = 3;\n return this.links.length > UNSECURE_LINK_COUNT || hasUser;\n }\n\n /**\n */\n set mustChangePassword(mustChangePassword: boolean) {\n this._mustChangePassword = mustChangePassword;\n }\n\n /**\n */\n get mustChangePassword(): boolean {\n return this._mustChangePassword;\n }\n}\n\nexport default UserServicesModel;\n"],"mappings":"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","ignoreList":[]}
@@ -22,6 +22,7 @@ var _universalFetch = _interopRequireDefault(require("../utils/fetch/universalFe
22
22
  var _resolveModel = _interopRequireDefault(require("../models/resolveModel"));
23
23
  var _FormModel = _interopRequireDefault(require("../models/form/FormModel"));
24
24
  var _ContentModel = _interopRequireDefault(require("../models/content/ContentModel"));
25
+ var _ErrorResponse = _interopRequireDefault(require("../models/error/ErrorResponse"));
25
26
  var _ModularUIResponse = _interopRequireDefault(require("./ModularUIResponse"));
26
27
  var _ModularUIError = _interopRequireDefault(require("./ModularUIError"));
27
28
  var _exceptions = require("../exceptions");
@@ -550,19 +551,22 @@ class ModularUIRequest {
550
551
  });
551
552
  return _promise.default.allSettled(childModelRequests).then(childModels => {
552
553
  const resolvedChildModels = [];
554
+ const errorChildModels = [];
553
555
  childModels.forEach(childModel => {
554
556
  if (childModel.status === "rejected") {
555
557
  const {
556
558
  reason
557
559
  } = childModel;
558
560
  if (reason.name !== "Error.ChangePasswordRequired") {
559
- console.error("Unexpected error when retrieving child model:", reason);
561
+ // eslint-disable-next-line no-console
562
+ console.debug("Unexpected error when retrieving child model:", reason);
560
563
  }
564
+ errorChildModels.push(new _ErrorResponse.default(reason));
561
565
  } else {
562
566
  resolvedChildModels.push(childModel.value);
563
567
  }
564
568
  });
565
- model.addChildModels(resolvedChildModels);
569
+ model.addChildModels(resolvedChildModels, errorChildModels);
566
570
  return model;
567
571
  });
568
572
  }
@@ -652,7 +656,7 @@ class ModularUIRequest {
652
656
  locale: this.locale
653
657
  }).fetchSync();
654
658
  });
655
- model.addChildModels(childModels);
659
+ model.addChildModels(childModels, []);
656
660
  return model;
657
661
  }
658
662
  }
@@ -13,6 +13,7 @@ import universalFetch from "../utils/fetch/universalFetch";
13
13
  import resolveModel from "../models/resolveModel";
14
14
  import FormModel from "../models/form/FormModel";
15
15
  import ContentModel from "../models/content/ContentModel";
16
+ import ErrorResponse from "../models/error/ErrorResponse";
16
17
 
17
18
  import ModularUIResponse from "./ModularUIResponse";
18
19
 
@@ -670,22 +671,25 @@ class ModularUIRequest {
670
671
 
671
672
  return Promise.allSettled(childModelRequests).then((childModels) => {
672
673
  const resolvedChildModels = [];
674
+ const errorChildModels = [];
673
675
 
674
676
  childModels.forEach((childModel) => {
675
677
  if (childModel.status === "rejected") {
676
678
  const { reason } = childModel;
677
679
  if (reason.name !== "Error.ChangePasswordRequired") {
678
- console.error(
680
+ // eslint-disable-next-line no-console
681
+ console.debug(
679
682
  "Unexpected error when retrieving child model:",
680
683
  reason,
681
684
  );
682
685
  }
686
+ errorChildModels.push(new ErrorResponse(reason));
683
687
  } else {
684
688
  resolvedChildModels.push(childModel.value);
685
689
  }
686
690
  });
687
691
 
688
- model.addChildModels(resolvedChildModels);
692
+ model.addChildModels(resolvedChildModels, errorChildModels);
689
693
 
690
694
  return model;
691
695
  });
@@ -798,7 +802,7 @@ class ModularUIRequest {
798
802
  locale: this.locale,
799
803
  }).fetchSync();
800
804
  });
801
- model.addChildModels(childModels);
805
+ model.addChildModels(childModels, []);
802
806
 
803
807
  return model;
804
808
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ModularUIRequest.js","names":["_deepmerge","_interopRequireDefault","require","_Constants","_LayoutHints","_Settings","_Href","_universalFetch","_resolveModel","_FormModel","_ContentModel","_ModularUIResponse","_ModularUIError","_exceptions","_objects","ModularUIRequest","constructor","href","options","arguments","length","undefined","_defineProperty2","default","HTTP_METHODS","GET","IllegalArgumentException","_basePath","getBasePath","_response","ModularUIResponse","Href","locale","parameters","targetModel","method","contributionsHref","_contributionsHref","_locale","response","_href","_method","_options","requestOptions","forceTargetModel","updateModel","childmodels","isValidationRequest","removeOnUnmount","withChildModels","_targetModel","_forceTargetModel","resolveModel","availableModels","Array","isArray","Model","isApplicableModel","IllegalStateException","toString","_map","call","m","modelName","join","_stringify","createModel","processContributionsService","contributionsData","isPlainObject","contributionsKey","_keys","error","handleContributionsError","key","contributions","errorMessage","properties","message","ModularUIError","handleDataError","path","handleData","data","links","_links","processDataService","fetchContributionsService","universalFetch","url","cache","fetchDataService","params","getQuerystringForModularUI","onProgress","processAsyncLayoutHints","getSetting","processApplicationLinks","processTabLinks","processPanelLinks","_promise","resolve","contributionLinks","dataLinks","contributionTabLink","tab","_context","dataTabLinks","_find","dataLink","name","processLinks","components","then","newLinks","replaceApplicationLinks","tabName","_context2","tabLink","component","panel","dataLinksPerName","linksPerName","hideWhenEmptyLinks","_filter","contributionLink","layouthint","includes","HIDE_WHEN_EMPTY","isHiddenListChecks","push","isHiddenList","all","hiddenLinks","_includes","newDataLinks","dataLinkKey","HIDE_WHEN_EMPTY_IGNORE_TASKS","_embedded","actions","noListItems","noActions","isHidden","catch","progressEvent","_progressEvent","getDynamicValidationData","model","prevData","JSON","parse","FormModel","newData","validationData","deepmerge","loadDynamicValidations","currentFormObject","hasDynamicValidations","validationHref","setParameter","updateValidations","fetch","Error","fetchChildModels","fetchFromCache","childModelLinks","getInitialChildModelLinks","childModelRequests","childModelLink","request","isCacheable","allSettled","childModels","resolvedChildModels","forEach","childModel","status","reason","console","value","addChildModels","fetchContent","withChildSections","ContentModel","childSectionLinks","fetchContentChildSections","contentModel","_context3","newContentModel","clone","childSectionLink","contentHrefWithEntryDate","selfhref","addParameter","TIMEVERSION_FILTER_NAME","entryDate","sectionModels","childSections","post","POST","postForm","form","formdata","update","fetchSync","headers","dataString","dataFetcher","contributionsString","_default","exports"],"sources":["../../src/modularui/ModularUIRequest.js"],"sourcesContent":["// @flow\nimport deepmerge from \"deepmerge\";\n\nimport { HTTP_METHODS, TIMEVERSION_FILTER_NAME } from \"../constants/Constants\";\n\nimport { HIDE_WHEN_EMPTY } from \"../constants/LayoutHints\";\n\nimport { getBasePath, getSetting } from \"../constants/Settings\";\n\nimport Href from \"../models/href/Href\";\n\nimport universalFetch from \"../utils/fetch/universalFetch\";\nimport resolveModel from \"../models/resolveModel\";\nimport FormModel from \"../models/form/FormModel\";\nimport ContentModel from \"../models/content/ContentModel\";\n\nimport ModularUIResponse from \"./ModularUIResponse\";\n\nimport ModularUIError from \"./ModularUIError\";\nimport { IllegalArgumentException, IllegalStateException } from \"../exceptions\";\n\nimport { isPlainObject } from \"../utils/helpers/objects\";\n\nimport type { TargetModel } from \"./types\";\nimport type {\n RequestBaseOptions,\n RequestModularUIOptions,\n} from \"../utils/fetch/types\";\nimport type { ModularUIModel } from \"../models/types\";\n\n/**\n * Helper for fetching data and contributions from the Be Informed modular ui\n * and merge it into a target or resolvable model.\n */\nclass ModularUIRequest {\n _response: ModularUIResponse;\n\n _href: Href;\n _options: RequestModularUIOptions;\n _targetModel: ?TargetModel;\n _forceTargetModel: boolean = false;\n _contributionsHref: string;\n _locale: string;\n _method: $Keys<typeof HTTP_METHODS> = HTTP_METHODS.GET;\n\n _progressEvent: ProgressEventHandler;\n\n _basePath: string = \"/BeInformed\";\n\n /**\n */\n constructor(\n href: Href | string,\n options: $Shape<RequestModularUIOptions> = {},\n ) {\n if (!href) {\n throw new IllegalArgumentException(\n \"You must pass a href to the resource that is requested\",\n );\n }\n\n this._basePath = getBasePath();\n\n this.options = options;\n\n this._response = new ModularUIResponse();\n\n this.href = typeof href === \"string\" ? new Href(href) : href;\n this.locale = options.locale ?? \"en\";\n\n // copy request parameters to response, to be able to use them in the models\n // self links are missing the request parameters\n this._response.parameters = this.href.parameters;\n\n if (options.targetModel) {\n this.targetModel = options.targetModel;\n }\n\n if (options.method) {\n this.method = options.method;\n } else {\n this.method = this.href.method;\n }\n }\n\n /**\n */\n get contributionsHref(): string {\n return this._contributionsHref;\n }\n\n /**\n */\n set contributionsHref(contributionsHref: string) {\n this._contributionsHref = contributionsHref;\n }\n\n /**\n */\n set locale(locale: string) {\n this._locale = locale;\n this._response.locale = locale;\n }\n\n /**\n */\n get locale(): string {\n return this._locale;\n }\n\n /**\n */\n get response(): ModularUIResponse {\n return this._response;\n }\n\n /**\n */\n set href(href: Href) {\n this._href = href;\n }\n\n /**\n */\n get href(): Href {\n return this._href;\n }\n\n /**\n */\n set method(method: $Keys<typeof HTTP_METHODS>) {\n this._method = method;\n }\n\n /**\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this._method;\n }\n\n /**\n */\n get options(): RequestModularUIOptions {\n return {\n ...this._options,\n locale: this.locale,\n method: this.method,\n };\n }\n\n /**\n */\n get requestOptions(): RequestBaseOptions {\n /* eslint-disable no-unused-vars */\n const {\n targetModel,\n forceTargetModel,\n updateModel,\n childmodels,\n isValidationRequest,\n removeOnUnmount,\n ...requestOptions\n } = this.options;\n /* eslint-enable no-unused-vars */\n return requestOptions;\n }\n\n /**\n */\n set options(options: RequestModularUIOptions) {\n this._options = options;\n }\n\n /**\n */\n get withChildModels(): boolean {\n return (\n !(\"childmodels\" in this.options) || this.options.childmodels === true\n );\n }\n\n /**\n */\n set targetModel(targetModel: TargetModel) {\n this._targetModel = targetModel;\n }\n\n /**\n */\n get targetModel(): ?TargetModel {\n return this._targetModel;\n }\n\n /**\n */\n set forceTargetModel(forceTargetModel: boolean) {\n this._forceTargetModel = forceTargetModel ?? false;\n }\n\n /**\n */\n get forceTargetModel(): boolean {\n return this._forceTargetModel;\n }\n\n /**\n */\n resolveModel(): Class<ModularUIModel> {\n let availableModels;\n if (this.targetModel) {\n availableModels = Array.isArray(this.targetModel)\n ? [...this.targetModel]\n : [this.targetModel];\n\n if (this.forceTargetModel) {\n return availableModels[0];\n }\n }\n\n const Model: Class<ModularUIModel> | null = resolveModel(\n this.response,\n availableModels,\n );\n\n if (Model && Model.isApplicableModel) {\n return Model;\n }\n\n if (availableModels) {\n throw new IllegalStateException(\n `data for ${this.href.toString()} is not applicable for model(s): ${availableModels\n .map((m) => m.modelName)\n .join(\", \")}, received response: ${JSON.stringify(this.response)}`,\n );\n }\n\n throw new IllegalStateException(\n `no javascript model is applicable for received request of ${this.href.toString()}, with response: ${JSON.stringify(\n this.response,\n )}`,\n );\n }\n\n /**\n */\n createModel(): ModularUIModel {\n const Model = this.resolveModel();\n return new Model(this.response);\n }\n\n /**\n */\n processContributionsService(contributionsData: Object): void {\n if (!isPlainObject(contributionsData)) {\n throw new IllegalArgumentException(\n \"Missing contributions data or contributions is not JSON\",\n );\n }\n\n const [contributionsKey] = Object.keys(contributionsData);\n\n if (contributionsData.error && contributionsKey === \"error\") {\n this.handleContributionsError(contributionsData.error);\n }\n\n // The key of the data service is different from the contributions service for forms\n if (!(this.response.key in contributionsData)) {\n this.response.key = contributionsKey;\n }\n\n this.response.contributions = contributionsData[this.response.key];\n }\n\n /**\n */\n handleContributionsError(error: Object): void {\n const errorMessage = error.properties?.message ?? \"Error in contribution\";\n throw new ModularUIError(errorMessage, error, this.contributionsHref);\n }\n\n /**\n */\n handleDataError(error: Object): void {\n if (error.properties) {\n const errorMessage = error.properties?.message ?? \"Error in data\";\n throw new ModularUIError(errorMessage, error, this.href.path.toString());\n }\n\n throw new IllegalArgumentException(error);\n }\n\n /**\n */\n handleData(key: string, data: Object): void {\n this.response.key = key;\n this.response.data = data;\n\n const links = data._links;\n\n if (links && links.contributions) {\n this.contributionsHref = links.contributions.href;\n } else if (Array.isArray(links) && links[0].contributions) {\n this.contributionsHref = links[0].contributions.href;\n } else {\n throw new IllegalArgumentException(\n `Contributions link not found for data with key ${key}`,\n );\n }\n }\n\n /**\n */\n processDataService(data: Object): void {\n if (!isPlainObject(data)) {\n throw new IllegalArgumentException(\"Missing data or data is not JSON\");\n }\n\n if (data.error) {\n this.handleDataError(data.error);\n } else {\n const [key] = Object.keys(data);\n this.handleData(key, data[key]);\n }\n }\n\n /**\n */\n fetchContributionsService(): Promise<any> {\n if (!this.contributionsHref) {\n throw new IllegalStateException(\"Missing a contributions href\");\n }\n\n return universalFetch({\n url: `${this._basePath}${this.contributionsHref}`,\n cache: true,\n locale: this.options.locale,\n });\n }\n\n /**\n */\n fetchDataService(): Promise<any> {\n return universalFetch({\n ...this.requestOptions,\n url: `${this._basePath}${this.href.path}`,\n params: this.href.getQuerystringForModularUI(),\n locale: this.options.locale,\n onProgress: this.onProgress,\n });\n }\n\n /**\n * Check if links contain a 'hide-when-empty' layout hint and remove the link from\n * the component when it exists and no results are available\n */\n async processAsyncLayoutHints(): Promise<void> {\n if (getSetting(\"ALLOW_HIDE_WHEN_EMPTY_ON_TABS\")) {\n await this.processApplicationLinks();\n await this.processTabLinks();\n }\n await this.processPanelLinks();\n\n return Promise.resolve();\n }\n\n /**\n * hide application links<br>\n * _links on application data contains an extra level of tab links\n */\n processApplicationLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n const dataLinks = this.response.data._links;\n if (!contributionLinks || !dataLinks) {\n return Promise.resolve();\n }\n\n if (\"tab\" in contributionLinks && \"tab\" in dataLinks) {\n for (const contributionTabLink of contributionLinks.tab) {\n if (\"components\" in contributionTabLink) {\n const dataTabLinks = dataLinks.tab.find(\n (dataLink) => dataLink.name === contributionTabLink.name,\n );\n\n if (dataTabLinks && \"components\" in dataTabLinks) {\n return this.processLinks(\n dataTabLinks.components,\n contributionTabLink.components,\n ).then((newLinks) =>\n this.replaceApplicationLinks(contributionTabLink.name, newLinks),\n );\n }\n }\n }\n }\n\n return Promise.resolve();\n }\n\n /**\n * Replace hidden link in application link tree\n */\n replaceApplicationLinks(tabName: string, newLinks: Array<Object>): void {\n this.response.data._links.tab = this.response.data._links.tab.map(\n (tabLink) => {\n const key = tabLink.name;\n if (tabName === key) {\n tabLink.components = newLinks;\n }\n return tabLink;\n },\n );\n }\n\n /**\n */\n processTabLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n\n if (!contributionLinks) {\n return Promise.resolve();\n }\n\n if (\"component\" in contributionLinks) {\n return this.processLinks(\n this.response.data._links.component,\n contributionLinks.component,\n ).then((newLinks) => {\n this.response.data._links.component = newLinks;\n });\n }\n\n return Promise.resolve();\n }\n\n /**\n */\n processPanelLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n\n if (!contributionLinks) {\n return Promise.resolve();\n }\n\n if (\"panel\" in contributionLinks) {\n return this.processLinks(\n this.response.data._links,\n contributionLinks.panel,\n ).then((newLinks) => {\n this.response.data._links = newLinks;\n });\n }\n\n return Promise.resolve();\n }\n\n /**\n * Retrieve an object of key: link\n */\n dataLinksPerName(dataLinks: any): { [linkName: string]: any } {\n if (Array.isArray(dataLinks)) {\n const links = {};\n for (const dataLink of dataLinks) {\n links[dataLink.name] = dataLink;\n }\n return links;\n }\n return dataLinks;\n }\n\n /**\n * Check if links are empty and hide them when hide-when-empty hint exists\n */\n processLinks(\n dataLinks: any,\n contributionLinks: any,\n ): Promise<Object | Array<Object>> {\n const linksPerName = this.dataLinksPerName(dataLinks);\n const hideWhenEmptyLinks = contributionLinks.filter((contributionLink) =>\n contributionLink.layouthint?.includes(HIDE_WHEN_EMPTY),\n );\n\n const isHiddenListChecks = [];\n\n for (const contributionLink of hideWhenEmptyLinks) {\n const dataLink = linksPerName[contributionLink.name];\n if (dataLink?.href) {\n isHiddenListChecks.push(\n this.isHiddenList(contributionLink.name, dataLink.href),\n );\n }\n }\n\n return Promise.all(isHiddenListChecks).then(\n (hiddenLinks: Array<string>) => {\n if (Array.isArray(dataLinks)) {\n return dataLinks.filter(\n (dataLink) => !hiddenLinks.includes(dataLink.name),\n );\n }\n\n const newDataLinks: { [string]: any } = {};\n for (const dataLinkKey in dataLinks) {\n if (!hiddenLinks.includes(dataLinkKey)) {\n newDataLinks[dataLinkKey] = dataLinks[dataLinkKey];\n }\n }\n return newDataLinks;\n },\n );\n }\n\n /**\n */\n isHiddenList(name: string, href: string): Promise<string> {\n const HIDE_WHEN_EMPTY_IGNORE_TASKS = getSetting(\n \"HIDE_WHEN_EMPTY_IGNORE_TASKS\",\n false,\n );\n\n return universalFetch({\n ...this.requestOptions,\n url: `${this._basePath}${href}`,\n })\n .then((response: Object) => {\n if (isPlainObject(response)) {\n const [key] = Object.keys(response);\n const { _embedded, actions } = response[key];\n\n const noListItems = _embedded === null;\n const noActions = actions == null || HIDE_WHEN_EMPTY_IGNORE_TASKS;\n\n const isHidden = noListItems && noActions;\n if (isHidden) {\n return name;\n }\n }\n return \"\";\n })\n .catch(() => {\n return \"\";\n });\n }\n\n /**\n */\n set onProgress(progressEvent: ProgressEventHandler) {\n this._progressEvent = progressEvent;\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n return this._progressEvent || null;\n }\n\n /**\n * Combine previous send request data with new validation data to create a complete request object\n * The received model is new FormModel containing ONLY the current question, not the previously entered questions\n * to create a complete request we append the originally send form objects\n */\n getDynamicValidationData(model: ModularUIModel): string {\n const prevData =\n typeof this.options.data === \"string\"\n ? JSON.parse(this.options.data)\n : this.options.data;\n\n if (model instanceof FormModel) {\n const newData = JSON.parse(model.validationData);\n // $FlowFixMe incompatible-call\n return JSON.stringify(deepmerge(prevData || {}, newData));\n }\n\n return JSON.stringify(prevData) ?? \"{}\";\n }\n\n /**\n * First load of dynamic values when a form is loaded\n */\n loadDynamicValidations(model: ModularUIModel): Promise<ModularUIModel> {\n if (\n !this.options.isValidationRequest &&\n getSetting(\"USE_INSTANT_SERVER_VALIDATION\") &&\n model instanceof FormModel &&\n model.currentFormObject &&\n model.currentFormObject.hasDynamicValidations\n ) {\n const validationHref = this.href.setParameter(\"commit\", \"false\");\n return universalFetch({\n ...this.requestOptions,\n url: `${this._basePath}${this.href.path}`,\n params: validationHref.getQuerystringForModularUI(),\n data: this.getDynamicValidationData(model),\n }).then((data) => {\n if (data == null || typeof data !== \"object\") {\n return model;\n }\n\n const [key] = Object.keys(data);\n return model.updateValidations(data[key]);\n });\n }\n\n return Promise.resolve(model);\n }\n\n /**\n */\n fetch(): Promise<ModularUIModel> {\n return this.fetchDataService()\n .then((data) => {\n if (data == null) {\n throw new Error(`No data received for ${this.href.toString()}`);\n }\n\n this.processDataService(data);\n return this.fetchContributionsService();\n })\n .then((contributionsData) => {\n if (contributionsData == null) {\n throw new Error(\n `No contributions data received for ${this.contributionsHref}`,\n );\n }\n\n this.processContributionsService(contributionsData);\n return this.processAsyncLayoutHints();\n })\n .then(() => Promise.resolve(this.createModel()))\n .then((model) => this.loadDynamicValidations(model))\n .then((model) => {\n if (this.withChildModels) {\n return this.fetchChildModels(model);\n }\n\n return Promise.resolve(model);\n });\n }\n\n /**\n */\n fetchFromCache(): Promise<ModularUIModel> {\n this.options = {\n ...this.options,\n cache: true,\n };\n\n return this.fetch();\n }\n\n /**\n */\n fetchChildModels(model: ModularUIModel): Promise<ModularUIModel> {\n const childModelLinks = model.getInitialChildModelLinks();\n\n const childModelRequests = childModelLinks.map((childModelLink) => {\n const request = new ModularUIRequest(childModelLink.href, {\n locale: this.locale,\n });\n\n if (childModelLink.targetModel) {\n request.targetModel = childModelLink.targetModel;\n }\n\n if (childModelLink.isCacheable) {\n return request.fetchFromCache();\n }\n\n return request.fetch();\n });\n\n return Promise.allSettled(childModelRequests).then((childModels) => {\n const resolvedChildModels = [];\n\n childModels.forEach((childModel) => {\n if (childModel.status === \"rejected\") {\n const { reason } = childModel;\n if (reason.name !== \"Error.ChangePasswordRequired\") {\n console.error(\n \"Unexpected error when retrieving child model:\",\n reason,\n );\n }\n } else {\n resolvedChildModels.push(childModel.value);\n }\n });\n\n model.addChildModels(resolvedChildModels);\n\n return model;\n });\n }\n\n /**\n */\n fetchContent(withChildSections: boolean): Promise<mixed> {\n return this.fetchFromCache().then((model) => {\n if (\n withChildSections &&\n model instanceof ContentModel &&\n model.childSectionLinks.length > 0\n ) {\n return this.fetchContentChildSections(model);\n }\n\n return Promise.resolve(model);\n });\n }\n\n /**\n * Recursively return child sections defined on the content model\n */\n fetchContentChildSections(contentModel: ContentModel): Promise<mixed> {\n const newContentModel = contentModel.clone();\n\n return Promise.all(\n contentModel.childSectionLinks.map((childSectionLink) => {\n const contentHrefWithEntryDate = childSectionLink.selfhref.addParameter(\n TIMEVERSION_FILTER_NAME,\n contentModel.entryDate,\n );\n\n const request = new ModularUIRequest(contentHrefWithEntryDate, {\n locale: this.locale,\n });\n\n return request.fetchContent(true);\n }),\n ).then((sectionModels) => {\n newContentModel.childSections = sectionModels;\n\n return newContentModel;\n });\n }\n\n /**\n * Make a post request with optionally data to send\n * @param data\n */\n post(data?: string | { [key: string]: string }): Promise<ModularUIModel> {\n this.method = HTTP_METHODS.POST;\n this.options = {\n ...this.options,\n data,\n };\n\n return this.fetch();\n }\n\n /**\n * Make a POST request using the form, an updated form is returned (merge of old and new form)\n * @param form\n * @returns {Promise<FormModel>}\n */\n postForm(form: FormModel): Promise<FormModel> {\n this.method = HTTP_METHODS.POST;\n this.options = {\n ...this.options,\n data: form.formdata,\n };\n\n return this.fetch().then((response) => {\n return form.update(response);\n });\n }\n\n /**\n * Simplified synchronous version of fetch (returns the model, not a Promise)\n * This can be used on the server to retrieve a model. It only loads the request url and it's child models\n */\n fetchSync(): ModularUIModel {\n const options = { headers: { \"Accept-Language\": this.locale } };\n\n const dataString = dataFetcher.fetch(this.href.toString(), options);\n if (dataString == null) {\n throw new Error(`No data received for ${this.href.toString()}`);\n }\n\n this.processDataService(JSON.parse(dataString));\n\n const contributionsString = dataFetcher.fetch(\n this.contributionsHref.toString(),\n options,\n );\n if (contributionsString == null) {\n throw new Error(\n `No constributions received for ${this.contributionsHref.toString()}`,\n );\n }\n this.processContributionsService(JSON.parse(contributionsString));\n\n const model = this.createModel();\n\n const childModelLinks = model.getInitialChildModelLinks();\n\n const childModels = childModelLinks.map((childModelLink) => {\n return new ModularUIRequest(childModelLink.href, {\n locale: this.locale,\n }).fetchSync();\n });\n model.addChildModels(childModels);\n\n return model;\n }\n}\n\nexport default ModularUIRequest;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ModularUIRequest.js","names":["_deepmerge","_interopRequireDefault","require","_Constants","_LayoutHints","_Settings","_Href","_universalFetch","_resolveModel","_FormModel","_ContentModel","_ErrorResponse","_ModularUIResponse","_ModularUIError","_exceptions","_objects","ModularUIRequest","constructor","href","options","arguments","length","undefined","_defineProperty2","default","HTTP_METHODS","GET","IllegalArgumentException","_basePath","getBasePath","_response","ModularUIResponse","Href","locale","parameters","targetModel","method","contributionsHref","_contributionsHref","_locale","response","_href","_method","_options","requestOptions","forceTargetModel","updateModel","childmodels","isValidationRequest","removeOnUnmount","withChildModels","_targetModel","_forceTargetModel","resolveModel","availableModels","Array","isArray","Model","isApplicableModel","IllegalStateException","toString","_map","call","m","modelName","join","_stringify","createModel","processContributionsService","contributionsData","isPlainObject","contributionsKey","_keys","error","handleContributionsError","key","contributions","errorMessage","properties","message","ModularUIError","handleDataError","path","handleData","data","links","_links","processDataService","fetchContributionsService","universalFetch","url","cache","fetchDataService","params","getQuerystringForModularUI","onProgress","processAsyncLayoutHints","getSetting","processApplicationLinks","processTabLinks","processPanelLinks","_promise","resolve","contributionLinks","dataLinks","contributionTabLink","tab","_context","dataTabLinks","_find","dataLink","name","processLinks","components","then","newLinks","replaceApplicationLinks","tabName","_context2","tabLink","component","panel","dataLinksPerName","linksPerName","hideWhenEmptyLinks","_filter","contributionLink","layouthint","includes","HIDE_WHEN_EMPTY","isHiddenListChecks","push","isHiddenList","all","hiddenLinks","_includes","newDataLinks","dataLinkKey","HIDE_WHEN_EMPTY_IGNORE_TASKS","_embedded","actions","noListItems","noActions","isHidden","catch","progressEvent","_progressEvent","getDynamicValidationData","model","prevData","JSON","parse","FormModel","newData","validationData","deepmerge","loadDynamicValidations","currentFormObject","hasDynamicValidations","validationHref","setParameter","updateValidations","fetch","Error","fetchChildModels","fetchFromCache","childModelLinks","getInitialChildModelLinks","childModelRequests","childModelLink","request","isCacheable","allSettled","childModels","resolvedChildModels","errorChildModels","forEach","childModel","status","reason","console","debug","ErrorResponse","value","addChildModels","fetchContent","withChildSections","ContentModel","childSectionLinks","fetchContentChildSections","contentModel","_context3","newContentModel","clone","childSectionLink","contentHrefWithEntryDate","selfhref","addParameter","TIMEVERSION_FILTER_NAME","entryDate","sectionModels","childSections","post","POST","postForm","form","formdata","update","fetchSync","headers","dataString","dataFetcher","contributionsString","_default","exports"],"sources":["../../src/modularui/ModularUIRequest.js"],"sourcesContent":["// @flow\nimport deepmerge from \"deepmerge\";\n\nimport { HTTP_METHODS, TIMEVERSION_FILTER_NAME } from \"../constants/Constants\";\n\nimport { HIDE_WHEN_EMPTY } from \"../constants/LayoutHints\";\n\nimport { getBasePath, getSetting } from \"../constants/Settings\";\n\nimport Href from \"../models/href/Href\";\n\nimport universalFetch from \"../utils/fetch/universalFetch\";\nimport resolveModel from \"../models/resolveModel\";\nimport FormModel from \"../models/form/FormModel\";\nimport ContentModel from \"../models/content/ContentModel\";\nimport ErrorResponse from \"../models/error/ErrorResponse\";\n\nimport ModularUIResponse from \"./ModularUIResponse\";\n\nimport ModularUIError from \"./ModularUIError\";\nimport { IllegalArgumentException, IllegalStateException } from \"../exceptions\";\n\nimport { isPlainObject } from \"../utils/helpers/objects\";\n\nimport type { TargetModel } from \"./types\";\nimport type {\n RequestBaseOptions,\n RequestModularUIOptions,\n} from \"../utils/fetch/types\";\nimport type { ModularUIModel } from \"../models/types\";\n\n/**\n * Helper for fetching data and contributions from the Be Informed modular ui\n * and merge it into a target or resolvable model.\n */\nclass ModularUIRequest {\n _response: ModularUIResponse;\n\n _href: Href;\n _options: RequestModularUIOptions;\n _targetModel: ?TargetModel;\n _forceTargetModel: boolean = false;\n _contributionsHref: string;\n _locale: string;\n _method: $Keys<typeof HTTP_METHODS> = HTTP_METHODS.GET;\n\n _progressEvent: ProgressEventHandler;\n\n _basePath: string = \"/BeInformed\";\n\n /**\n */\n constructor(\n href: Href | string,\n options: $Shape<RequestModularUIOptions> = {},\n ) {\n if (!href) {\n throw new IllegalArgumentException(\n \"You must pass a href to the resource that is requested\",\n );\n }\n\n this._basePath = getBasePath();\n\n this.options = options;\n\n this._response = new ModularUIResponse();\n\n this.href = typeof href === \"string\" ? new Href(href) : href;\n this.locale = options.locale ?? \"en\";\n\n // copy request parameters to response, to be able to use them in the models\n // self links are missing the request parameters\n this._response.parameters = this.href.parameters;\n\n if (options.targetModel) {\n this.targetModel = options.targetModel;\n }\n\n if (options.method) {\n this.method = options.method;\n } else {\n this.method = this.href.method;\n }\n }\n\n /**\n */\n get contributionsHref(): string {\n return this._contributionsHref;\n }\n\n /**\n */\n set contributionsHref(contributionsHref: string) {\n this._contributionsHref = contributionsHref;\n }\n\n /**\n */\n set locale(locale: string) {\n this._locale = locale;\n this._response.locale = locale;\n }\n\n /**\n */\n get locale(): string {\n return this._locale;\n }\n\n /**\n */\n get response(): ModularUIResponse {\n return this._response;\n }\n\n /**\n */\n set href(href: Href) {\n this._href = href;\n }\n\n /**\n */\n get href(): Href {\n return this._href;\n }\n\n /**\n */\n set method(method: $Keys<typeof HTTP_METHODS>) {\n this._method = method;\n }\n\n /**\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this._method;\n }\n\n /**\n */\n get options(): RequestModularUIOptions {\n return {\n ...this._options,\n locale: this.locale,\n method: this.method,\n };\n }\n\n /**\n */\n get requestOptions(): RequestBaseOptions {\n /* eslint-disable no-unused-vars */\n const {\n targetModel,\n forceTargetModel,\n updateModel,\n childmodels,\n isValidationRequest,\n removeOnUnmount,\n ...requestOptions\n } = this.options;\n /* eslint-enable no-unused-vars */\n return requestOptions;\n }\n\n /**\n */\n set options(options: RequestModularUIOptions) {\n this._options = options;\n }\n\n /**\n */\n get withChildModels(): boolean {\n return (\n !(\"childmodels\" in this.options) || this.options.childmodels === true\n );\n }\n\n /**\n */\n set targetModel(targetModel: TargetModel) {\n this._targetModel = targetModel;\n }\n\n /**\n */\n get targetModel(): ?TargetModel {\n return this._targetModel;\n }\n\n /**\n */\n set forceTargetModel(forceTargetModel: boolean) {\n this._forceTargetModel = forceTargetModel ?? false;\n }\n\n /**\n */\n get forceTargetModel(): boolean {\n return this._forceTargetModel;\n }\n\n /**\n */\n resolveModel(): Class<ModularUIModel> {\n let availableModels;\n if (this.targetModel) {\n availableModels = Array.isArray(this.targetModel)\n ? [...this.targetModel]\n : [this.targetModel];\n\n if (this.forceTargetModel) {\n return availableModels[0];\n }\n }\n\n const Model: Class<ModularUIModel> | null = resolveModel(\n this.response,\n availableModels,\n );\n\n if (Model && Model.isApplicableModel) {\n return Model;\n }\n\n if (availableModels) {\n throw new IllegalStateException(\n `data for ${this.href.toString()} is not applicable for model(s): ${availableModels\n .map((m) => m.modelName)\n .join(\", \")}, received response: ${JSON.stringify(this.response)}`,\n );\n }\n\n throw new IllegalStateException(\n `no javascript model is applicable for received request of ${this.href.toString()}, with response: ${JSON.stringify(\n this.response,\n )}`,\n );\n }\n\n /**\n */\n createModel(): ModularUIModel {\n const Model = this.resolveModel();\n return new Model(this.response);\n }\n\n /**\n */\n processContributionsService(contributionsData: Object): void {\n if (!isPlainObject(contributionsData)) {\n throw new IllegalArgumentException(\n \"Missing contributions data or contributions is not JSON\",\n );\n }\n\n const [contributionsKey] = Object.keys(contributionsData);\n\n if (contributionsData.error && contributionsKey === \"error\") {\n this.handleContributionsError(contributionsData.error);\n }\n\n // The key of the data service is different from the contributions service for forms\n if (!(this.response.key in contributionsData)) {\n this.response.key = contributionsKey;\n }\n\n this.response.contributions = contributionsData[this.response.key];\n }\n\n /**\n */\n handleContributionsError(error: Object): void {\n const errorMessage = error.properties?.message ?? \"Error in contribution\";\n throw new ModularUIError(errorMessage, error, this.contributionsHref);\n }\n\n /**\n */\n handleDataError(error: Object): void {\n if (error.properties) {\n const errorMessage = error.properties?.message ?? \"Error in data\";\n throw new ModularUIError(errorMessage, error, this.href.path.toString());\n }\n\n throw new IllegalArgumentException(error);\n }\n\n /**\n */\n handleData(key: string, data: Object): void {\n this.response.key = key;\n this.response.data = data;\n\n const links = data._links;\n\n if (links && links.contributions) {\n this.contributionsHref = links.contributions.href;\n } else if (Array.isArray(links) && links[0].contributions) {\n this.contributionsHref = links[0].contributions.href;\n } else {\n throw new IllegalArgumentException(\n `Contributions link not found for data with key ${key}`,\n );\n }\n }\n\n /**\n */\n processDataService(data: Object): void {\n if (!isPlainObject(data)) {\n throw new IllegalArgumentException(\"Missing data or data is not JSON\");\n }\n\n if (data.error) {\n this.handleDataError(data.error);\n } else {\n const [key] = Object.keys(data);\n this.handleData(key, data[key]);\n }\n }\n\n /**\n */\n fetchContributionsService(): Promise<any> {\n if (!this.contributionsHref) {\n throw new IllegalStateException(\"Missing a contributions href\");\n }\n\n return universalFetch({\n url: `${this._basePath}${this.contributionsHref}`,\n cache: true,\n locale: this.options.locale,\n });\n }\n\n /**\n */\n fetchDataService(): Promise<any> {\n return universalFetch({\n ...this.requestOptions,\n url: `${this._basePath}${this.href.path}`,\n params: this.href.getQuerystringForModularUI(),\n locale: this.options.locale,\n onProgress: this.onProgress,\n });\n }\n\n /**\n * Check if links contain a 'hide-when-empty' layout hint and remove the link from\n * the component when it exists and no results are available\n */\n async processAsyncLayoutHints(): Promise<void> {\n if (getSetting(\"ALLOW_HIDE_WHEN_EMPTY_ON_TABS\")) {\n await this.processApplicationLinks();\n await this.processTabLinks();\n }\n await this.processPanelLinks();\n\n return Promise.resolve();\n }\n\n /**\n * hide application links<br>\n * _links on application data contains an extra level of tab links\n */\n processApplicationLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n const dataLinks = this.response.data._links;\n if (!contributionLinks || !dataLinks) {\n return Promise.resolve();\n }\n\n if (\"tab\" in contributionLinks && \"tab\" in dataLinks) {\n for (const contributionTabLink of contributionLinks.tab) {\n if (\"components\" in contributionTabLink) {\n const dataTabLinks = dataLinks.tab.find(\n (dataLink) => dataLink.name === contributionTabLink.name,\n );\n\n if (dataTabLinks && \"components\" in dataTabLinks) {\n return this.processLinks(\n dataTabLinks.components,\n contributionTabLink.components,\n ).then((newLinks) =>\n this.replaceApplicationLinks(contributionTabLink.name, newLinks),\n );\n }\n }\n }\n }\n\n return Promise.resolve();\n }\n\n /**\n * Replace hidden link in application link tree\n */\n replaceApplicationLinks(tabName: string, newLinks: Array<Object>): void {\n this.response.data._links.tab = this.response.data._links.tab.map(\n (tabLink) => {\n const key = tabLink.name;\n if (tabName === key) {\n tabLink.components = newLinks;\n }\n return tabLink;\n },\n );\n }\n\n /**\n */\n processTabLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n\n if (!contributionLinks) {\n return Promise.resolve();\n }\n\n if (\"component\" in contributionLinks) {\n return this.processLinks(\n this.response.data._links.component,\n contributionLinks.component,\n ).then((newLinks) => {\n this.response.data._links.component = newLinks;\n });\n }\n\n return Promise.resolve();\n }\n\n /**\n */\n processPanelLinks(): Promise<void> {\n const contributionLinks = this.response.contributions._links;\n\n if (!contributionLinks) {\n return Promise.resolve();\n }\n\n if (\"panel\" in contributionLinks) {\n return this.processLinks(\n this.response.data._links,\n contributionLinks.panel,\n ).then((newLinks) => {\n this.response.data._links = newLinks;\n });\n }\n\n return Promise.resolve();\n }\n\n /**\n * Retrieve an object of key: link\n */\n dataLinksPerName(dataLinks: any): { [linkName: string]: any } {\n if (Array.isArray(dataLinks)) {\n const links = {};\n for (const dataLink of dataLinks) {\n links[dataLink.name] = dataLink;\n }\n return links;\n }\n return dataLinks;\n }\n\n /**\n * Check if links are empty and hide them when hide-when-empty hint exists\n */\n processLinks(\n dataLinks: any,\n contributionLinks: any,\n ): Promise<Object | Array<Object>> {\n const linksPerName = this.dataLinksPerName(dataLinks);\n const hideWhenEmptyLinks = contributionLinks.filter((contributionLink) =>\n contributionLink.layouthint?.includes(HIDE_WHEN_EMPTY),\n );\n\n const isHiddenListChecks = [];\n\n for (const contributionLink of hideWhenEmptyLinks) {\n const dataLink = linksPerName[contributionLink.name];\n if (dataLink?.href) {\n isHiddenListChecks.push(\n this.isHiddenList(contributionLink.name, dataLink.href),\n );\n }\n }\n\n return Promise.all(isHiddenListChecks).then(\n (hiddenLinks: Array<string>) => {\n if (Array.isArray(dataLinks)) {\n return dataLinks.filter(\n (dataLink) => !hiddenLinks.includes(dataLink.name),\n );\n }\n\n const newDataLinks: { [string]: any } = {};\n for (const dataLinkKey in dataLinks) {\n if (!hiddenLinks.includes(dataLinkKey)) {\n newDataLinks[dataLinkKey] = dataLinks[dataLinkKey];\n }\n }\n return newDataLinks;\n },\n );\n }\n\n /**\n */\n isHiddenList(name: string, href: string): Promise<string> {\n const HIDE_WHEN_EMPTY_IGNORE_TASKS = getSetting(\n \"HIDE_WHEN_EMPTY_IGNORE_TASKS\",\n false,\n );\n\n return universalFetch({\n ...this.requestOptions,\n url: `${this._basePath}${href}`,\n })\n .then((response: Object) => {\n if (isPlainObject(response)) {\n const [key] = Object.keys(response);\n const { _embedded, actions } = response[key];\n\n const noListItems = _embedded === null;\n const noActions = actions == null || HIDE_WHEN_EMPTY_IGNORE_TASKS;\n\n const isHidden = noListItems && noActions;\n if (isHidden) {\n return name;\n }\n }\n return \"\";\n })\n .catch(() => {\n return \"\";\n });\n }\n\n /**\n */\n set onProgress(progressEvent: ProgressEventHandler) {\n this._progressEvent = progressEvent;\n }\n\n /**\n */\n get onProgress(): ProgressEventHandler {\n return this._progressEvent || null;\n }\n\n /**\n * Combine previous send request data with new validation data to create a complete request object\n * The received model is new FormModel containing ONLY the current question, not the previously entered questions\n * to create a complete request we append the originally send form objects\n */\n getDynamicValidationData(model: ModularUIModel): string {\n const prevData =\n typeof this.options.data === \"string\"\n ? JSON.parse(this.options.data)\n : this.options.data;\n\n if (model instanceof FormModel) {\n const newData = JSON.parse(model.validationData);\n // $FlowFixMe incompatible-call\n return JSON.stringify(deepmerge(prevData || {}, newData));\n }\n\n return JSON.stringify(prevData) ?? \"{}\";\n }\n\n /**\n * First load of dynamic values when a form is loaded\n */\n loadDynamicValidations(model: ModularUIModel): Promise<ModularUIModel> {\n if (\n !this.options.isValidationRequest &&\n getSetting(\"USE_INSTANT_SERVER_VALIDATION\") &&\n model instanceof FormModel &&\n model.currentFormObject &&\n model.currentFormObject.hasDynamicValidations\n ) {\n const validationHref = this.href.setParameter(\"commit\", \"false\");\n return universalFetch({\n ...this.requestOptions,\n url: `${this._basePath}${this.href.path}`,\n params: validationHref.getQuerystringForModularUI(),\n data: this.getDynamicValidationData(model),\n }).then((data) => {\n if (data == null || typeof data !== \"object\") {\n return model;\n }\n\n const [key] = Object.keys(data);\n return model.updateValidations(data[key]);\n });\n }\n\n return Promise.resolve(model);\n }\n\n /**\n */\n fetch(): Promise<ModularUIModel> {\n return this.fetchDataService()\n .then((data) => {\n if (data == null) {\n throw new Error(`No data received for ${this.href.toString()}`);\n }\n\n this.processDataService(data);\n return this.fetchContributionsService();\n })\n .then((contributionsData) => {\n if (contributionsData == null) {\n throw new Error(\n `No contributions data received for ${this.contributionsHref}`,\n );\n }\n\n this.processContributionsService(contributionsData);\n return this.processAsyncLayoutHints();\n })\n .then(() => Promise.resolve(this.createModel()))\n .then((model) => this.loadDynamicValidations(model))\n .then((model) => {\n if (this.withChildModels) {\n return this.fetchChildModels(model);\n }\n\n return Promise.resolve(model);\n });\n }\n\n /**\n */\n fetchFromCache(): Promise<ModularUIModel> {\n this.options = {\n ...this.options,\n cache: true,\n };\n\n return this.fetch();\n }\n\n /**\n */\n fetchChildModels(model: ModularUIModel): Promise<ModularUIModel> {\n const childModelLinks = model.getInitialChildModelLinks();\n\n const childModelRequests = childModelLinks.map((childModelLink) => {\n const request = new ModularUIRequest(childModelLink.href, {\n locale: this.locale,\n });\n\n if (childModelLink.targetModel) {\n request.targetModel = childModelLink.targetModel;\n }\n\n if (childModelLink.isCacheable) {\n return request.fetchFromCache();\n }\n\n return request.fetch();\n });\n\n return Promise.allSettled(childModelRequests).then((childModels) => {\n const resolvedChildModels = [];\n const errorChildModels = [];\n\n childModels.forEach((childModel) => {\n if (childModel.status === \"rejected\") {\n const { reason } = childModel;\n if (reason.name !== \"Error.ChangePasswordRequired\") {\n // eslint-disable-next-line no-console\n console.debug(\n \"Unexpected error when retrieving child model:\",\n reason,\n );\n }\n errorChildModels.push(new ErrorResponse(reason));\n } else {\n resolvedChildModels.push(childModel.value);\n }\n });\n\n model.addChildModels(resolvedChildModels, errorChildModels);\n\n return model;\n });\n }\n\n /**\n */\n fetchContent(withChildSections: boolean): Promise<mixed> {\n return this.fetchFromCache().then((model) => {\n if (\n withChildSections &&\n model instanceof ContentModel &&\n model.childSectionLinks.length > 0\n ) {\n return this.fetchContentChildSections(model);\n }\n\n return Promise.resolve(model);\n });\n }\n\n /**\n * Recursively return child sections defined on the content model\n */\n fetchContentChildSections(contentModel: ContentModel): Promise<mixed> {\n const newContentModel = contentModel.clone();\n\n return Promise.all(\n contentModel.childSectionLinks.map((childSectionLink) => {\n const contentHrefWithEntryDate = childSectionLink.selfhref.addParameter(\n TIMEVERSION_FILTER_NAME,\n contentModel.entryDate,\n );\n\n const request = new ModularUIRequest(contentHrefWithEntryDate, {\n locale: this.locale,\n });\n\n return request.fetchContent(true);\n }),\n ).then((sectionModels) => {\n newContentModel.childSections = sectionModels;\n\n return newContentModel;\n });\n }\n\n /**\n * Make a post request with optionally data to send\n * @param data\n */\n post(data?: string | { [key: string]: string }): Promise<ModularUIModel> {\n this.method = HTTP_METHODS.POST;\n this.options = {\n ...this.options,\n data,\n };\n\n return this.fetch();\n }\n\n /**\n * Make a POST request using the form, an updated form is returned (merge of old and new form)\n * @param form\n * @returns {Promise<FormModel>}\n */\n postForm(form: FormModel): Promise<FormModel> {\n this.method = HTTP_METHODS.POST;\n this.options = {\n ...this.options,\n data: form.formdata,\n };\n\n return this.fetch().then((response) => {\n return form.update(response);\n });\n }\n\n /**\n * Simplified synchronous version of fetch (returns the model, not a Promise)\n * This can be used on the server to retrieve a model. It only loads the request url and it's child models\n */\n fetchSync(): ModularUIModel {\n const options = { headers: { \"Accept-Language\": this.locale } };\n\n const dataString = dataFetcher.fetch(this.href.toString(), options);\n if (dataString == null) {\n throw new Error(`No data received for ${this.href.toString()}`);\n }\n\n this.processDataService(JSON.parse(dataString));\n\n const contributionsString = dataFetcher.fetch(\n this.contributionsHref.toString(),\n options,\n );\n if (contributionsString == null) {\n throw new Error(\n `No constributions received for ${this.contributionsHref.toString()}`,\n );\n }\n this.processContributionsService(JSON.parse(contributionsString));\n\n const model = this.createModel();\n\n const childModelLinks = model.getInitialChildModelLinks();\n\n const childModels = childModelLinks.map((childModelLink) => {\n return new ModularUIRequest(childModelLink.href, {\n locale: this.locale,\n }).fetchSync();\n });\n model.addChildModels(childModels, []);\n\n return model;\n }\n}\n\nexport default ModularUIRequest;\n"],"mappings":"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","ignoreList":[]}
@@ -23,7 +23,7 @@ const recreateModel = data => {
23
23
  const model = new Model(modelData);
24
24
  model.rehydrate(data);
25
25
  const childModels = (0, _map.default)(_context = data.childModels).call(_context, childModel => recreateModel(childModel));
26
- model.addChildModels(childModels);
26
+ model.addChildModels(childModels, []);
27
27
  return model;
28
28
  }
29
29
  return data;
@@ -22,7 +22,7 @@ const recreateModel = (data: Object) => {
22
22
  recreateModel(childModel),
23
23
  );
24
24
 
25
- model.addChildModels(childModels);
25
+ model.addChildModels(childModels, []);
26
26
 
27
27
  return model;
28
28
  }