@beinformed/ui 1.39.0 → 1.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/esm/models/attributes/input-constraints/FileSizeConstraint.js +0 -1
  3. package/esm/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  4. package/esm/models/content/ContentModel.js +1 -0
  5. package/esm/models/content/ContentModel.js.map +1 -1
  6. package/esm/models/content/SubSectionModel.js +5 -1
  7. package/esm/models/content/SubSectionModel.js.map +1 -1
  8. package/esm/models/href/Href.js +13 -0
  9. package/esm/models/href/Href.js.map +1 -1
  10. package/esm/react-client/contextPath.js +0 -2
  11. package/esm/react-client/contextPath.js.map +1 -1
  12. package/esm/react-client/rehydrate.js +0 -2
  13. package/esm/react-client/rehydrate.js.map +1 -1
  14. package/esm/react-server/contextPath.js +0 -1
  15. package/esm/react-server/contextPath.js.map +1 -1
  16. package/lib/models/attributes/input-constraints/FileSizeConstraint.js +0 -1
  17. package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
  18. package/lib/models/content/ContentModel.js +1 -0
  19. package/lib/models/content/ContentModel.js.flow +1 -0
  20. package/lib/models/content/ContentModel.js.map +1 -1
  21. package/lib/models/content/SubSectionModel.js +5 -1
  22. package/lib/models/content/SubSectionModel.js.flow +3 -2
  23. package/lib/models/content/SubSectionModel.js.map +1 -1
  24. package/lib/models/content/__tests__/ContentModel.spec.js.flow +3 -0
  25. package/lib/models/href/Href.js +13 -0
  26. package/lib/models/href/Href.js.flow +13 -0
  27. package/lib/models/href/Href.js.map +1 -1
  28. package/lib/react-client/contextPath.js +0 -1
  29. package/lib/react-client/contextPath.js.map +1 -1
  30. package/lib/react-client/rehydrate.js +0 -2
  31. package/lib/react-client/rehydrate.js.map +1 -1
  32. package/package.json +17 -17
  33. package/src/models/content/ContentModel.js +1 -0
  34. package/src/models/content/SubSectionModel.js +3 -2
  35. package/src/models/content/__tests__/ContentModel.spec.js +3 -0
  36. package/src/models/href/Href.js +13 -0
  37. package/types/constants/LayoutHintConfig.d.ts +15 -0
  38. package/types/constants/LayoutHints.d.ts +4 -0
  39. package/types/models/actions/ActionModel.d.ts +3 -3
  40. package/types/models/application/ApplicationModel.d.ts +1 -1
  41. package/types/models/attributes/AttributeCollection.d.ts +1 -1
  42. package/types/models/attributes/AttributeModel.d.ts +14 -14
  43. package/types/models/attributes/AttributeSetModel.d.ts +9 -2
  44. package/types/models/attributes/BooleanAttributeModel.d.ts +1 -1
  45. package/types/models/attributes/ChoiceAttributeOptionCollection.d.ts +2 -2
  46. package/types/models/attributes/ChoiceAttributeOptionModel.d.ts +7 -7
  47. package/types/models/attributes/CompositeAttributeModel.d.ts +1 -1
  48. package/types/models/attributes/DatetimeAttributeModel.d.ts +1 -1
  49. package/types/models/attributes/PasswordAttributeModel.d.ts +3 -3
  50. package/types/models/attributes/StringAttributeModel.d.ts +1 -1
  51. package/types/models/attributes/UploadAttributeModel.d.ts +3 -3
  52. package/types/models/attributes/input-constraints/DateBoundaryConstraint.d.ts +1 -1
  53. package/types/models/attributes/input-constraints/DatetimeFormatConstraint.d.ts +1 -1
  54. package/types/models/attributes/input-constraints/RangeConstraint.d.ts +1 -1
  55. package/types/models/attributes/layouthint-rules/DependentAttribute.d.ts +4 -4
  56. package/types/models/base/BaseCollection.d.ts +1 -1
  57. package/types/models/base/BaseModel.d.ts +2 -2
  58. package/types/models/base/ResourceModel.d.ts +2 -2
  59. package/types/models/caseview/CaseViewModel.d.ts +1 -1
  60. package/types/models/concepts/BusinessScenarioModel.d.ts +1 -1
  61. package/types/models/concepts/ConceptDetailModel.d.ts +1 -1
  62. package/types/models/concepts/ConceptIndexModel.d.ts +1 -1
  63. package/types/models/concepts/ConceptLinkModel.d.ts +1 -1
  64. package/types/models/concepts/ConceptRelationModel.d.ts +1 -1
  65. package/types/models/content/ContentLinkModel.d.ts +3 -3
  66. package/types/models/content/ContentModel.d.ts +2 -2
  67. package/types/models/content/ContentTOCModel.d.ts +1 -1
  68. package/types/models/content/SectionModel.d.ts +1 -1
  69. package/types/models/detail/DetailModel.d.ts +3 -3
  70. package/types/models/error/ErrorResponse.d.ts +1 -1
  71. package/types/models/filters/BaseFilterModel.d.ts +2 -2
  72. package/types/models/filters/StringFilterModel.d.ts +2 -2
  73. package/types/models/form/FormModel.d.ts +14 -14
  74. package/types/models/form/FormObjectModel.d.ts +3 -3
  75. package/types/models/href/Href.d.ts +13 -6
  76. package/types/models/href/ListHref.d.ts +4 -4
  77. package/types/models/links/LinkCollection.d.ts +1 -1
  78. package/types/models/links/LinkModel.d.ts +4 -4
  79. package/types/models/list/ListDetailModel.d.ts +2 -2
  80. package/types/models/list/ListModel.d.ts +3 -3
  81. package/types/models/paging/PagesizeModel.d.ts +1 -1
  82. package/types/models/paging/PagingModel.d.ts +1 -1
  83. package/types/models/panels/GroupingPanelModel.d.ts +1 -1
  84. package/types/models/sorting/SortOptionModel.d.ts +2 -2
  85. package/types/models/tab/TabModel.d.ts +1 -1
  86. package/types/models/taskgroup/TaskGroupModel.d.ts +5 -0
  87. package/types/models/user/UserServicesModel.d.ts +1 -1
  88. package/types/modularui/Authenticate.d.ts +1 -1
  89. package/types/modularui/ModularUIRequest.d.ts +8 -8
  90. package/types/modularui/ModularUIResponse.d.ts +5 -5
  91. package/types/utils/datetime/DateTimeUtil.d.ts +0 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [1.40.0](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.39.0...v1.40.0) (2024-02-08)
6
+
7
+
8
+ ### Features
9
+
10
+ * **related-concepts:** add reference hash to related concept href ([9f5683e](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/commit/9f5683e3487ca57d2aec2990da7584a04c535cbd))
11
+
5
12
  ## [1.39.0](https://git.beinformed.com/public/nl.beinformed.bi.layout.lib.ui/compare/v1.38.0...v1.39.0) (2023-12-04)
6
13
 
7
14
 
@@ -44,7 +44,6 @@ class FileSizeConstraint {
44
44
  } else if (this.id === MAX_FILE_SIZE_ID) {
45
45
  return "Maximale bestandsgroote is ${max-filesize}"; // NOSONAR
46
46
  }
47
-
48
47
  return "";
49
48
  }
50
49
 
@@ -1 +1 @@
1
- {"version":3,"file":"FileSizeConstraint.js","names":["filesize","MAX_TOTAL_FILE_SIZE_ID","MAX_FILE_SIZE_ID","FileSizeConstraint","constructor","filesizeConstraint","_defineProperty","_filesizeConstraint","id","isMaxTotal","fileSize","undefined","hasValidation","defaultMessage","human","maxTotalFileSize","parameters","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/FileSizeConstraint.js"],"sourcesContent":["// @flow\nimport filesize from \"file-size\";\n\nimport type { IConstraintModel, FilesizeConstraintsType } from \"../../types\";\n\nconst MAX_TOTAL_FILE_SIZE_ID = \"Constraint.File.MaxTotalFileSize\";\nconst MAX_FILE_SIZE_ID = \"Constraint.File.MaxFileSize\";\n\n/**\n */\nclass FileSizeConstraint implements IConstraintModel {\n _filesizeConstraint: FilesizeConstraintsType;\n\n /**\n */\n constructor(filesizeConstraint: FilesizeConstraintsType) {\n this._filesizeConstraint = filesizeConstraint;\n }\n\n /**\n */\n get id(): string {\n if (this.filesizeConstraint.isMaxTotal) {\n return MAX_TOTAL_FILE_SIZE_ID;\n } else if (this.filesizeConstraint.fileSize !== undefined) {\n return MAX_FILE_SIZE_ID;\n }\n\n return \"\";\n }\n\n /**\n */\n get filesizeConstraint(): FilesizeConstraintsType {\n return this._filesizeConstraint;\n }\n\n /**\n */\n hasValidation(): boolean {\n return false;\n }\n\n /**\n */\n get defaultMessage(): string {\n if (this.id === MAX_TOTAL_FILE_SIZE_ID) {\n return \"{filesize-left} van {max-total-filesize} over van totaal toegestaan upload bestandsgrootte\"; // NOSONAR\n } else if (this.id === MAX_FILE_SIZE_ID) {\n return \"Maximale bestandsgroote is ${max-filesize}\"; // NOSONAR\n }\n\n return \"\";\n }\n\n /**\n */\n get filesize(): any {\n return filesize(this.filesizeConstraint.fileSize).human(\"jedec\");\n }\n\n /**\n */\n get maxTotalFileSize(): any {\n return filesize(this.filesizeConstraint.maxTotalFileSize).human(\"jedec\");\n }\n\n /**\n */\n get parameters():\n | { ... }\n | { \"filesize-left\": any, \"max-total-filesize\": any }\n | { \"max-filesize\": any } {\n if (this.id === MAX_TOTAL_FILE_SIZE_ID) {\n return {\n \"filesize-left\": this.filesize,\n \"max-total-filesize\": this.maxTotalFileSize,\n };\n } else if (this.id === MAX_FILE_SIZE_ID) {\n return {\n \"max-filesize\": this.filesize,\n };\n }\n\n return {};\n }\n\n /**\n */\n validate(): boolean {\n return true;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default FileSizeConstraint;\n"],"mappings":";AACA,OAAOA,QAAQ,MAAM,WAAW;AAIhC,MAAMC,sBAAsB,GAAG,kCAAkC;AACjE,MAAMC,gBAAgB,GAAG,6BAA6B;;AAEtD;AACA;AACA,MAAMC,kBAAkB,CAA6B;EAGnD;AACF;EACEC,WAAWA,CAACC,kBAA2C,EAAE;IAAAC,eAAA;IACvD,IAAI,CAACC,mBAAmB,GAAGF,kBAAkB;EAC/C;;EAEA;AACF;EACE,IAAIG,EAAEA,CAAA,EAAW;IACf,IAAI,IAAI,CAACH,kBAAkB,CAACI,UAAU,EAAE;MACtC,OAAOR,sBAAsB;IAC/B,CAAC,MAAM,IAAI,IAAI,CAACI,kBAAkB,CAACK,QAAQ,KAAKC,SAAS,EAAE;MACzD,OAAOT,gBAAgB;IACzB;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;EACE,IAAIG,kBAAkBA,CAAA,EAA4B;IAChD,OAAO,IAAI,CAACE,mBAAmB;EACjC;;EAEA;AACF;EACEK,aAAaA,CAAA,EAAY;IACvB,OAAO,KAAK;EACd;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,IAAI,IAAI,CAACL,EAAE,KAAKP,sBAAsB,EAAE;MACtC,OAAO,4FAA4F,CAAC,CAAC;IACvG,CAAC,MAAM,IAAI,IAAI,CAACO,EAAE,KAAKN,gBAAgB,EAAE;MACvC,OAAO,4CAA4C,CAAC,CAAC;IACvD;;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;EACE,IAAIF,QAAQA,CAAA,EAAQ;IAClB,OAAOA,QAAQ,CAAC,IAAI,CAACK,kBAAkB,CAACK,QAAQ,CAAC,CAACI,KAAK,CAAC,OAAO,CAAC;EAClE;;EAEA;AACF;EACE,IAAIC,gBAAgBA,CAAA,EAAQ;IAC1B,OAAOf,QAAQ,CAAC,IAAI,CAACK,kBAAkB,CAACU,gBAAgB,CAAC,CAACD,KAAK,CAAC,OAAO,CAAC;EAC1E;;EAEA;AACF;EACE,IAAIE,UAAUA,CAAA,EAGc;IAC1B,IAAI,IAAI,CAACR,EAAE,KAAKP,sBAAsB,EAAE;MACtC,OAAO;QACL,eAAe,EAAE,IAAI,CAACD,QAAQ;QAC9B,oBAAoB,EAAE,IAAI,CAACe;MAC7B,CAAC;IACH,CAAC,MAAM,IAAI,IAAI,CAACP,EAAE,KAAKN,gBAAgB,EAAE;MACvC,OAAO;QACL,cAAc,EAAE,IAAI,CAACF;MACvB,CAAC;IACH;IAEA,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEiB,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAef,kBAAkB"}
1
+ {"version":3,"file":"FileSizeConstraint.js","names":["filesize","MAX_TOTAL_FILE_SIZE_ID","MAX_FILE_SIZE_ID","FileSizeConstraint","constructor","filesizeConstraint","_defineProperty","_filesizeConstraint","id","isMaxTotal","fileSize","undefined","hasValidation","defaultMessage","human","maxTotalFileSize","parameters","validate","isMandatoryConstraint"],"sources":["../../../../src/models/attributes/input-constraints/FileSizeConstraint.js"],"sourcesContent":["// @flow\nimport filesize from \"file-size\";\n\nimport type { IConstraintModel, FilesizeConstraintsType } from \"../../types\";\n\nconst MAX_TOTAL_FILE_SIZE_ID = \"Constraint.File.MaxTotalFileSize\";\nconst MAX_FILE_SIZE_ID = \"Constraint.File.MaxFileSize\";\n\n/**\n */\nclass FileSizeConstraint implements IConstraintModel {\n _filesizeConstraint: FilesizeConstraintsType;\n\n /**\n */\n constructor(filesizeConstraint: FilesizeConstraintsType) {\n this._filesizeConstraint = filesizeConstraint;\n }\n\n /**\n */\n get id(): string {\n if (this.filesizeConstraint.isMaxTotal) {\n return MAX_TOTAL_FILE_SIZE_ID;\n } else if (this.filesizeConstraint.fileSize !== undefined) {\n return MAX_FILE_SIZE_ID;\n }\n\n return \"\";\n }\n\n /**\n */\n get filesizeConstraint(): FilesizeConstraintsType {\n return this._filesizeConstraint;\n }\n\n /**\n */\n hasValidation(): boolean {\n return false;\n }\n\n /**\n */\n get defaultMessage(): string {\n if (this.id === MAX_TOTAL_FILE_SIZE_ID) {\n return \"{filesize-left} van {max-total-filesize} over van totaal toegestaan upload bestandsgrootte\"; // NOSONAR\n } else if (this.id === MAX_FILE_SIZE_ID) {\n return \"Maximale bestandsgroote is ${max-filesize}\"; // NOSONAR\n }\n\n return \"\";\n }\n\n /**\n */\n get filesize(): any {\n return filesize(this.filesizeConstraint.fileSize).human(\"jedec\");\n }\n\n /**\n */\n get maxTotalFileSize(): any {\n return filesize(this.filesizeConstraint.maxTotalFileSize).human(\"jedec\");\n }\n\n /**\n */\n get parameters():\n | { ... }\n | { \"filesize-left\": any, \"max-total-filesize\": any }\n | { \"max-filesize\": any } {\n if (this.id === MAX_TOTAL_FILE_SIZE_ID) {\n return {\n \"filesize-left\": this.filesize,\n \"max-total-filesize\": this.maxTotalFileSize,\n };\n } else if (this.id === MAX_FILE_SIZE_ID) {\n return {\n \"max-filesize\": this.filesize,\n };\n }\n\n return {};\n }\n\n /**\n */\n validate(): boolean {\n return true;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default FileSizeConstraint;\n"],"mappings":";AACA,OAAOA,QAAQ,MAAM,WAAW;AAIhC,MAAMC,sBAAsB,GAAG,kCAAkC;AACjE,MAAMC,gBAAgB,GAAG,6BAA6B;;AAEtD;AACA;AACA,MAAMC,kBAAkB,CAA6B;EAGnD;AACF;EACEC,WAAWA,CAACC,kBAA2C,EAAE;IAAAC,eAAA;IACvD,IAAI,CAACC,mBAAmB,GAAGF,kBAAkB;EAC/C;;EAEA;AACF;EACE,IAAIG,EAAEA,CAAA,EAAW;IACf,IAAI,IAAI,CAACH,kBAAkB,CAACI,UAAU,EAAE;MACtC,OAAOR,sBAAsB;IAC/B,CAAC,MAAM,IAAI,IAAI,CAACI,kBAAkB,CAACK,QAAQ,KAAKC,SAAS,EAAE;MACzD,OAAOT,gBAAgB;IACzB;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;EACE,IAAIG,kBAAkBA,CAAA,EAA4B;IAChD,OAAO,IAAI,CAACE,mBAAmB;EACjC;;EAEA;AACF;EACEK,aAAaA,CAAA,EAAY;IACvB,OAAO,KAAK;EACd;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,IAAI,IAAI,CAACL,EAAE,KAAKP,sBAAsB,EAAE;MACtC,OAAO,4FAA4F,CAAC,CAAC;IACvG,CAAC,MAAM,IAAI,IAAI,CAACO,EAAE,KAAKN,gBAAgB,EAAE;MACvC,OAAO,4CAA4C,CAAC,CAAC;IACvD;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;EACE,IAAIF,QAAQA,CAAA,EAAQ;IAClB,OAAOA,QAAQ,CAAC,IAAI,CAACK,kBAAkB,CAACK,QAAQ,CAAC,CAACI,KAAK,CAAC,OAAO,CAAC;EAClE;;EAEA;AACF;EACE,IAAIC,gBAAgBA,CAAA,EAAQ;IAC1B,OAAOf,QAAQ,CAAC,IAAI,CAACK,kBAAkB,CAACU,gBAAgB,CAAC,CAACD,KAAK,CAAC,OAAO,CAAC;EAC1E;;EAEA;AACF;EACE,IAAIE,UAAUA,CAAA,EAGc;IAC1B,IAAI,IAAI,CAACR,EAAE,KAAKP,sBAAsB,EAAE;MACtC,OAAO;QACL,eAAe,EAAE,IAAI,CAACD,QAAQ;QAC9B,oBAAoB,EAAE,IAAI,CAACe;MAC7B,CAAC;IACH,CAAC,MAAM,IAAI,IAAI,CAACP,EAAE,KAAKN,gBAAgB,EAAE;MACvC,OAAO;QACL,cAAc,EAAE,IAAI,CAACF;MACvB,CAAC;IACH;IAEA,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEiB,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAEA,eAAef,kBAAkB"}
@@ -185,6 +185,7 @@ export default class ContentModel extends ResourceModel {
185
185
  href
186
186
  } = relatedConceptsLink;
187
187
  href.addParameter("entryDate", this.entryDate);
188
+ href.setReferenceHash(this.referenceHash);
188
189
  return href;
189
190
  }
190
191
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"ContentModel.js","names":["ModularUIResponse","ResourceModel","FilterCollection","ContentLinkModel","SubSectionModel","ContentTypeModel","TIMEVERSION_FILTER_NAME","SectionModel","ContentModel","constructor","response","_defineProperty","_section","data","entryDate","type","modelName","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","contentTypeLink","links","getLinkByKey","setChildModels","models","contentType","_findInstanceProperty","call","model","section","id","_id","filterCollection","_filterCollection","_filterInstanceProperty","filter","entryDateFilter","getFilterByAttributeKey","attribute","value","_contentType","label","number","body","childSectionLinks","selfContentLink","childSections","sections","subSections","relatedConceptsHrefs","hrefs","relatedConceptsHref","push","forEach","subSection","relatedConceptsLink","href","addParameter","referenceHash"],"sources":["../../../src/models/content/ContentModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport ResourceModel from \"../base/ResourceModel\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport ContentTypeModel from \"./ContentTypeModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\nimport SectionModel from \"./SectionModel\";\n\n/**\n * Content detail model\n */\nexport default class ContentModel extends ResourceModel {\n _section: SectionModel;\n _contentType: ContentTypeModel | null = null;\n _filterCollection: FilterCollection;\n\n constructor(response: ModularUIResponse) {\n super(response);\n\n this._section = new SectionModel(this.data, this.entryDate);\n }\n\n /**\n */\n get type(): string {\n return \"Content\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ContentModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ContentDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const contentTypeLink = this.links.getLinkByKey(\"contenttype\");\n\n if (contentTypeLink) {\n return [contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.contentType = models.find((model) => model.type === \"ContentType\");\n }\n\n /**\n */\n get section(): SectionModel {\n return this._section;\n }\n\n /**\n */\n get id(): string {\n return this.data._id;\n }\n\n /**\n * Retrieve available filters on concept toc\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection && this.data.filter?.entryDate) {\n this._filterCollection = new FilterCollection(\n {\n entryDate: this.data.filter.entryDate,\n },\n {\n filter: this.contributions.filter,\n },\n );\n }\n\n return this._filterCollection;\n }\n\n /**\n * Retrieve entrydate of content toc\n */\n get entryDate(): ISO_DATE | null {\n const entryDateFilter = this.filterCollection?.getFilterByAttributeKey(\n TIMEVERSION_FILTER_NAME,\n );\n if (entryDateFilter && entryDateFilter.attribute) {\n return entryDateFilter.attribute.value;\n }\n\n return null;\n }\n\n /**\n * Get conceptType of concept\n */\n get contentType(): ContentTypeModel | null {\n return this._contentType;\n }\n\n /**\n * Set concept type\n */\n set contentType(contentType: ?ModularUIModel) {\n this._contentType =\n contentType instanceof ContentTypeModel ? contentType : null;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.section.label;\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.section.number;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return this.section.body;\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.section.childSectionLinks;\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return this.section.selfContentLink;\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n return this.section.childSections;\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this.section.childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.section.subSections;\n }\n\n /**\n */\n get relatedConceptsHrefs(): Array<Href> {\n const hrefs = [];\n if (this.relatedConceptsHref) {\n hrefs.push(this.relatedConceptsHref);\n }\n\n this.subSections.forEach((subSection) => {\n hrefs.push(...subSection.relatedConceptsHrefs);\n });\n\n return hrefs;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n const { href } = relatedConceptsLink;\n href.addParameter(\"entryDate\", this.entryDate);\n return href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n return this.section.referenceHash;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ContentModel.js","names":["ModularUIResponse","ResourceModel","FilterCollection","ContentLinkModel","SubSectionModel","ContentTypeModel","TIMEVERSION_FILTER_NAME","SectionModel","ContentModel","constructor","response","_defineProperty","_section","data","entryDate","type","modelName","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","contentTypeLink","links","getLinkByKey","setChildModels","models","contentType","_findInstanceProperty","call","model","section","id","_id","filterCollection","_filterCollection","_filterInstanceProperty","filter","entryDateFilter","getFilterByAttributeKey","attribute","value","_contentType","label","number","body","childSectionLinks","selfContentLink","childSections","sections","subSections","relatedConceptsHrefs","hrefs","relatedConceptsHref","push","forEach","subSection","relatedConceptsLink","href","addParameter","setReferenceHash","referenceHash"],"sources":["../../../src/models/content/ContentModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport ResourceModel from \"../base/ResourceModel\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport ContentTypeModel from \"./ContentTypeModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\nimport SectionModel from \"./SectionModel\";\n\n/**\n * Content detail model\n */\nexport default class ContentModel extends ResourceModel {\n _section: SectionModel;\n _contentType: ContentTypeModel | null = null;\n _filterCollection: FilterCollection;\n\n constructor(response: ModularUIResponse) {\n super(response);\n\n this._section = new SectionModel(this.data, this.entryDate);\n }\n\n /**\n */\n get type(): string {\n return \"Content\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ContentModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ContentDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const contentTypeLink = this.links.getLinkByKey(\"contenttype\");\n\n if (contentTypeLink) {\n return [contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.contentType = models.find((model) => model.type === \"ContentType\");\n }\n\n /**\n */\n get section(): SectionModel {\n return this._section;\n }\n\n /**\n */\n get id(): string {\n return this.data._id;\n }\n\n /**\n * Retrieve available filters on concept toc\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection && this.data.filter?.entryDate) {\n this._filterCollection = new FilterCollection(\n {\n entryDate: this.data.filter.entryDate,\n },\n {\n filter: this.contributions.filter,\n },\n );\n }\n\n return this._filterCollection;\n }\n\n /**\n * Retrieve entrydate of content toc\n */\n get entryDate(): ISO_DATE | null {\n const entryDateFilter = this.filterCollection?.getFilterByAttributeKey(\n TIMEVERSION_FILTER_NAME,\n );\n if (entryDateFilter && entryDateFilter.attribute) {\n return entryDateFilter.attribute.value;\n }\n\n return null;\n }\n\n /**\n * Get conceptType of concept\n */\n get contentType(): ContentTypeModel | null {\n return this._contentType;\n }\n\n /**\n * Set concept type\n */\n set contentType(contentType: ?ModularUIModel) {\n this._contentType =\n contentType instanceof ContentTypeModel ? contentType : null;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.section.label;\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.section.number;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return this.section.body;\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.section.childSectionLinks;\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return this.section.selfContentLink;\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n return this.section.childSections;\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this.section.childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.section.subSections;\n }\n\n /**\n */\n get relatedConceptsHrefs(): Array<Href> {\n const hrefs = [];\n if (this.relatedConceptsHref) {\n hrefs.push(this.relatedConceptsHref);\n }\n\n this.subSections.forEach((subSection) => {\n hrefs.push(...subSection.relatedConceptsHrefs);\n });\n\n return hrefs;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n const { href } = relatedConceptsLink;\n href.addParameter(\"entryDate\", this.entryDate);\n href.setReferenceHash(this.referenceHash);\n return href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n return this.section.referenceHash;\n }\n}\n"],"mappings":"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"}
@@ -110,7 +110,11 @@ export default class SubSectionModel extends BaseModel {
110
110
  get relatedConceptsHref() {
111
111
  const relatedConceptsLink = this.links.getLinkByKey("relatedConcepts");
112
112
  if (relatedConceptsLink) {
113
- return relatedConceptsLink.href;
113
+ const {
114
+ href
115
+ } = relatedConceptsLink;
116
+ href.setReferenceHash(this.referenceHash);
117
+ return href;
114
118
  }
115
119
  return null;
116
120
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SubSectionModel.js","names":["createHashFromHref","BaseModel","LinkCollection","Href","LinkModel","retrieveText","SubSectionModel","constructor","data","_defineProperty","referred","id","_id","key","body","getData","number","label","subSections","_context","_mapInstanceProperty","call","subSection","links","_links","contributions","selflink","getLinkByKey","selfhref","href","relatedConceptsHrefs","hrefs","relatedConceptsHref","push","forEach","relatedConceptsLink","referenceHash","getReferredSections","sections","referredChilds"],"sources":["../../../src/models/content/SubSectionModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport Href from \"../href/Href\";\nimport LinkModel from \"../links/LinkModel\";\nimport { retrieveText } from \"../../utils\";\n\n/**\n * Link to a concept\n */\nexport default class SubSectionModel extends BaseModel {\n _links: LinkCollection;\n\n /**\n */\n constructor(data: Object) {\n super(data, {});\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n * Retrieve key of subsection\n */\n get key(): ?string {\n return this.id;\n }\n\n /**\n * Retrieve html body\n */\n get body(): string {\n const body = this.getData(\"body\", \"\");\n return retrieveText(body);\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Retrieve label of section\n */\n get label(): ?string {\n return this.data.label;\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection),\n )\n : [];\n }\n\n /**\n * Retrieve links of section\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n this.data._links,\n this.contributions._links,\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel | null {\n return this.links.getLinkByKey(\"self\");\n }\n\n /**\n * Return default self link of resource\n */\n get selfhref(): Href | null {\n return this.selflink ? this.selflink.href : null;\n }\n\n /**\n */\n get relatedConceptsHrefs(): Array<Href> {\n const hrefs = [];\n if (this.relatedConceptsHref) {\n hrefs.push(this.relatedConceptsHref);\n }\n\n this.subSections.forEach((subSection) => {\n hrefs.push(...subSection.relatedConceptsHrefs);\n });\n\n return hrefs;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n return relatedConceptsLink.href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n const selfhref = this.selfhref || new Href();\n\n return createHashFromHref(selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n"],"mappings":";;AACA,SAASA,kBAAkB,QAAQ,gCAAgC;AAEnE,OAAOC,SAAS,MAAM,mBAAmB;AACzC,OAAOC,cAAc,MAAM,yBAAyB;AACpD,OAAOC,IAAI,MAAM,cAAc;AAC/B,OAAOC,SAAS,MAAM,oBAAoB;AAC1C,SAASC,YAAY,QAAQ,aAAa;;AAE1C;AACA;AACA;AACA,eAAe,MAAMC,eAAe,SAASL,SAAS,CAAC;EAGrD;AACF;EACEM,WAAWA,CAACC,IAAY,EAAE;IACxB,KAAK,CAACA,IAAI,EAAE,CAAC,CAAC,CAAC;IAACC,eAAA;EAClB;;EAEA;AACF;EACE,IAAIC,QAAQA,CAAA,EAAY;IACtB,OAAO,IAAI,CAACF,IAAI,CAACE,QAAQ;EAC3B;;EAEA;AACF;EACE,IAAIC,EAAEA,CAAA,EAAW;IACf,OAAO,IAAI,CAACH,IAAI,CAACG,EAAE,IAAI,IAAI,CAACH,IAAI,CAACI,GAAG;EACtC;;EAEA;AACF;AACA;EACE,IAAIC,GAAGA,CAAA,EAAY;IACjB,OAAO,IAAI,CAACF,EAAE;EAChB;;EAEA;AACF;AACA;EACE,IAAIG,IAAIA,CAAA,EAAW;IACjB,MAAMA,IAAI,GAAG,IAAI,CAACC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IACrC,OAAOV,YAAY,CAACS,IAAI,CAAC;EAC3B;;EAEA;AACF;AACA;EACE,IAAIE,MAAMA,CAAA,EAAkB;IAC1B,OAAO,IAAI,CAACR,IAAI,CAACQ,MAAM,IAAI,IAAI;EACjC;;EAEA;AACF;AACA;EACE,IAAIC,KAAKA,CAAA,EAAY;IACnB,OAAO,IAAI,CAACT,IAAI,CAACS,KAAK;EACxB;;EAEA;AACF;AACA;EACE,IAAIC,WAAWA,CAAA,EAA2B;IAAA,IAAAC,QAAA;IACxC,OAAO,IAAI,CAACX,IAAI,CAACU,WAAW,GACxBE,oBAAA,CAAAD,QAAA,OAAI,CAACX,IAAI,CAACU,WAAW,EAAAG,IAAA,CAAAF,QAAA,EAClBG,UAAU,IAAK,IAAIhB,eAAe,CAACgB,UAAU,CAChD,CAAC,GACD,EAAE;EACR;;EAEA;AACF;AACA;EACE,IAAIC,KAAKA,CAAA,EAAmB;IAC1B,IAAI,CAAC,IAAI,CAACC,MAAM,EAAE;MAChB,IAAI,CAACA,MAAM,GAAG,IAAItB,cAAc,CAC9B,IAAI,CAACM,IAAI,CAACgB,MAAM,EAChB,IAAI,CAACC,aAAa,CAACD,MACrB,CAAC;IACH;IAEA,OAAO,IAAI,CAACA,MAAM;EACpB;;EAEA;AACF;AACA;EACE,IAAIE,QAAQA,CAAA,EAAqB;IAC/B,OAAO,IAAI,CAACH,KAAK,CAACI,YAAY,CAAC,MAAM,CAAC;EACxC;;EAEA;AACF;AACA;EACE,IAAIC,QAAQA,CAAA,EAAgB;IAC1B,OAAO,IAAI,CAACF,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACG,IAAI,GAAG,IAAI;EAClD;;EAEA;AACF;EACE,IAAIC,oBAAoBA,CAAA,EAAgB;IACtC,MAAMC,KAAK,GAAG,EAAE;IAChB,IAAI,IAAI,CAACC,mBAAmB,EAAE;MAC5BD,KAAK,CAACE,IAAI,CAAC,IAAI,CAACD,mBAAmB,CAAC;IACtC;IAEA,IAAI,CAACd,WAAW,CAACgB,OAAO,CAAEZ,UAAU,IAAK;MACvCS,KAAK,CAACE,IAAI,CAAC,GAAGX,UAAU,CAACQ,oBAAoB,CAAC;IAChD,CAAC,CAAC;IAEF,OAAOC,KAAK;EACd;;EAEA;AACF;AACA;EACE,IAAIC,mBAAmBA,CAAA,EAAgB;IACrC,MAAMG,mBAAmB,GAAG,IAAI,CAACZ,KAAK,CAACI,YAAY,CAAC,iBAAiB,CAAC;IAEtE,IAAIQ,mBAAmB,EAAE;MACvB,OAAOA,mBAAmB,CAACN,IAAI;IACjC;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIO,aAAaA,CAAA,EAAW;IAC1B,MAAMR,QAAQ,GAAG,IAAI,CAACA,QAAQ,IAAI,IAAIzB,IAAI,CAAC,CAAC;IAE5C,OAAOH,kBAAkB,CAAC4B,QAAQ,CAAC;EACrC;;EAEA;AACF;EACES,mBAAmBA,CAAA,EAA2B;IAC5C,MAAMC,QAAQ,GAAG,EAAE;IAEnB,KAAK,MAAMhB,UAAU,IAAI,IAAI,CAACJ,WAAW,EAAE;MACzC,IAAII,UAAU,CAACZ,QAAQ,EAAE;QACvB4B,QAAQ,CAACL,IAAI,CAACX,UAAU,CAAC;MAC3B;MAEA,MAAMiB,cAAc,GAAGjB,UAAU,CAACe,mBAAmB,CAAC,CAAC;MACvDC,QAAQ,CAACL,IAAI,CAAC,GAAGM,cAAc,CAAC;IAClC;IAEA,OAAOD,QAAQ;EACjB;AACF"}
1
+ {"version":3,"file":"SubSectionModel.js","names":["createHashFromHref","BaseModel","LinkCollection","Href","LinkModel","retrieveText","SubSectionModel","constructor","data","_defineProperty","referred","id","_id","key","body","getData","number","label","subSections","_context","_mapInstanceProperty","call","subSection","links","_links","contributions","selflink","getLinkByKey","selfhref","href","relatedConceptsHrefs","hrefs","relatedConceptsHref","push","forEach","relatedConceptsLink","setReferenceHash","referenceHash","getReferredSections","sections","referredChilds"],"sources":["../../../src/models/content/SubSectionModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport Href from \"../href/Href\";\nimport LinkModel from \"../links/LinkModel\";\nimport { retrieveText } from \"../../utils\";\n\n/**\n * Link to a concept\n */\nexport default class SubSectionModel extends BaseModel {\n _links: LinkCollection;\n\n /**\n */\n constructor(data: Object) {\n super(data, {});\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n * Retrieve key of subsection\n */\n get key(): ?string {\n return this.id;\n }\n\n /**\n * Retrieve html body\n */\n get body(): string {\n const body = this.getData(\"body\", \"\");\n return retrieveText(body);\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Retrieve label of section\n */\n get label(): ?string {\n return this.data.label;\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection),\n )\n : [];\n }\n\n /**\n * Retrieve links of section\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n this.data._links,\n this.contributions._links,\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel | null {\n return this.links.getLinkByKey(\"self\");\n }\n\n /**\n * Return default self link of resource\n */\n get selfhref(): Href | null {\n return this.selflink ? this.selflink.href : null;\n }\n\n /**\n */\n get relatedConceptsHrefs(): Array<Href> {\n const hrefs = [];\n if (this.relatedConceptsHref) {\n hrefs.push(this.relatedConceptsHref);\n }\n\n this.subSections.forEach((subSection) => {\n hrefs.push(...subSection.relatedConceptsHrefs);\n });\n\n return hrefs;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n const { href } = relatedConceptsLink;\n href.setReferenceHash(this.referenceHash);\n return href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n const selfhref = this.selfhref || new Href();\n return createHashFromHref(selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n"],"mappings":"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"}
@@ -21,6 +21,7 @@ class Href {
21
21
  _defineProperty(this, "_resourcetype", "");
22
22
  _defineProperty(this, "_method", HTTP_METHODS.GET);
23
23
  _defineProperty(this, "_state", null);
24
+ _defineProperty(this, "_referenceHash", void 0);
24
25
  this.resourcetype = resourcetype ?? "";
25
26
  if (href instanceof Href) {
26
27
  this.setFromHref(href);
@@ -390,6 +391,18 @@ class Href {
390
391
  return _startsWithInstanceProperty(_context11 = this.absolutepath).call(_context11, `${getBasePath()}${CONTENT_PATH}`);
391
392
  }
392
393
 
394
+ /**
395
+ */
396
+ getReferenceHash() {
397
+ return this._referenceHash;
398
+ }
399
+
400
+ /**
401
+ */
402
+ setReferenceHash(referenceHash) {
403
+ this._referenceHash = referenceHash;
404
+ }
405
+
393
406
  /**
394
407
  * Returns a complete url from the Href
395
408
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Href.js","names":["getBasePath","HTTP_METHODS","CONTENT_PATH","Parameter","IllegalArgumentException","Href","constructor","href","resourcetype","_defineProperty","GET","setFromHref","setFromString","setFromLocationOrObject","path","parameters","hash","state","pathname","_path","search","addParametersFromString","Array","isArray","_parameters","_context","_mapInstanceProperty","call","param","addParameter","_name","_value","_prefix","getHashFromString","_hash","_state","getPathFromString","isChangePassword","_context2","_includesInstanceProperty","isCamelRoute","_startsWithInstanceProperty","checkAbsoluteUrl","checkAbsolute","RegExp","test","isExternal","decodedHref","decodeURI","hrefNoHash","substr","indexOf","split","arguments","length","undefined","forEach","paramFromString","fromString","setParameter","name","value","prefix","removeParameter","push","getParameter","_context3","_findInstanceProperty","hasParameter","method","_method","_context4","valueToRemove","newValue","filter","val","join","_context5","_filterInstanceProperty","getQuerystring","_context6","_context7","withPrefix","toQuerystring","getQuerystringForModularUI","_context8","_context9","isModUIParameter","querystring","setState","_resourcetype","absolutepath","absolutehref","absolutehrefPrefixedQuerystring","startsWith","thisPath","otherPath","equals","equalsWithParameters","_context10","thisParams","toString","every","isContent","_context11","toLocation"],"sources":["../../../src/models/href/Href.js"],"sourcesContent":["// @flow\nimport { getBasePath, HTTP_METHODS, CONTENT_PATH } from \"../../constants\";\n\nimport Parameter from \"../parameter/Parameter\";\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport type { LocationShape } from \"react-router\";\n\ntype HrefObject = {\n _path: string,\n _hash: string,\n _parameters: Array<Parameter>,\n _resourcetype: string,\n _method: $Keys<typeof HTTP_METHODS>,\n _state: ?{ [key: string]: any },\n pathname: ?string,\n};\n\nexport type HrefInput = Href | HrefObject | LocationShape | string;\n\n/**\n * Defines a Href with the parameters\n */\nclass Href {\n _path: string = \"\";\n _hash: string = \"\";\n _parameters: Array<Parameter> = [];\n _resourcetype: string = \"\";\n _method: $Keys<typeof HTTP_METHODS> = HTTP_METHODS.GET;\n _state: any = null;\n\n /**\n * Create a Href\n */\n constructor(href?: HrefInput, resourcetype?: string) {\n this.resourcetype = resourcetype ?? \"\";\n\n if (href instanceof Href) {\n this.setFromHref(href);\n } else if (typeof href === \"string\") {\n this.setFromString(href);\n } else if (typeof href === \"object\") {\n this.setFromLocationOrObject(href);\n }\n }\n\n /**\n * Set parameters from Href model input\n */\n setFromHref(href: Href) {\n this.path = href.path;\n this.parameters = href.parameters;\n this.hash = href.hash;\n this.state = href.state;\n }\n\n /**\n */\n setFromLocationOrObject(href: LocationShape | HrefObject) {\n if (typeof href[\"pathname\"] === \"string\") {\n this.path = href.pathname;\n } else if (typeof href._path === \"string\") {\n this.path = href._path;\n }\n\n if (href.search) {\n this.addParametersFromString(href.search);\n } else if (Array.isArray(href._parameters)) {\n // $FlowExpectedError[incompatible-call]\n href._parameters.map((param: Parameter) =>\n this.addParameter(param._name, param._value, param._prefix),\n );\n }\n\n if (href.hash) {\n this.hash = Href.getHashFromString(href.hash);\n } else if (typeof href._hash === \"string\") {\n this.hash = href._hash;\n }\n\n if (href.state) {\n this.state = href.state || null;\n } else if (typeof href._state === \"object\") {\n this.state = href._state;\n }\n }\n\n /**\n * Set parameters from string input\n */\n setFromString(href: string) {\n this.path = Href.getPathFromString(href);\n this.addParametersFromString(href);\n this.hash = Href.getHashFromString(href);\n }\n\n /**\n */\n get isChangePassword(): boolean {\n return this._path.includes(\"/change-password\");\n }\n\n /**\n * check if the path is referencing a camel route\n */\n static isCamelRoute(path: string): boolean {\n return (\n path.startsWith(\"/restServices\") && !path.startsWith(\"/restServices/ui\")\n );\n }\n\n /**\n */\n static checkAbsoluteUrl(href: string): boolean {\n const checkAbsolute = new RegExp(\"^(?:[a-z]+:)?//\", \"i\");\n return checkAbsolute.test(href);\n }\n\n // Check if url is relative (not checking for absolute urls with same domain)\n /**\n */\n get isExternal(): boolean {\n return Href.checkAbsoluteUrl(this.path);\n }\n\n /**\n * Retrieve the relative path part of a href string, e.g. https://www.beinformed.com/BeInformed/tab/view?q=url => /tab/view\n */\n static getPathFromString(href: string): string {\n const decodedHref = decodeURI(href);\n\n const hrefNoHash = decodedHref.includes(\"#\")\n ? decodedHref.substr(0, decodedHref.indexOf(\"#\"))\n : decodedHref;\n\n return hrefNoHash.includes(\"?\") ? hrefNoHash.split(\"?\")[0] : hrefNoHash;\n }\n\n /**\n * Retrieve hash of href string\n */\n static getHashFromString(href: string = \"\"): string {\n return href.includes(\"#\") ? href.substr(href.indexOf(\"#\") + 1) : \"\";\n }\n\n /**\n * Add a parameter for each parameter found in the querystring of an URL string, e.g. https://www.beinformed.com?q=url => q=url\n */\n addParametersFromString(href: string): Href {\n if (href.includes(\"?\")) {\n href\n .split(\"?\")[1]\n .split(\"&\")\n .forEach((param) => {\n const paramFromString = Parameter.fromString(param);\n if (paramFromString) {\n this.setParameter(\n paramFromString.name,\n paramFromString.value,\n paramFromString.prefix,\n );\n }\n });\n }\n\n return this;\n }\n\n /**\n * Add a querystring parameter to the parameter collection of this Href, skips parameters that have a value of null\n */\n addParameter(name: string, value: ?string, prefix: ?string): Href {\n if (value !== null) {\n this.removeParameter(name, prefix);\n this._parameters.push(new Parameter(prefix, name, value));\n }\n\n return this;\n }\n\n /**\n * Adds or overwrites a parameter when it exists and value is not null.\n * Removes the parameter when the value is null\n */\n setParameter(name: string, value: ?string, prefix: ?string): Href {\n if (value === null) {\n this.removeParameter(name, prefix);\n } else {\n this.addParameter(name, value, prefix);\n }\n\n return this;\n }\n\n /**\n * Retrieve a parameter by it's name and (optionally) prefix\n */\n getParameter(name: string, prefix: ?string): ?Parameter {\n return this._parameters.find(\n (param) => param.prefix === prefix && param.name === name,\n );\n }\n\n /**\n */\n hasParameter(name: string, prefix: ?string): boolean {\n return this.getParameter(name, prefix) !== undefined;\n }\n\n /**\n * Get request method\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this._method;\n }\n\n /**\n * Set request method\n */\n set method(method: $Keys<typeof HTTP_METHODS>) {\n this._method = method || HTTP_METHODS.GET;\n }\n\n /**\n * Retrieve all paremters\n */\n get parameters(): Array<Parameter> {\n return this._parameters;\n }\n\n /**\n * Replace parameters of Href\n */\n set parameters(parameters: Array<Parameter>) {\n this._parameters = parameters;\n }\n\n /**\n * Remove a parameter from the parameter collection\n */\n removeParameter(name: string, prefix: ?string, value: ?string): Href {\n if (value !== undefined) {\n const valueToRemove = value;\n\n this._parameters = this._parameters.map((param) => {\n if (param.prefix === prefix && param.name === name) {\n const newValue = param.value\n ?.split(\",\")\n .filter((val) => val !== valueToRemove)\n .join(\",\");\n return new Parameter(param.prefix, param.name, newValue);\n }\n return param;\n });\n } else {\n this._parameters = this._parameters.filter(\n (param) => param.prefix !== prefix || param.name !== name,\n );\n }\n\n return this;\n }\n\n /**\n * Get the parameters as a querystring, e.g. param1=value1&param2=value2, optionally with prefix\n */\n getQuerystring(withPrefix: boolean = false): string {\n return this.parameters\n .filter((param) => param.value != null && param.value !== \"\")\n .map((param) => param.toQuerystring(withPrefix))\n .join(\"&\");\n }\n\n /**\n * Retrieve a querystring that only contains parameter that can be send to the modular ui, parameters are filtered by prefix\n */\n getQuerystringForModularUI(prefix: string = \"\"): string {\n return this.parameters\n .filter(\n (param) =>\n param.isModUIParameter &&\n (!prefix || !param.prefix || param.prefix === prefix) &&\n param.value != null,\n )\n .map((param) => param.toQuerystring(false))\n .join(\"&\");\n }\n\n /**\n * Retrieve all parameters from the parameter collection in a querystring style name1=value1&name2=value2, without the prefix\n */\n get querystring(): string {\n return this.getQuerystring(false);\n }\n\n /**\n * Set the path of the Href, the part before the querystring question mark\n */\n set path(path: string) {\n this._path = path;\n }\n\n /**\n * Retrieve the path\n */\n get path(): string {\n return this._path || \"\";\n }\n\n /**\n * Set hash\n */\n set hash(hash: string) {\n this._hash = hash;\n }\n\n /**\n * Retrieve hash\n */\n get hash(): string {\n return this._hash;\n }\n\n /**\n */\n set state(state: any) {\n this._state = state;\n }\n\n /**\n */\n get state(): any {\n return this._state;\n }\n\n /**\n */\n setState(state: any): Href {\n this.state = state;\n\n return this;\n }\n\n /**\n * Set resourctype\n */\n set resourcetype(resourcetype: string) {\n this._resourcetype = resourcetype;\n }\n\n /**\n * Retrieve resourceType\n */\n get resourcetype(): string {\n return this._resourcetype;\n }\n\n /**\n * Retrieve the path combined with the base path (context-path) of the application, e.g. /BeInformed\n */\n get absolutepath(): string {\n if (this.isExternal) {\n return this.path;\n }\n\n return getBasePath() + this.path;\n }\n\n /**\n * Retrieves the combination of the path and the querystring\n */\n get href(): string {\n return this.querystring.length > 0\n ? [this.path, this.querystring].join(\"?\")\n : this.path;\n }\n\n /**\n * Getting the URL including the base path, querystring is prefixed\n */\n get absolutehref(): string {\n const querystring = this.getQuerystring(false);\n\n return querystring.length > 0\n ? [this.absolutepath, querystring].join(\"?\")\n : this.absolutepath;\n }\n\n /**\n * Getting the URL including the base path, the querystring is prefixed\n */\n get absolutehrefPrefixedQuerystring(): string {\n const querystring = this.getQuerystring(true);\n\n return querystring.length > 0\n ? [this.absolutepath, querystring].join(\"?\")\n : this.absolutepath;\n }\n\n /**\n * Checks if the URL starts within the given href\n */\n startsWith(href: Href | string): boolean {\n const thisPath = `${this.path}/`;\n const otherPath = href instanceof Href ? `${href.path}/` : href;\n\n return thisPath.startsWith(otherPath);\n }\n\n /**\n * Checks if the given Href equals this Href\n */\n equals(href: Href | string): boolean {\n if (href instanceof Href) {\n return this.path === href.path;\n }\n\n return this.path === href;\n }\n\n /**\n */\n equalsWithParameters(href: Href): boolean {\n if (!this.equals(href)) {\n return false;\n }\n\n if (href instanceof Href) {\n if (this.parameters.length !== href.parameters.length) {\n return false;\n }\n\n if (this.parameters.length === 0 && href.parameters.length === 0) {\n return true;\n }\n\n const thisParams = this.parameters.map((param) => param.toString());\n\n return href.parameters.every((param) =>\n thisParams.includes(param.toString()),\n );\n }\n\n throw new IllegalArgumentException(`${href} is not an instance of Href`);\n }\n\n /**\n * Indicates if the link is a content link\n */\n get isContent(): boolean {\n return this.absolutepath.startsWith(`${getBasePath()}${CONTENT_PATH}`);\n }\n\n /**\n * Returns a complete url from the Href\n */\n toString(): string {\n return this.href;\n }\n\n /**\n */\n toLocation(): LocationShape {\n return {\n pathname: this.path,\n search: this.querystring.length > 0 ? `?${this.querystring}` : \"\",\n hash: this.hash.length > 0 ? `#${this.hash}` : \"\",\n state: this.state,\n };\n }\n}\n\nexport default Href;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Href.js","names":["getBasePath","HTTP_METHODS","CONTENT_PATH","Parameter","IllegalArgumentException","Href","constructor","href","resourcetype","_defineProperty","GET","setFromHref","setFromString","setFromLocationOrObject","path","parameters","hash","state","pathname","_path","search","addParametersFromString","Array","isArray","_parameters","_context","_mapInstanceProperty","call","param","addParameter","_name","_value","_prefix","getHashFromString","_hash","_state","getPathFromString","isChangePassword","_context2","_includesInstanceProperty","isCamelRoute","_startsWithInstanceProperty","checkAbsoluteUrl","checkAbsolute","RegExp","test","isExternal","decodedHref","decodeURI","hrefNoHash","substr","indexOf","split","arguments","length","undefined","forEach","paramFromString","fromString","setParameter","name","value","prefix","removeParameter","push","getParameter","_context3","_findInstanceProperty","hasParameter","method","_method","_context4","valueToRemove","newValue","filter","val","join","_context5","_filterInstanceProperty","getQuerystring","_context6","_context7","withPrefix","toQuerystring","getQuerystringForModularUI","_context8","_context9","isModUIParameter","querystring","setState","_resourcetype","absolutepath","absolutehref","absolutehrefPrefixedQuerystring","startsWith","thisPath","otherPath","equals","equalsWithParameters","_context10","thisParams","toString","every","isContent","_context11","getReferenceHash","_referenceHash","setReferenceHash","referenceHash","toLocation"],"sources":["../../../src/models/href/Href.js"],"sourcesContent":["// @flow\nimport { getBasePath, HTTP_METHODS, CONTENT_PATH } from \"../../constants\";\n\nimport Parameter from \"../parameter/Parameter\";\nimport { IllegalArgumentException } from \"../../exceptions\";\n\nimport type { LocationShape } from \"react-router\";\n\ntype HrefObject = {\n _path: string,\n _hash: string,\n _parameters: Array<Parameter>,\n _resourcetype: string,\n _method: $Keys<typeof HTTP_METHODS>,\n _state: ?{ [key: string]: any },\n pathname: ?string,\n};\n\nexport type HrefInput = Href | HrefObject | LocationShape | string;\n\n/**\n * Defines a Href with the parameters\n */\nclass Href {\n _path: string = \"\";\n _hash: string = \"\";\n _parameters: Array<Parameter> = [];\n _resourcetype: string = \"\";\n _method: $Keys<typeof HTTP_METHODS> = HTTP_METHODS.GET;\n _state: any = null;\n _referenceHash: ?number;\n\n /**\n * Create a Href\n */\n constructor(href?: HrefInput, resourcetype?: string) {\n this.resourcetype = resourcetype ?? \"\";\n\n if (href instanceof Href) {\n this.setFromHref(href);\n } else if (typeof href === \"string\") {\n this.setFromString(href);\n } else if (typeof href === \"object\") {\n this.setFromLocationOrObject(href);\n }\n }\n\n /**\n * Set parameters from Href model input\n */\n setFromHref(href: Href) {\n this.path = href.path;\n this.parameters = href.parameters;\n this.hash = href.hash;\n this.state = href.state;\n }\n\n /**\n */\n setFromLocationOrObject(href: LocationShape | HrefObject) {\n if (typeof href[\"pathname\"] === \"string\") {\n this.path = href.pathname;\n } else if (typeof href._path === \"string\") {\n this.path = href._path;\n }\n\n if (href.search) {\n this.addParametersFromString(href.search);\n } else if (Array.isArray(href._parameters)) {\n // $FlowExpectedError[incompatible-call]\n href._parameters.map((param: Parameter) =>\n this.addParameter(param._name, param._value, param._prefix),\n );\n }\n\n if (href.hash) {\n this.hash = Href.getHashFromString(href.hash);\n } else if (typeof href._hash === \"string\") {\n this.hash = href._hash;\n }\n\n if (href.state) {\n this.state = href.state || null;\n } else if (typeof href._state === \"object\") {\n this.state = href._state;\n }\n }\n\n /**\n * Set parameters from string input\n */\n setFromString(href: string) {\n this.path = Href.getPathFromString(href);\n this.addParametersFromString(href);\n this.hash = Href.getHashFromString(href);\n }\n\n /**\n */\n get isChangePassword(): boolean {\n return this._path.includes(\"/change-password\");\n }\n\n /**\n * check if the path is referencing a camel route\n */\n static isCamelRoute(path: string): boolean {\n return (\n path.startsWith(\"/restServices\") && !path.startsWith(\"/restServices/ui\")\n );\n }\n\n /**\n */\n static checkAbsoluteUrl(href: string): boolean {\n const checkAbsolute = new RegExp(\"^(?:[a-z]+:)?//\", \"i\");\n return checkAbsolute.test(href);\n }\n\n // Check if url is relative (not checking for absolute urls with same domain)\n /**\n */\n get isExternal(): boolean {\n return Href.checkAbsoluteUrl(this.path);\n }\n\n /**\n * Retrieve the relative path part of a href string, e.g. https://www.beinformed.com/BeInformed/tab/view?q=url => /tab/view\n */\n static getPathFromString(href: string): string {\n const decodedHref = decodeURI(href);\n\n const hrefNoHash = decodedHref.includes(\"#\")\n ? decodedHref.substr(0, decodedHref.indexOf(\"#\"))\n : decodedHref;\n\n return hrefNoHash.includes(\"?\") ? hrefNoHash.split(\"?\")[0] : hrefNoHash;\n }\n\n /**\n * Retrieve hash of href string\n */\n static getHashFromString(href: string = \"\"): string {\n return href.includes(\"#\") ? href.substr(href.indexOf(\"#\") + 1) : \"\";\n }\n\n /**\n * Add a parameter for each parameter found in the querystring of an URL string, e.g. https://www.beinformed.com?q=url => q=url\n */\n addParametersFromString(href: string): Href {\n if (href.includes(\"?\")) {\n href\n .split(\"?\")[1]\n .split(\"&\")\n .forEach((param) => {\n const paramFromString = Parameter.fromString(param);\n if (paramFromString) {\n this.setParameter(\n paramFromString.name,\n paramFromString.value,\n paramFromString.prefix,\n );\n }\n });\n }\n\n return this;\n }\n\n /**\n * Add a querystring parameter to the parameter collection of this Href, skips parameters that have a value of null\n */\n addParameter(name: string, value: ?string, prefix: ?string): Href {\n if (value !== null) {\n this.removeParameter(name, prefix);\n this._parameters.push(new Parameter(prefix, name, value));\n }\n\n return this;\n }\n\n /**\n * Adds or overwrites a parameter when it exists and value is not null.\n * Removes the parameter when the value is null\n */\n setParameter(name: string, value: ?string, prefix: ?string): Href {\n if (value === null) {\n this.removeParameter(name, prefix);\n } else {\n this.addParameter(name, value, prefix);\n }\n\n return this;\n }\n\n /**\n * Retrieve a parameter by it's name and (optionally) prefix\n */\n getParameter(name: string, prefix: ?string): ?Parameter {\n return this._parameters.find(\n (param) => param.prefix === prefix && param.name === name,\n );\n }\n\n /**\n */\n hasParameter(name: string, prefix: ?string): boolean {\n return this.getParameter(name, prefix) !== undefined;\n }\n\n /**\n * Get request method\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this._method;\n }\n\n /**\n * Set request method\n */\n set method(method: $Keys<typeof HTTP_METHODS>) {\n this._method = method || HTTP_METHODS.GET;\n }\n\n /**\n * Retrieve all paremters\n */\n get parameters(): Array<Parameter> {\n return this._parameters;\n }\n\n /**\n * Replace parameters of Href\n */\n set parameters(parameters: Array<Parameter>) {\n this._parameters = parameters;\n }\n\n /**\n * Remove a parameter from the parameter collection\n */\n removeParameter(name: string, prefix: ?string, value: ?string): Href {\n if (value !== undefined) {\n const valueToRemove = value;\n\n this._parameters = this._parameters.map((param) => {\n if (param.prefix === prefix && param.name === name) {\n const newValue = param.value\n ?.split(\",\")\n .filter((val) => val !== valueToRemove)\n .join(\",\");\n return new Parameter(param.prefix, param.name, newValue);\n }\n return param;\n });\n } else {\n this._parameters = this._parameters.filter(\n (param) => param.prefix !== prefix || param.name !== name,\n );\n }\n\n return this;\n }\n\n /**\n * Get the parameters as a querystring, e.g. param1=value1&param2=value2, optionally with prefix\n */\n getQuerystring(withPrefix: boolean = false): string {\n return this.parameters\n .filter((param) => param.value != null && param.value !== \"\")\n .map((param) => param.toQuerystring(withPrefix))\n .join(\"&\");\n }\n\n /**\n * Retrieve a querystring that only contains parameter that can be send to the modular ui, parameters are filtered by prefix\n */\n getQuerystringForModularUI(prefix: string = \"\"): string {\n return this.parameters\n .filter(\n (param) =>\n param.isModUIParameter &&\n (!prefix || !param.prefix || param.prefix === prefix) &&\n param.value != null,\n )\n .map((param) => param.toQuerystring(false))\n .join(\"&\");\n }\n\n /**\n * Retrieve all parameters from the parameter collection in a querystring style name1=value1&name2=value2, without the prefix\n */\n get querystring(): string {\n return this.getQuerystring(false);\n }\n\n /**\n * Set the path of the Href, the part before the querystring question mark\n */\n set path(path: string) {\n this._path = path;\n }\n\n /**\n * Retrieve the path\n */\n get path(): string {\n return this._path || \"\";\n }\n\n /**\n * Set hash\n */\n set hash(hash: string) {\n this._hash = hash;\n }\n\n /**\n * Retrieve hash\n */\n get hash(): string {\n return this._hash;\n }\n\n /**\n */\n set state(state: any) {\n this._state = state;\n }\n\n /**\n */\n get state(): any {\n return this._state;\n }\n\n /**\n */\n setState(state: any): Href {\n this.state = state;\n\n return this;\n }\n\n /**\n * Set resourctype\n */\n set resourcetype(resourcetype: string) {\n this._resourcetype = resourcetype;\n }\n\n /**\n * Retrieve resourceType\n */\n get resourcetype(): string {\n return this._resourcetype;\n }\n\n /**\n * Retrieve the path combined with the base path (context-path) of the application, e.g. /BeInformed\n */\n get absolutepath(): string {\n if (this.isExternal) {\n return this.path;\n }\n\n return getBasePath() + this.path;\n }\n\n /**\n * Retrieves the combination of the path and the querystring\n */\n get href(): string {\n return this.querystring.length > 0\n ? [this.path, this.querystring].join(\"?\")\n : this.path;\n }\n\n /**\n * Getting the URL including the base path, querystring is prefixed\n */\n get absolutehref(): string {\n const querystring = this.getQuerystring(false);\n\n return querystring.length > 0\n ? [this.absolutepath, querystring].join(\"?\")\n : this.absolutepath;\n }\n\n /**\n * Getting the URL including the base path, the querystring is prefixed\n */\n get absolutehrefPrefixedQuerystring(): string {\n const querystring = this.getQuerystring(true);\n\n return querystring.length > 0\n ? [this.absolutepath, querystring].join(\"?\")\n : this.absolutepath;\n }\n\n /**\n * Checks if the URL starts within the given href\n */\n startsWith(href: Href | string): boolean {\n const thisPath = `${this.path}/`;\n const otherPath = href instanceof Href ? `${href.path}/` : href;\n\n return thisPath.startsWith(otherPath);\n }\n\n /**\n * Checks if the given Href equals this Href\n */\n equals(href: Href | string): boolean {\n if (href instanceof Href) {\n return this.path === href.path;\n }\n\n return this.path === href;\n }\n\n /**\n */\n equalsWithParameters(href: Href): boolean {\n if (!this.equals(href)) {\n return false;\n }\n\n if (href instanceof Href) {\n if (this.parameters.length !== href.parameters.length) {\n return false;\n }\n\n if (this.parameters.length === 0 && href.parameters.length === 0) {\n return true;\n }\n\n const thisParams = this.parameters.map((param) => param.toString());\n\n return href.parameters.every((param) =>\n thisParams.includes(param.toString()),\n );\n }\n\n throw new IllegalArgumentException(`${href} is not an instance of Href`);\n }\n\n /**\n * Indicates if the link is a content link\n */\n get isContent(): boolean {\n return this.absolutepath.startsWith(`${getBasePath()}${CONTENT_PATH}`);\n }\n\n /**\n */\n getReferenceHash(): ?number {\n return this._referenceHash;\n }\n\n /**\n */\n setReferenceHash(referenceHash: number) {\n this._referenceHash = referenceHash;\n }\n\n /**\n * Returns a complete url from the Href\n */\n toString(): string {\n return this.href;\n }\n\n /**\n */\n toLocation(): LocationShape {\n return {\n pathname: this.path,\n search: this.querystring.length > 0 ? `?${this.querystring}` : \"\",\n hash: this.hash.length > 0 ? `#${this.hash}` : \"\",\n state: this.state,\n };\n }\n}\n\nexport default Href;\n"],"mappings":";;;;;;AACA,SAASA,WAAW,EAAEC,YAAY,EAAEC,YAAY,QAAQ,iBAAiB;AAEzE,OAAOC,SAAS,MAAM,wBAAwB;AAC9C,SAASC,wBAAwB,QAAQ,kBAAkB;AAgB3D;AACA;AACA;AACA,MAAMC,IAAI,CAAC;EAST;AACF;AACA;EACEC,WAAWA,CAACC,IAAgB,EAAEC,YAAqB,EAAE;IAAAC,eAAA,gBAXrC,EAAE;IAAAA,eAAA,gBACF,EAAE;IAAAA,eAAA,sBACc,EAAE;IAAAA,eAAA,wBACV,EAAE;IAAAA,eAAA,kBACYR,YAAY,CAACS,GAAG;IAAAD,eAAA,iBACxC,IAAI;IAAAA,eAAA;IAOhB,IAAI,CAACD,YAAY,GAAGA,YAAY,IAAI,EAAE;IAEtC,IAAID,IAAI,YAAYF,IAAI,EAAE;MACxB,IAAI,CAACM,WAAW,CAACJ,IAAI,CAAC;IACxB,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MACnC,IAAI,CAACK,aAAa,CAACL,IAAI,CAAC;IAC1B,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MACnC,IAAI,CAACM,uBAAuB,CAACN,IAAI,CAAC;IACpC;EACF;;EAEA;AACF;AACA;EACEI,WAAWA,CAACJ,IAAU,EAAE;IACtB,IAAI,CAACO,IAAI,GAAGP,IAAI,CAACO,IAAI;IACrB,IAAI,CAACC,UAAU,GAAGR,IAAI,CAACQ,UAAU;IACjC,IAAI,CAACC,IAAI,GAAGT,IAAI,CAACS,IAAI;IACrB,IAAI,CAACC,KAAK,GAAGV,IAAI,CAACU,KAAK;EACzB;;EAEA;AACF;EACEJ,uBAAuBA,CAACN,IAAgC,EAAE;IACxD,IAAI,OAAOA,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE;MACxC,IAAI,CAACO,IAAI,GAAGP,IAAI,CAACW,QAAQ;IAC3B,CAAC,MAAM,IAAI,OAAOX,IAAI,CAACY,KAAK,KAAK,QAAQ,EAAE;MACzC,IAAI,CAACL,IAAI,GAAGP,IAAI,CAACY,KAAK;IACxB;IAEA,IAAIZ,IAAI,CAACa,MAAM,EAAE;MACf,IAAI,CAACC,uBAAuB,CAACd,IAAI,CAACa,MAAM,CAAC;IAC3C,CAAC,MAAM,IAAIE,KAAK,CAACC,OAAO,CAAChB,IAAI,CAACiB,WAAW,CAAC,EAAE;MAAA,IAAAC,QAAA;MAC1C;MACAC,oBAAA,CAAAD,QAAA,GAAAlB,IAAI,CAACiB,WAAW,EAAAG,IAAA,CAAAF,QAAA,EAAMG,KAAgB,IACpC,IAAI,CAACC,YAAY,CAACD,KAAK,CAACE,KAAK,EAAEF,KAAK,CAACG,MAAM,EAAEH,KAAK,CAACI,OAAO,CAC5D,CAAC;IACH;IAEA,IAAIzB,IAAI,CAACS,IAAI,EAAE;MACb,IAAI,CAACA,IAAI,GAAGX,IAAI,CAAC4B,iBAAiB,CAAC1B,IAAI,CAACS,IAAI,CAAC;IAC/C,CAAC,MAAM,IAAI,OAAOT,IAAI,CAAC2B,KAAK,KAAK,QAAQ,EAAE;MACzC,IAAI,CAAClB,IAAI,GAAGT,IAAI,CAAC2B,KAAK;IACxB;IAEA,IAAI3B,IAAI,CAACU,KAAK,EAAE;MACd,IAAI,CAACA,KAAK,GAAGV,IAAI,CAACU,KAAK,IAAI,IAAI;IACjC,CAAC,MAAM,IAAI,OAAOV,IAAI,CAAC4B,MAAM,KAAK,QAAQ,EAAE;MAC1C,IAAI,CAAClB,KAAK,GAAGV,IAAI,CAAC4B,MAAM;IAC1B;EACF;;EAEA;AACF;AACA;EACEvB,aAAaA,CAACL,IAAY,EAAE;IAC1B,IAAI,CAACO,IAAI,GAAGT,IAAI,CAAC+B,iBAAiB,CAAC7B,IAAI,CAAC;IACxC,IAAI,CAACc,uBAAuB,CAACd,IAAI,CAAC;IAClC,IAAI,CAACS,IAAI,GAAGX,IAAI,CAAC4B,iBAAiB,CAAC1B,IAAI,CAAC;EAC1C;;EAEA;AACF;EACE,IAAI8B,gBAAgBA,CAAA,EAAY;IAAA,IAAAC,SAAA;IAC9B,OAAOC,yBAAA,CAAAD,SAAA,OAAI,CAACnB,KAAK,EAAAQ,IAAA,CAAAW,SAAA,EAAU,kBAAkB,CAAC;EAChD;;EAEA;AACF;AACA;EACE,OAAOE,YAAYA,CAAC1B,IAAY,EAAW;IACzC,OACE2B,2BAAA,CAAA3B,IAAI,EAAAa,IAAA,CAAJb,IAAI,EAAY,eAAe,CAAC,IAAI,CAAC2B,2BAAA,CAAA3B,IAAI,EAAAa,IAAA,CAAJb,IAAI,EAAY,kBAAkB,CAAC;EAE5E;;EAEA;AACF;EACE,OAAO4B,gBAAgBA,CAACnC,IAAY,EAAW;IAC7C,MAAMoC,aAAa,GAAG,IAAIC,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxD,OAAOD,aAAa,CAACE,IAAI,CAACtC,IAAI,CAAC;EACjC;;EAEA;EACA;AACF;EACE,IAAIuC,UAAUA,CAAA,EAAY;IACxB,OAAOzC,IAAI,CAACqC,gBAAgB,CAAC,IAAI,CAAC5B,IAAI,CAAC;EACzC;;EAEA;AACF;AACA;EACE,OAAOsB,iBAAiBA,CAAC7B,IAAY,EAAU;IAC7C,MAAMwC,WAAW,GAAGC,SAAS,CAACzC,IAAI,CAAC;IAEnC,MAAM0C,UAAU,GAAGV,yBAAA,CAAAQ,WAAW,EAAApB,IAAA,CAAXoB,WAAW,EAAU,GAAG,CAAC,GACxCA,WAAW,CAACG,MAAM,CAAC,CAAC,EAAEH,WAAW,CAACI,OAAO,CAAC,GAAG,CAAC,CAAC,GAC/CJ,WAAW;IAEf,OAAOR,yBAAA,CAAAU,UAAU,EAAAtB,IAAA,CAAVsB,UAAU,EAAU,GAAG,CAAC,GAAGA,UAAU,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAGH,UAAU;EACzE;;EAEA;AACF;AACA;EACE,OAAOhB,iBAAiBA,CAAA,EAA4B;IAAA,IAA3B1B,IAAY,GAAA8C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IACxC,OAAOd,yBAAA,CAAAhC,IAAI,EAAAoB,IAAA,CAAJpB,IAAI,EAAU,GAAG,CAAC,GAAGA,IAAI,CAAC2C,MAAM,CAAC3C,IAAI,CAAC4C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;EACrE;;EAEA;AACF;AACA;EACE9B,uBAAuBA,CAACd,IAAY,EAAQ;IAC1C,IAAIgC,yBAAA,CAAAhC,IAAI,EAAAoB,IAAA,CAAJpB,IAAI,EAAU,GAAG,CAAC,EAAE;MACtBA,IAAI,CACD6C,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACbA,KAAK,CAAC,GAAG,CAAC,CACVI,OAAO,CAAE5B,KAAK,IAAK;QAClB,MAAM6B,eAAe,GAAGtD,SAAS,CAACuD,UAAU,CAAC9B,KAAK,CAAC;QACnD,IAAI6B,eAAe,EAAE;UACnB,IAAI,CAACE,YAAY,CACfF,eAAe,CAACG,IAAI,EACpBH,eAAe,CAACI,KAAK,EACrBJ,eAAe,CAACK,MAClB,CAAC;QACH;MACF,CAAC,CAAC;IACN;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEjC,YAAYA,CAAC+B,IAAY,EAAEC,KAAc,EAAEC,MAAe,EAAQ;IAChE,IAAID,KAAK,KAAK,IAAI,EAAE;MAClB,IAAI,CAACE,eAAe,CAACH,IAAI,EAAEE,MAAM,CAAC;MAClC,IAAI,CAACtC,WAAW,CAACwC,IAAI,CAAC,IAAI7D,SAAS,CAAC2D,MAAM,EAAEF,IAAI,EAAEC,KAAK,CAAC,CAAC;IAC3D;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;EACEF,YAAYA,CAACC,IAAY,EAAEC,KAAc,EAAEC,MAAe,EAAQ;IAChE,IAAID,KAAK,KAAK,IAAI,EAAE;MAClB,IAAI,CAACE,eAAe,CAACH,IAAI,EAAEE,MAAM,CAAC;IACpC,CAAC,MAAM;MACL,IAAI,CAACjC,YAAY,CAAC+B,IAAI,EAAEC,KAAK,EAAEC,MAAM,CAAC;IACxC;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEG,YAAYA,CAACL,IAAY,EAAEE,MAAe,EAAc;IAAA,IAAAI,SAAA;IACtD,OAAOC,qBAAA,CAAAD,SAAA,OAAI,CAAC1C,WAAW,EAAAG,IAAA,CAAAuC,SAAA,EACpBtC,KAAK,IAAKA,KAAK,CAACkC,MAAM,KAAKA,MAAM,IAAIlC,KAAK,CAACgC,IAAI,KAAKA,IACvD,CAAC;EACH;;EAEA;AACF;EACEQ,YAAYA,CAACR,IAAY,EAAEE,MAAe,EAAW;IACnD,OAAO,IAAI,CAACG,YAAY,CAACL,IAAI,EAAEE,MAAM,CAAC,KAAKP,SAAS;EACtD;;EAEA;AACF;AACA;EACE,IAAIc,MAAMA,CAAA,EAA+B;IACvC,OAAO,IAAI,CAACC,OAAO;EACrB;;EAEA;AACF;AACA;EACE,IAAID,MAAMA,CAACA,MAAkC,EAAE;IAC7C,IAAI,CAACC,OAAO,GAAGD,MAAM,IAAIpE,YAAY,CAACS,GAAG;EAC3C;;EAEA;AACF;AACA;EACE,IAAIK,UAAUA,CAAA,EAAqB;IACjC,OAAO,IAAI,CAACS,WAAW;EACzB;;EAEA;AACF;AACA;EACE,IAAIT,UAAUA,CAACA,UAA4B,EAAE;IAC3C,IAAI,CAACS,WAAW,GAAGT,UAAU;EAC/B;;EAEA;AACF;AACA;EACEgD,eAAeA,CAACH,IAAY,EAAEE,MAAe,EAAED,KAAc,EAAQ;IACnE,IAAIA,KAAK,KAAKN,SAAS,EAAE;MAAA,IAAAgB,SAAA;MACvB,MAAMC,aAAa,GAAGX,KAAK;MAE3B,IAAI,CAACrC,WAAW,GAAGE,oBAAA,CAAA6C,SAAA,OAAI,CAAC/C,WAAW,EAAAG,IAAA,CAAA4C,SAAA,EAAM3C,KAAK,IAAK;QACjD,IAAIA,KAAK,CAACkC,MAAM,KAAKA,MAAM,IAAIlC,KAAK,CAACgC,IAAI,KAAKA,IAAI,EAAE;UAClD,MAAMa,QAAQ,GAAG7C,KAAK,CAACiC,KAAK,EACxBT,KAAK,CAAC,GAAG,CAAC,CACXsB,MAAM,CAAEC,GAAG,IAAKA,GAAG,KAAKH,aAAa,CAAC,CACtCI,IAAI,CAAC,GAAG,CAAC;UACZ,OAAO,IAAIzE,SAAS,CAACyB,KAAK,CAACkC,MAAM,EAAElC,KAAK,CAACgC,IAAI,EAAEa,QAAQ,CAAC;QAC1D;QACA,OAAO7C,KAAK;MACd,CAAC,CAAC;IACJ,CAAC,MAAM;MAAA,IAAAiD,SAAA;MACL,IAAI,CAACrD,WAAW,GAAGsD,uBAAA,CAAAD,SAAA,OAAI,CAACrD,WAAW,EAAAG,IAAA,CAAAkD,SAAA,EAChCjD,KAAK,IAAKA,KAAK,CAACkC,MAAM,KAAKA,MAAM,IAAIlC,KAAK,CAACgC,IAAI,KAAKA,IACvD,CAAC;IACH;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEmB,cAAcA,CAAA,EAAsC;IAAA,IAAAC,SAAA,EAAAC,SAAA;IAAA,IAArCC,UAAmB,GAAA7B,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;IACxC,OAAO3B,oBAAA,CAAAsD,SAAA,GAAAF,uBAAA,CAAAG,SAAA,OAAI,CAAClE,UAAU,EAAAY,IAAA,CAAAsD,SAAA,EACXrD,KAAK,IAAKA,KAAK,CAACiC,KAAK,IAAI,IAAI,IAAIjC,KAAK,CAACiC,KAAK,KAAK,EAAE,CAAC,EAAAlC,IAAA,CAAAqD,SAAA,EACvDpD,KAAK,IAAKA,KAAK,CAACuD,aAAa,CAACD,UAAU,CAAC,CAAC,CAC/CN,IAAI,CAAC,GAAG,CAAC;EACd;;EAEA;AACF;AACA;EACEQ,0BAA0BA,CAAA,EAA8B;IAAA,IAAAC,SAAA,EAAAC,SAAA;IAAA,IAA7BxB,MAAc,GAAAT,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;IAC5C,OAAO3B,oBAAA,CAAA2D,SAAA,GAAAP,uBAAA,CAAAQ,SAAA,OAAI,CAACvE,UAAU,EAAAY,IAAA,CAAA2D,SAAA,EAEjB1D,KAAK,IACJA,KAAK,CAAC2D,gBAAgB,KACrB,CAACzB,MAAM,IAAI,CAAClC,KAAK,CAACkC,MAAM,IAAIlC,KAAK,CAACkC,MAAM,KAAKA,MAAM,CAAC,IACrDlC,KAAK,CAACiC,KAAK,IAAI,IACnB,CAAC,EAAAlC,IAAA,CAAA0D,SAAA,EACKzD,KAAK,IAAKA,KAAK,CAACuD,aAAa,CAAC,KAAK,CAAC,CAAC,CAC1CP,IAAI,CAAC,GAAG,CAAC;EACd;;EAEA;AACF;AACA;EACE,IAAIY,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACT,cAAc,CAAC,KAAK,CAAC;EACnC;;EAEA;AACF;AACA;EACE,IAAIjE,IAAIA,CAACA,IAAY,EAAE;IACrB,IAAI,CAACK,KAAK,GAAGL,IAAI;EACnB;;EAEA;AACF;AACA;EACE,IAAIA,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACK,KAAK,IAAI,EAAE;EACzB;;EAEA;AACF;AACA;EACE,IAAIH,IAAIA,CAACA,IAAY,EAAE;IACrB,IAAI,CAACkB,KAAK,GAAGlB,IAAI;EACnB;;EAEA;AACF;AACA;EACE,IAAIA,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACkB,KAAK;EACnB;;EAEA;AACF;EACE,IAAIjB,KAAKA,CAACA,KAAU,EAAE;IACpB,IAAI,CAACkB,MAAM,GAAGlB,KAAK;EACrB;;EAEA;AACF;EACE,IAAIA,KAAKA,CAAA,EAAQ;IACf,OAAO,IAAI,CAACkB,MAAM;EACpB;;EAEA;AACF;EACEsD,QAAQA,CAACxE,KAAU,EAAQ;IACzB,IAAI,CAACA,KAAK,GAAGA,KAAK;IAElB,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACE,IAAIT,YAAYA,CAACA,YAAoB,EAAE;IACrC,IAAI,CAACkF,aAAa,GAAGlF,YAAY;EACnC;;EAEA;AACF;AACA;EACE,IAAIA,YAAYA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACkF,aAAa;EAC3B;;EAEA;AACF;AACA;EACE,IAAIC,YAAYA,CAAA,EAAW;IACzB,IAAI,IAAI,CAAC7C,UAAU,EAAE;MACnB,OAAO,IAAI,CAAChC,IAAI;IAClB;IAEA,OAAOd,WAAW,CAAC,CAAC,GAAG,IAAI,CAACc,IAAI;EAClC;;EAEA;AACF;AACA;EACE,IAAIP,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACiF,WAAW,CAAClC,MAAM,GAAG,CAAC,GAC9B,CAAC,IAAI,CAACxC,IAAI,EAAE,IAAI,CAAC0E,WAAW,CAAC,CAACZ,IAAI,CAAC,GAAG,CAAC,GACvC,IAAI,CAAC9D,IAAI;EACf;;EAEA;AACF;AACA;EACE,IAAI8E,YAAYA,CAAA,EAAW;IACzB,MAAMJ,WAAW,GAAG,IAAI,CAACT,cAAc,CAAC,KAAK,CAAC;IAE9C,OAAOS,WAAW,CAAClC,MAAM,GAAG,CAAC,GACzB,CAAC,IAAI,CAACqC,YAAY,EAAEH,WAAW,CAAC,CAACZ,IAAI,CAAC,GAAG,CAAC,GAC1C,IAAI,CAACe,YAAY;EACvB;;EAEA;AACF;AACA;EACE,IAAIE,+BAA+BA,CAAA,EAAW;IAC5C,MAAML,WAAW,GAAG,IAAI,CAACT,cAAc,CAAC,IAAI,CAAC;IAE7C,OAAOS,WAAW,CAAClC,MAAM,GAAG,CAAC,GACzB,CAAC,IAAI,CAACqC,YAAY,EAAEH,WAAW,CAAC,CAACZ,IAAI,CAAC,GAAG,CAAC,GAC1C,IAAI,CAACe,YAAY;EACvB;;EAEA;AACF;AACA;EACEG,UAAUA,CAACvF,IAAmB,EAAW;IACvC,MAAMwF,QAAQ,GAAI,GAAE,IAAI,CAACjF,IAAK,GAAE;IAChC,MAAMkF,SAAS,GAAGzF,IAAI,YAAYF,IAAI,GAAI,GAAEE,IAAI,CAACO,IAAK,GAAE,GAAGP,IAAI;IAE/D,OAAOkC,2BAAA,CAAAsD,QAAQ,EAAApE,IAAA,CAARoE,QAAQ,EAAYC,SAAS,CAAC;EACvC;;EAEA;AACF;AACA;EACEC,MAAMA,CAAC1F,IAAmB,EAAW;IACnC,IAAIA,IAAI,YAAYF,IAAI,EAAE;MACxB,OAAO,IAAI,CAACS,IAAI,KAAKP,IAAI,CAACO,IAAI;IAChC;IAEA,OAAO,IAAI,CAACA,IAAI,KAAKP,IAAI;EAC3B;;EAEA;AACF;EACE2F,oBAAoBA,CAAC3F,IAAU,EAAW;IACxC,IAAI,CAAC,IAAI,CAAC0F,MAAM,CAAC1F,IAAI,CAAC,EAAE;MACtB,OAAO,KAAK;IACd;IAEA,IAAIA,IAAI,YAAYF,IAAI,EAAE;MAAA,IAAA8F,UAAA;MACxB,IAAI,IAAI,CAACpF,UAAU,CAACuC,MAAM,KAAK/C,IAAI,CAACQ,UAAU,CAACuC,MAAM,EAAE;QACrD,OAAO,KAAK;MACd;MAEA,IAAI,IAAI,CAACvC,UAAU,CAACuC,MAAM,KAAK,CAAC,IAAI/C,IAAI,CAACQ,UAAU,CAACuC,MAAM,KAAK,CAAC,EAAE;QAChE,OAAO,IAAI;MACb;MAEA,MAAM8C,UAAU,GAAG1E,oBAAA,CAAAyE,UAAA,OAAI,CAACpF,UAAU,EAAAY,IAAA,CAAAwE,UAAA,EAAMvE,KAAK,IAAKA,KAAK,CAACyE,QAAQ,CAAC,CAAC,CAAC;MAEnE,OAAO9F,IAAI,CAACQ,UAAU,CAACuF,KAAK,CAAE1E,KAAK,IACjCW,yBAAA,CAAA6D,UAAU,EAAAzE,IAAA,CAAVyE,UAAU,EAAUxE,KAAK,CAACyE,QAAQ,CAAC,CAAC,CACtC,CAAC;IACH;IAEA,MAAM,IAAIjG,wBAAwB,CAAE,GAAEG,IAAK,6BAA4B,CAAC;EAC1E;;EAEA;AACF;AACA;EACE,IAAIgG,SAASA,CAAA,EAAY;IAAA,IAAAC,UAAA;IACvB,OAAO/D,2BAAA,CAAA+D,UAAA,OAAI,CAACb,YAAY,EAAAhE,IAAA,CAAA6E,UAAA,EAAa,GAAExG,WAAW,CAAC,CAAE,GAAEE,YAAa,EAAC,CAAC;EACxE;;EAEA;AACF;EACEuG,gBAAgBA,CAAA,EAAY;IAC1B,OAAO,IAAI,CAACC,cAAc;EAC5B;;EAEA;AACF;EACEC,gBAAgBA,CAACC,aAAqB,EAAE;IACtC,IAAI,CAACF,cAAc,GAAGE,aAAa;EACrC;;EAEA;AACF;AACA;EACEP,QAAQA,CAAA,EAAW;IACjB,OAAO,IAAI,CAAC9F,IAAI;EAClB;;EAEA;AACF;EACEsG,UAAUA,CAAA,EAAkB;IAC1B,OAAO;MACL3F,QAAQ,EAAE,IAAI,CAACJ,IAAI;MACnBM,MAAM,EAAE,IAAI,CAACoE,WAAW,CAAClC,MAAM,GAAG,CAAC,GAAI,IAAG,IAAI,CAACkC,WAAY,EAAC,GAAG,EAAE;MACjExE,IAAI,EAAE,IAAI,CAACA,IAAI,CAACsC,MAAM,GAAG,CAAC,GAAI,IAAG,IAAI,CAACtC,IAAK,EAAC,GAAG,EAAE;MACjDC,KAAK,EAAE,IAAI,CAACA;IACd,CAAC;EACH;AACF;AAEA,eAAeZ,IAAI"}
@@ -13,12 +13,10 @@
13
13
  } else if (contextPath) {
14
14
  __webpack_public_path__ = `${contextPath}/`; // NOSONAR
15
15
  }
16
-
17
16
  const nonce = dataElement.getAttribute("data-app-nonce");
18
17
  if (nonce) {
19
18
  __webpack_nonce__ = nonce; // NOSONAR
20
19
  }
21
20
  })();
22
-
23
21
  export {};
24
22
  //# sourceMappingURL=contextPath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contextPath.js","names":["x","dataElement","document","querySelector","Error","contextPath","getAttribute","window","filePath","__webpack_public_path__","nonce","__webpack_nonce__"],"sources":["../../src/react-client/contextPath.js"],"sourcesContent":["// @flow\n(function x() {\n const dataElement = document.querySelector(\n 'script[type=\"application/json\"][data-app-state=\"app-json\"]',\n );\n if (!dataElement) {\n throw new Error(\n \"Error finding script with attribute app-json to retrieve context path\",\n );\n }\n\n const contextPath = dataElement.getAttribute(\"data-app-contextpath\");\n if (contextPath) {\n window.contextPath = contextPath;\n }\n\n const filePath = dataElement.getAttribute(\"data-app-filepath\");\n if (filePath && filePath !== \"{FILEPATH}\") {\n __webpack_public_path__ = `${filePath}/`; // NOSONAR\n } else if (contextPath) {\n __webpack_public_path__ = `${contextPath}/`; // NOSONAR\n }\n\n const nonce = dataElement.getAttribute(\"data-app-nonce\");\n if (nonce) {\n __webpack_nonce__ = nonce; // NOSONAR\n }\n})();\n\nexport {};\n"],"mappings":"AACA,CAAC,SAASA,CAACA,CAAA,EAAG;EACZ,MAAMC,WAAW,GAAGC,QAAQ,CAACC,aAAa,CACxC,4DACF,CAAC;EACD,IAAI,CAACF,WAAW,EAAE;IAChB,MAAM,IAAIG,KAAK,CACb,uEACF,CAAC;EACH;EAEA,MAAMC,WAAW,GAAGJ,WAAW,CAACK,YAAY,CAAC,sBAAsB,CAAC;EACpE,IAAID,WAAW,EAAE;IACfE,MAAM,CAACF,WAAW,GAAGA,WAAW;EAClC;EAEA,MAAMG,QAAQ,GAAGP,WAAW,CAACK,YAAY,CAAC,mBAAmB,CAAC;EAC9D,IAAIE,QAAQ,IAAIA,QAAQ,KAAK,YAAY,EAAE;IACzCC,uBAAuB,GAAI,GAAED,QAAS,GAAE,CAAC,CAAC;EAC5C,CAAC,MAAM,IAAIH,WAAW,EAAE;IACtBI,uBAAuB,GAAI,GAAEJ,WAAY,GAAE,CAAC,CAAC;EAC/C;;EAEA,MAAMK,KAAK,GAAGT,WAAW,CAACK,YAAY,CAAC,gBAAgB,CAAC;EACxD,IAAII,KAAK,EAAE;IACTC,iBAAiB,GAAGD,KAAK,CAAC,CAAC;EAC7B;AACF,CAAC,EAAE,CAAC;;AAEJ"}
1
+ {"version":3,"file":"contextPath.js","names":["x","dataElement","document","querySelector","Error","contextPath","getAttribute","window","filePath","__webpack_public_path__","nonce","__webpack_nonce__"],"sources":["../../src/react-client/contextPath.js"],"sourcesContent":["// @flow\n(function x() {\n const dataElement = document.querySelector(\n 'script[type=\"application/json\"][data-app-state=\"app-json\"]',\n );\n if (!dataElement) {\n throw new Error(\n \"Error finding script with attribute app-json to retrieve context path\",\n );\n }\n\n const contextPath = dataElement.getAttribute(\"data-app-contextpath\");\n if (contextPath) {\n window.contextPath = contextPath;\n }\n\n const filePath = dataElement.getAttribute(\"data-app-filepath\");\n if (filePath && filePath !== \"{FILEPATH}\") {\n __webpack_public_path__ = `${filePath}/`; // NOSONAR\n } else if (contextPath) {\n __webpack_public_path__ = `${contextPath}/`; // NOSONAR\n }\n\n const nonce = dataElement.getAttribute(\"data-app-nonce\");\n if (nonce) {\n __webpack_nonce__ = nonce; // NOSONAR\n }\n})();\n\nexport {};\n"],"mappings":"AACA,CAAC,SAASA,CAACA,CAAA,EAAG;EACZ,MAAMC,WAAW,GAAGC,QAAQ,CAACC,aAAa,CACxC,4DACF,CAAC;EACD,IAAI,CAACF,WAAW,EAAE;IAChB,MAAM,IAAIG,KAAK,CACb,uEACF,CAAC;EACH;EAEA,MAAMC,WAAW,GAAGJ,WAAW,CAACK,YAAY,CAAC,sBAAsB,CAAC;EACpE,IAAID,WAAW,EAAE;IACfE,MAAM,CAACF,WAAW,GAAGA,WAAW;EAClC;EAEA,MAAMG,QAAQ,GAAGP,WAAW,CAACK,YAAY,CAAC,mBAAmB,CAAC;EAC9D,IAAIE,QAAQ,IAAIA,QAAQ,KAAK,YAAY,EAAE;IACzCC,uBAAuB,GAAI,GAAED,QAAS,GAAE,CAAC,CAAC;EAC5C,CAAC,MAAM,IAAIH,WAAW,EAAE;IACtBI,uBAAuB,GAAI,GAAEJ,WAAY,GAAE,CAAC,CAAC;EAC/C;EAEA,MAAMK,KAAK,GAAGT,WAAW,CAACK,YAAY,CAAC,gBAAgB,CAAC;EACxD,IAAII,KAAK,EAAE;IACTC,iBAAiB,GAAGD,KAAK,CAAC,CAAC;EAC7B;AACF,CAAC,EAAE,CAAC;AAEJ"}
@@ -33,7 +33,6 @@ const rehydratedValue = (stateKey, stateValue) => {
33
33
  if (Array.isArray(stateValue)) {
34
34
  return _mapInstanceProperty(stateValue).call(stateValue, stateItem => rehydrate(stateItem)); // NOSONAR
35
35
  }
36
-
37
36
  if (isModularUIModelData(stateValue)) {
38
37
  return recreateModel(stateValue);
39
38
  }
@@ -50,7 +49,6 @@ const rehydratedValue = (stateKey, stateValue) => {
50
49
  if (stateValue !== null && typeof stateValue === "object") {
51
50
  return rehydrate(stateValue); // NOSONAR
52
51
  }
53
-
54
52
  return stateValue;
55
53
  };
56
54
 
@@ -1 +1 @@
1
- {"version":3,"file":"rehydrate.js","names":["has","Locales","resolveModel","ModularUIResponse","recreateModel","data","modelData","rehydrate","Model","_context","model","childModels","_mapInstanceProperty","call","childModel","addChildModels","isModularUIModelData","rehydratedValue","stateKey","stateValue","Array","isArray","stateItem","locales","locale","noFurtherRehydration","_includesInstanceProperty","state","mappedState","_Object$keys","forEach"],"sources":["../../src/react-client/rehydrate.js"],"sourcesContent":["// @flow\nimport { has } from \"../utils/helpers/objects\";\nimport Locales from \"../i18n/Locales\";\n\nimport resolveModel from \"../models/resolveModel\";\n\nimport ModularUIResponse from \"../modularui/ModularUIResponse\";\n\n/**\n * Recreate a model from dehydrated data obtained after a server render.\n */\nconst recreateModel = (data: Object) => {\n const modelData = ModularUIResponse.rehydrate(data);\n\n const Model = resolveModel(modelData);\n\n if (Model) {\n const model = new Model(modelData);\n model.rehydrate(data);\n\n const childModels = data.childModels.map((childModel) =>\n recreateModel(childModel),\n );\n\n model.addChildModels(childModels);\n\n return model;\n }\n\n return data;\n};\n\n/**\n */\nconst isModularUIModelData = (data: any) =>\n data != null &&\n typeof data === \"object\" &&\n has(data, \"data\") &&\n has(data, \"contributions\");\n\n/**\n */\nconst rehydratedValue = (stateKey: string, stateValue: any) => {\n if (Array.isArray(stateValue)) {\n return stateValue.map((stateItem) => rehydrate(stateItem)); // NOSONAR\n }\n\n if (isModularUIModelData(stateValue)) {\n return recreateModel(stateValue);\n }\n\n if (\n stateKey === \"i18n\" &&\n has(stateValue, \"locales\") &&\n has(stateValue, \"locale\")\n ) {\n return {\n locales: Locales.rehydrate(stateValue.locales),\n locale: stateValue?.locale,\n };\n }\n\n const noFurtherRehydration = [\"preferences\", \"router\", \"progressindicator\"];\n if (noFurtherRehydration.includes(stateKey)) {\n return stateValue;\n }\n\n if (stateValue !== null && typeof stateValue === \"object\") {\n return rehydrate(stateValue); // NOSONAR\n }\n\n return stateValue;\n};\n\n/**\n * Maps dehydrated state to models that can be used to rehydrated the application.\n */\nconst rehydrate = (state: Object): { ... } => {\n const mappedState: { [string]: any } = {};\n\n Object.keys(state).forEach((stateKey) => {\n const stateValue = state[stateKey];\n mappedState[stateKey] = rehydratedValue(stateKey, stateValue);\n });\n\n return mappedState;\n};\n\nexport default rehydrate;\n"],"mappings":";;;AACA,SAASA,GAAG,QAAQ,0BAA0B;AAC9C,OAAOC,OAAO,MAAM,iBAAiB;AAErC,OAAOC,YAAY,MAAM,wBAAwB;AAEjD,OAAOC,iBAAiB,MAAM,gCAAgC;;AAE9D;AACA;AACA;AACA,MAAMC,aAAa,GAAIC,IAAY,IAAK;EACtC,MAAMC,SAAS,GAAGH,iBAAiB,CAACI,SAAS,CAACF,IAAI,CAAC;EAEnD,MAAMG,KAAK,GAAGN,YAAY,CAACI,SAAS,CAAC;EAErC,IAAIE,KAAK,EAAE;IAAA,IAAAC,QAAA;IACT,MAAMC,KAAK,GAAG,IAAIF,KAAK,CAACF,SAAS,CAAC;IAClCI,KAAK,CAACH,SAAS,CAACF,IAAI,CAAC;IAErB,MAAMM,WAAW,GAAGC,oBAAA,CAAAH,QAAA,GAAAJ,IAAI,CAACM,WAAW,EAAAE,IAAA,CAAAJ,QAAA,EAAMK,UAAU,IAClDV,aAAa,CAACU,UAAU,CAC1B,CAAC;IAEDJ,KAAK,CAACK,cAAc,CAACJ,WAAW,CAAC;IAEjC,OAAOD,KAAK;EACd;EAEA,OAAOL,IAAI;AACb,CAAC;;AAED;AACA;AACA,MAAMW,oBAAoB,GAAIX,IAAS,IACrCA,IAAI,IAAI,IAAI,IACZ,OAAOA,IAAI,KAAK,QAAQ,IACxBL,GAAG,CAACK,IAAI,EAAE,MAAM,CAAC,IACjBL,GAAG,CAACK,IAAI,EAAE,eAAe,CAAC;;AAE5B;AACA;AACA,MAAMY,eAAe,GAAGA,CAACC,QAAgB,EAAEC,UAAe,KAAK;EAC7D,IAAIC,KAAK,CAACC,OAAO,CAACF,UAAU,CAAC,EAAE;IAC7B,OAAOP,oBAAA,CAAAO,UAAU,EAAAN,IAAA,CAAVM,UAAU,EAAMG,SAAS,IAAKf,SAAS,CAACe,SAAS,CAAC,CAAC,CAAC,CAAC;EAC9D;;EAEA,IAAIN,oBAAoB,CAACG,UAAU,CAAC,EAAE;IACpC,OAAOf,aAAa,CAACe,UAAU,CAAC;EAClC;EAEA,IACED,QAAQ,KAAK,MAAM,IACnBlB,GAAG,CAACmB,UAAU,EAAE,SAAS,CAAC,IAC1BnB,GAAG,CAACmB,UAAU,EAAE,QAAQ,CAAC,EACzB;IACA,OAAO;MACLI,OAAO,EAAEtB,OAAO,CAACM,SAAS,CAACY,UAAU,CAACI,OAAO,CAAC;MAC9CC,MAAM,EAAEL,UAAU,EAAEK;IACtB,CAAC;EACH;EAEA,MAAMC,oBAAoB,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,mBAAmB,CAAC;EAC3E,IAAIC,yBAAA,CAAAD,oBAAoB,EAAAZ,IAAA,CAApBY,oBAAoB,EAAUP,QAAQ,CAAC,EAAE;IAC3C,OAAOC,UAAU;EACnB;EAEA,IAAIA,UAAU,KAAK,IAAI,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;IACzD,OAAOZ,SAAS,CAACY,UAAU,CAAC,CAAC,CAAC;EAChC;;EAEA,OAAOA,UAAU;AACnB,CAAC;;AAED;AACA;AACA;AACA,MAAMZ,SAAS,GAAIoB,KAAa,IAAc;EAC5C,MAAMC,WAA8B,GAAG,CAAC,CAAC;EAEzCC,YAAA,CAAYF,KAAK,CAAC,CAACG,OAAO,CAAEZ,QAAQ,IAAK;IACvC,MAAMC,UAAU,GAAGQ,KAAK,CAACT,QAAQ,CAAC;IAClCU,WAAW,CAACV,QAAQ,CAAC,GAAGD,eAAe,CAACC,QAAQ,EAAEC,UAAU,CAAC;EAC/D,CAAC,CAAC;EAEF,OAAOS,WAAW;AACpB,CAAC;AAED,eAAerB,SAAS"}
1
+ {"version":3,"file":"rehydrate.js","names":["has","Locales","resolveModel","ModularUIResponse","recreateModel","data","modelData","rehydrate","Model","_context","model","childModels","_mapInstanceProperty","call","childModel","addChildModels","isModularUIModelData","rehydratedValue","stateKey","stateValue","Array","isArray","stateItem","locales","locale","noFurtherRehydration","_includesInstanceProperty","state","mappedState","_Object$keys","forEach"],"sources":["../../src/react-client/rehydrate.js"],"sourcesContent":["// @flow\nimport { has } from \"../utils/helpers/objects\";\nimport Locales from \"../i18n/Locales\";\n\nimport resolveModel from \"../models/resolveModel\";\n\nimport ModularUIResponse from \"../modularui/ModularUIResponse\";\n\n/**\n * Recreate a model from dehydrated data obtained after a server render.\n */\nconst recreateModel = (data: Object) => {\n const modelData = ModularUIResponse.rehydrate(data);\n\n const Model = resolveModel(modelData);\n\n if (Model) {\n const model = new Model(modelData);\n model.rehydrate(data);\n\n const childModels = data.childModels.map((childModel) =>\n recreateModel(childModel),\n );\n\n model.addChildModels(childModels);\n\n return model;\n }\n\n return data;\n};\n\n/**\n */\nconst isModularUIModelData = (data: any) =>\n data != null &&\n typeof data === \"object\" &&\n has(data, \"data\") &&\n has(data, \"contributions\");\n\n/**\n */\nconst rehydratedValue = (stateKey: string, stateValue: any) => {\n if (Array.isArray(stateValue)) {\n return stateValue.map((stateItem) => rehydrate(stateItem)); // NOSONAR\n }\n\n if (isModularUIModelData(stateValue)) {\n return recreateModel(stateValue);\n }\n\n if (\n stateKey === \"i18n\" &&\n has(stateValue, \"locales\") &&\n has(stateValue, \"locale\")\n ) {\n return {\n locales: Locales.rehydrate(stateValue.locales),\n locale: stateValue?.locale,\n };\n }\n\n const noFurtherRehydration = [\"preferences\", \"router\", \"progressindicator\"];\n if (noFurtherRehydration.includes(stateKey)) {\n return stateValue;\n }\n\n if (stateValue !== null && typeof stateValue === \"object\") {\n return rehydrate(stateValue); // NOSONAR\n }\n\n return stateValue;\n};\n\n/**\n * Maps dehydrated state to models that can be used to rehydrated the application.\n */\nconst rehydrate = (state: Object): { ... } => {\n const mappedState: { [string]: any } = {};\n\n Object.keys(state).forEach((stateKey) => {\n const stateValue = state[stateKey];\n mappedState[stateKey] = rehydratedValue(stateKey, stateValue);\n });\n\n return mappedState;\n};\n\nexport default rehydrate;\n"],"mappings":";;;AACA,SAASA,GAAG,QAAQ,0BAA0B;AAC9C,OAAOC,OAAO,MAAM,iBAAiB;AAErC,OAAOC,YAAY,MAAM,wBAAwB;AAEjD,OAAOC,iBAAiB,MAAM,gCAAgC;;AAE9D;AACA;AACA;AACA,MAAMC,aAAa,GAAIC,IAAY,IAAK;EACtC,MAAMC,SAAS,GAAGH,iBAAiB,CAACI,SAAS,CAACF,IAAI,CAAC;EAEnD,MAAMG,KAAK,GAAGN,YAAY,CAACI,SAAS,CAAC;EAErC,IAAIE,KAAK,EAAE;IAAA,IAAAC,QAAA;IACT,MAAMC,KAAK,GAAG,IAAIF,KAAK,CAACF,SAAS,CAAC;IAClCI,KAAK,CAACH,SAAS,CAACF,IAAI,CAAC;IAErB,MAAMM,WAAW,GAAGC,oBAAA,CAAAH,QAAA,GAAAJ,IAAI,CAACM,WAAW,EAAAE,IAAA,CAAAJ,QAAA,EAAMK,UAAU,IAClDV,aAAa,CAACU,UAAU,CAC1B,CAAC;IAEDJ,KAAK,CAACK,cAAc,CAACJ,WAAW,CAAC;IAEjC,OAAOD,KAAK;EACd;EAEA,OAAOL,IAAI;AACb,CAAC;;AAED;AACA;AACA,MAAMW,oBAAoB,GAAIX,IAAS,IACrCA,IAAI,IAAI,IAAI,IACZ,OAAOA,IAAI,KAAK,QAAQ,IACxBL,GAAG,CAACK,IAAI,EAAE,MAAM,CAAC,IACjBL,GAAG,CAACK,IAAI,EAAE,eAAe,CAAC;;AAE5B;AACA;AACA,MAAMY,eAAe,GAAGA,CAACC,QAAgB,EAAEC,UAAe,KAAK;EAC7D,IAAIC,KAAK,CAACC,OAAO,CAACF,UAAU,CAAC,EAAE;IAC7B,OAAOP,oBAAA,CAAAO,UAAU,EAAAN,IAAA,CAAVM,UAAU,EAAMG,SAAS,IAAKf,SAAS,CAACe,SAAS,CAAC,CAAC,CAAC,CAAC;EAC9D;EAEA,IAAIN,oBAAoB,CAACG,UAAU,CAAC,EAAE;IACpC,OAAOf,aAAa,CAACe,UAAU,CAAC;EAClC;EAEA,IACED,QAAQ,KAAK,MAAM,IACnBlB,GAAG,CAACmB,UAAU,EAAE,SAAS,CAAC,IAC1BnB,GAAG,CAACmB,UAAU,EAAE,QAAQ,CAAC,EACzB;IACA,OAAO;MACLI,OAAO,EAAEtB,OAAO,CAACM,SAAS,CAACY,UAAU,CAACI,OAAO,CAAC;MAC9CC,MAAM,EAAEL,UAAU,EAAEK;IACtB,CAAC;EACH;EAEA,MAAMC,oBAAoB,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,mBAAmB,CAAC;EAC3E,IAAIC,yBAAA,CAAAD,oBAAoB,EAAAZ,IAAA,CAApBY,oBAAoB,EAAUP,QAAQ,CAAC,EAAE;IAC3C,OAAOC,UAAU;EACnB;EAEA,IAAIA,UAAU,KAAK,IAAI,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;IACzD,OAAOZ,SAAS,CAACY,UAAU,CAAC,CAAC,CAAC;EAChC;EAEA,OAAOA,UAAU;AACnB,CAAC;;AAED;AACA;AACA;AACA,MAAMZ,SAAS,GAAIoB,KAAa,IAAc;EAC5C,MAAMC,WAA8B,GAAG,CAAC,CAAC;EAEzCC,YAAA,CAAYF,KAAK,CAAC,CAACG,OAAO,CAAEZ,QAAQ,IAAK;IACvC,MAAMC,UAAU,GAAGQ,KAAK,CAACT,QAAQ,CAAC;IAClCU,WAAW,CAACV,QAAQ,CAAC,GAAGD,eAAe,CAACC,QAAQ,EAAEC,UAAU,CAAC;EAC/D,CAAC,CAAC;EAEF,OAAOS,WAAW;AACpB,CAAC;AAED,eAAerB,SAAS"}
@@ -2,6 +2,5 @@ import { getBasePath } from "../constants/Settings";
2
2
  (function x() {
3
3
  __webpack_public_path__ = `${getBasePath()}/`; // NOSONAR
4
4
  })();
5
-
6
5
  export {};
7
6
  //# sourceMappingURL=contextPath.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contextPath.js","names":["getBasePath","x","__webpack_public_path__"],"sources":["../../src/react-server/contextPath.js"],"sourcesContent":["// @flow\nimport { getBasePath } from \"../constants/Settings\";\n\n(function x() {\n __webpack_public_path__ = `${getBasePath()}/`; // NOSONAR\n})();\n\nexport {};\n"],"mappings":"AACA,SAASA,WAAW,QAAQ,uBAAuB;AAEnD,CAAC,SAASC,CAACA,CAAA,EAAG;EACZC,uBAAuB,GAAI,GAAEF,WAAW,CAAC,CAAE,GAAE,CAAC,CAAC;AACjD,CAAC,EAAE,CAAC;;AAEJ"}
1
+ {"version":3,"file":"contextPath.js","names":["getBasePath","x","__webpack_public_path__"],"sources":["../../src/react-server/contextPath.js"],"sourcesContent":["// @flow\nimport { getBasePath } from \"../constants/Settings\";\n\n(function x() {\n __webpack_public_path__ = `${getBasePath()}/`; // NOSONAR\n})();\n\nexport {};\n"],"mappings":"AACA,SAASA,WAAW,QAAQ,uBAAuB;AAEnD,CAAC,SAASC,CAACA,CAAA,EAAG;EACZC,uBAAuB,GAAI,GAAEF,WAAW,CAAC,CAAE,GAAE,CAAC,CAAC;AACjD,CAAC,EAAE,CAAC;AAEJ"}
@@ -51,7 +51,6 @@ class FileSizeConstraint {
51
51
  } else if (this.id === MAX_FILE_SIZE_ID) {
52
52
  return "Maximale bestandsgroote is ${max-filesize}"; // NOSONAR
53
53
  }
54
-
55
54
  return "";
56
55
  }
57
56
 
@@ -1 +1 @@
1
- {"version":3,"file":"FileSizeConstraint.js","names":["_fileSize","_interopRequireDefault","require","MAX_TOTAL_FILE_SIZE_ID","MAX_FILE_SIZE_ID","FileSizeConstraint","constructor","filesizeConstraint","_defineProperty2","default","_filesizeConstraint","id","isMaxTotal","fileSize","undefined","hasValidation","defaultMessage","filesize","human","maxTotalFileSize","parameters","validate","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/FileSizeConstraint.js"],"sourcesContent":["// @flow\nimport filesize from \"file-size\";\n\nimport type { IConstraintModel, FilesizeConstraintsType } from \"../../types\";\n\nconst MAX_TOTAL_FILE_SIZE_ID = \"Constraint.File.MaxTotalFileSize\";\nconst MAX_FILE_SIZE_ID = \"Constraint.File.MaxFileSize\";\n\n/**\n */\nclass FileSizeConstraint implements IConstraintModel {\n _filesizeConstraint: FilesizeConstraintsType;\n\n /**\n */\n constructor(filesizeConstraint: FilesizeConstraintsType) {\n this._filesizeConstraint = filesizeConstraint;\n }\n\n /**\n */\n get id(): string {\n if (this.filesizeConstraint.isMaxTotal) {\n return MAX_TOTAL_FILE_SIZE_ID;\n } else if (this.filesizeConstraint.fileSize !== undefined) {\n return MAX_FILE_SIZE_ID;\n }\n\n return \"\";\n }\n\n /**\n */\n get filesizeConstraint(): FilesizeConstraintsType {\n return this._filesizeConstraint;\n }\n\n /**\n */\n hasValidation(): boolean {\n return false;\n }\n\n /**\n */\n get defaultMessage(): string {\n if (this.id === MAX_TOTAL_FILE_SIZE_ID) {\n return \"{filesize-left} van {max-total-filesize} over van totaal toegestaan upload bestandsgrootte\"; // NOSONAR\n } else if (this.id === MAX_FILE_SIZE_ID) {\n return \"Maximale bestandsgroote is ${max-filesize}\"; // NOSONAR\n }\n\n return \"\";\n }\n\n /**\n */\n get filesize(): any {\n return filesize(this.filesizeConstraint.fileSize).human(\"jedec\");\n }\n\n /**\n */\n get maxTotalFileSize(): any {\n return filesize(this.filesizeConstraint.maxTotalFileSize).human(\"jedec\");\n }\n\n /**\n */\n get parameters():\n | { ... }\n | { \"filesize-left\": any, \"max-total-filesize\": any }\n | { \"max-filesize\": any } {\n if (this.id === MAX_TOTAL_FILE_SIZE_ID) {\n return {\n \"filesize-left\": this.filesize,\n \"max-total-filesize\": this.maxTotalFileSize,\n };\n } else if (this.id === MAX_FILE_SIZE_ID) {\n return {\n \"max-filesize\": this.filesize,\n };\n }\n\n return {};\n }\n\n /**\n */\n validate(): boolean {\n return true;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default FileSizeConstraint;\n"],"mappings":";;;;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,MAAMC,sBAAsB,GAAG,kCAAkC;AACjE,MAAMC,gBAAgB,GAAG,6BAA6B;;AAEtD;AACA;AACA,MAAMC,kBAAkB,CAA6B;EAGnD;AACF;EACEC,WAAWA,CAACC,kBAA2C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACvD,IAAI,CAACC,mBAAmB,GAAGH,kBAAkB;EAC/C;;EAEA;AACF;EACE,IAAII,EAAEA,CAAA,EAAW;IACf,IAAI,IAAI,CAACJ,kBAAkB,CAACK,UAAU,EAAE;MACtC,OAAOT,sBAAsB;IAC/B,CAAC,MAAM,IAAI,IAAI,CAACI,kBAAkB,CAACM,QAAQ,KAAKC,SAAS,EAAE;MACzD,OAAOV,gBAAgB;IACzB;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;EACE,IAAIG,kBAAkBA,CAAA,EAA4B;IAChD,OAAO,IAAI,CAACG,mBAAmB;EACjC;;EAEA;AACF;EACEK,aAAaA,CAAA,EAAY;IACvB,OAAO,KAAK;EACd;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,IAAI,IAAI,CAACL,EAAE,KAAKR,sBAAsB,EAAE;MACtC,OAAO,4FAA4F,CAAC,CAAC;IACvG,CAAC,MAAM,IAAI,IAAI,CAACQ,EAAE,KAAKP,gBAAgB,EAAE;MACvC,OAAO,4CAA4C,CAAC,CAAC;IACvD;;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;EACE,IAAIa,QAAQA,CAAA,EAAQ;IAClB,OAAO,IAAAA,iBAAQ,EAAC,IAAI,CAACV,kBAAkB,CAACM,QAAQ,CAAC,CAACK,KAAK,CAAC,OAAO,CAAC;EAClE;;EAEA;AACF;EACE,IAAIC,gBAAgBA,CAAA,EAAQ;IAC1B,OAAO,IAAAF,iBAAQ,EAAC,IAAI,CAACV,kBAAkB,CAACY,gBAAgB,CAAC,CAACD,KAAK,CAAC,OAAO,CAAC;EAC1E;;EAEA;AACF;EACE,IAAIE,UAAUA,CAAA,EAGc;IAC1B,IAAI,IAAI,CAACT,EAAE,KAAKR,sBAAsB,EAAE;MACtC,OAAO;QACL,eAAe,EAAE,IAAI,CAACc,QAAQ;QAC9B,oBAAoB,EAAE,IAAI,CAACE;MAC7B,CAAC;IACH,CAAC,MAAM,IAAI,IAAI,CAACR,EAAE,KAAKP,gBAAgB,EAAE;MACvC,OAAO;QACL,cAAc,EAAE,IAAI,CAACa;MACvB,CAAC;IACH;IAEA,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEI,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAf,OAAA,GAEcJ,kBAAkB"}
1
+ {"version":3,"file":"FileSizeConstraint.js","names":["_fileSize","_interopRequireDefault","require","MAX_TOTAL_FILE_SIZE_ID","MAX_FILE_SIZE_ID","FileSizeConstraint","constructor","filesizeConstraint","_defineProperty2","default","_filesizeConstraint","id","isMaxTotal","fileSize","undefined","hasValidation","defaultMessage","filesize","human","maxTotalFileSize","parameters","validate","isMandatoryConstraint","_default","exports"],"sources":["../../../../src/models/attributes/input-constraints/FileSizeConstraint.js"],"sourcesContent":["// @flow\nimport filesize from \"file-size\";\n\nimport type { IConstraintModel, FilesizeConstraintsType } from \"../../types\";\n\nconst MAX_TOTAL_FILE_SIZE_ID = \"Constraint.File.MaxTotalFileSize\";\nconst MAX_FILE_SIZE_ID = \"Constraint.File.MaxFileSize\";\n\n/**\n */\nclass FileSizeConstraint implements IConstraintModel {\n _filesizeConstraint: FilesizeConstraintsType;\n\n /**\n */\n constructor(filesizeConstraint: FilesizeConstraintsType) {\n this._filesizeConstraint = filesizeConstraint;\n }\n\n /**\n */\n get id(): string {\n if (this.filesizeConstraint.isMaxTotal) {\n return MAX_TOTAL_FILE_SIZE_ID;\n } else if (this.filesizeConstraint.fileSize !== undefined) {\n return MAX_FILE_SIZE_ID;\n }\n\n return \"\";\n }\n\n /**\n */\n get filesizeConstraint(): FilesizeConstraintsType {\n return this._filesizeConstraint;\n }\n\n /**\n */\n hasValidation(): boolean {\n return false;\n }\n\n /**\n */\n get defaultMessage(): string {\n if (this.id === MAX_TOTAL_FILE_SIZE_ID) {\n return \"{filesize-left} van {max-total-filesize} over van totaal toegestaan upload bestandsgrootte\"; // NOSONAR\n } else if (this.id === MAX_FILE_SIZE_ID) {\n return \"Maximale bestandsgroote is ${max-filesize}\"; // NOSONAR\n }\n\n return \"\";\n }\n\n /**\n */\n get filesize(): any {\n return filesize(this.filesizeConstraint.fileSize).human(\"jedec\");\n }\n\n /**\n */\n get maxTotalFileSize(): any {\n return filesize(this.filesizeConstraint.maxTotalFileSize).human(\"jedec\");\n }\n\n /**\n */\n get parameters():\n | { ... }\n | { \"filesize-left\": any, \"max-total-filesize\": any }\n | { \"max-filesize\": any } {\n if (this.id === MAX_TOTAL_FILE_SIZE_ID) {\n return {\n \"filesize-left\": this.filesize,\n \"max-total-filesize\": this.maxTotalFileSize,\n };\n } else if (this.id === MAX_FILE_SIZE_ID) {\n return {\n \"max-filesize\": this.filesize,\n };\n }\n\n return {};\n }\n\n /**\n */\n validate(): boolean {\n return true;\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default FileSizeConstraint;\n"],"mappings":";;;;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AAIA,MAAMC,sBAAsB,GAAG,kCAAkC;AACjE,MAAMC,gBAAgB,GAAG,6BAA6B;;AAEtD;AACA;AACA,MAAMC,kBAAkB,CAA6B;EAGnD;AACF;EACEC,WAAWA,CAACC,kBAA2C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACvD,IAAI,CAACC,mBAAmB,GAAGH,kBAAkB;EAC/C;;EAEA;AACF;EACE,IAAII,EAAEA,CAAA,EAAW;IACf,IAAI,IAAI,CAACJ,kBAAkB,CAACK,UAAU,EAAE;MACtC,OAAOT,sBAAsB;IAC/B,CAAC,MAAM,IAAI,IAAI,CAACI,kBAAkB,CAACM,QAAQ,KAAKC,SAAS,EAAE;MACzD,OAAOV,gBAAgB;IACzB;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;EACE,IAAIG,kBAAkBA,CAAA,EAA4B;IAChD,OAAO,IAAI,CAACG,mBAAmB;EACjC;;EAEA;AACF;EACEK,aAAaA,CAAA,EAAY;IACvB,OAAO,KAAK;EACd;;EAEA;AACF;EACE,IAAIC,cAAcA,CAAA,EAAW;IAC3B,IAAI,IAAI,CAACL,EAAE,KAAKR,sBAAsB,EAAE;MACtC,OAAO,4FAA4F,CAAC,CAAC;IACvG,CAAC,MAAM,IAAI,IAAI,CAACQ,EAAE,KAAKP,gBAAgB,EAAE;MACvC,OAAO,4CAA4C,CAAC,CAAC;IACvD;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;EACE,IAAIa,QAAQA,CAAA,EAAQ;IAClB,OAAO,IAAAA,iBAAQ,EAAC,IAAI,CAACV,kBAAkB,CAACM,QAAQ,CAAC,CAACK,KAAK,CAAC,OAAO,CAAC;EAClE;;EAEA;AACF;EACE,IAAIC,gBAAgBA,CAAA,EAAQ;IAC1B,OAAO,IAAAF,iBAAQ,EAAC,IAAI,CAACV,kBAAkB,CAACY,gBAAgB,CAAC,CAACD,KAAK,CAAC,OAAO,CAAC;EAC1E;;EAEA;AACF;EACE,IAAIE,UAAUA,CAAA,EAGc;IAC1B,IAAI,IAAI,CAACT,EAAE,KAAKR,sBAAsB,EAAE;MACtC,OAAO;QACL,eAAe,EAAE,IAAI,CAACc,QAAQ;QAC9B,oBAAoB,EAAE,IAAI,CAACE;MAC7B,CAAC;IACH,CAAC,MAAM,IAAI,IAAI,CAACR,EAAE,KAAKP,gBAAgB,EAAE;MACvC,OAAO;QACL,cAAc,EAAE,IAAI,CAACa;MACvB,CAAC;IACH;IAEA,OAAO,CAAC,CAAC;EACX;;EAEA;AACF;EACEI,QAAQA,CAAA,EAAY;IAClB,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIC,qBAAqBA,CAAA,EAAY;IACnC,OAAO,KAAK;EACd;AACF;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAf,OAAA,GAEcJ,kBAAkB"}
@@ -191,6 +191,7 @@ class ContentModel extends _ResourceModel.default {
191
191
  href
192
192
  } = relatedConceptsLink;
193
193
  href.addParameter("entryDate", this.entryDate);
194
+ href.setReferenceHash(this.referenceHash);
194
195
  return href;
195
196
  }
196
197
  return null;
@@ -206,6 +206,7 @@ export default class ContentModel extends ResourceModel {
206
206
  if (relatedConceptsLink) {
207
207
  const { href } = relatedConceptsLink;
208
208
  href.addParameter("entryDate", this.entryDate);
209
+ href.setReferenceHash(this.referenceHash);
209
210
  return href;
210
211
  }
211
212
 
@@ -1 +1 @@
1
- {"version":3,"file":"ContentModel.js","names":["_ModularUIResponse","_interopRequireDefault","require","_ResourceModel","_FilterCollection","_ContentLinkModel","_SubSectionModel","_ContentTypeModel","_Constants","_SectionModel","ContentModel","ResourceModel","constructor","response","_defineProperty2","default","_section","SectionModel","data","entryDate","type","modelName","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","contentTypeLink","links","getLinkByKey","setChildModels","models","contentType","_find","call","model","section","id","_id","filterCollection","_filterCollection","_filter","FilterCollection","filter","entryDateFilter","getFilterByAttributeKey","TIMEVERSION_FILTER_NAME","attribute","value","_contentType","ContentTypeModel","label","number","body","childSectionLinks","selfContentLink","childSections","sections","subSections","relatedConceptsHrefs","hrefs","relatedConceptsHref","push","forEach","subSection","relatedConceptsLink","href","addParameter","referenceHash","exports"],"sources":["../../../src/models/content/ContentModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport ResourceModel from \"../base/ResourceModel\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport ContentTypeModel from \"./ContentTypeModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\nimport SectionModel from \"./SectionModel\";\n\n/**\n * Content detail model\n */\nexport default class ContentModel extends ResourceModel {\n _section: SectionModel;\n _contentType: ContentTypeModel | null = null;\n _filterCollection: FilterCollection;\n\n constructor(response: ModularUIResponse) {\n super(response);\n\n this._section = new SectionModel(this.data, this.entryDate);\n }\n\n /**\n */\n get type(): string {\n return \"Content\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ContentModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ContentDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const contentTypeLink = this.links.getLinkByKey(\"contenttype\");\n\n if (contentTypeLink) {\n return [contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.contentType = models.find((model) => model.type === \"ContentType\");\n }\n\n /**\n */\n get section(): SectionModel {\n return this._section;\n }\n\n /**\n */\n get id(): string {\n return this.data._id;\n }\n\n /**\n * Retrieve available filters on concept toc\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection && this.data.filter?.entryDate) {\n this._filterCollection = new FilterCollection(\n {\n entryDate: this.data.filter.entryDate,\n },\n {\n filter: this.contributions.filter,\n },\n );\n }\n\n return this._filterCollection;\n }\n\n /**\n * Retrieve entrydate of content toc\n */\n get entryDate(): ISO_DATE | null {\n const entryDateFilter = this.filterCollection?.getFilterByAttributeKey(\n TIMEVERSION_FILTER_NAME,\n );\n if (entryDateFilter && entryDateFilter.attribute) {\n return entryDateFilter.attribute.value;\n }\n\n return null;\n }\n\n /**\n * Get conceptType of concept\n */\n get contentType(): ContentTypeModel | null {\n return this._contentType;\n }\n\n /**\n * Set concept type\n */\n set contentType(contentType: ?ModularUIModel) {\n this._contentType =\n contentType instanceof ContentTypeModel ? contentType : null;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.section.label;\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.section.number;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return this.section.body;\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.section.childSectionLinks;\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return this.section.selfContentLink;\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n return this.section.childSections;\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this.section.childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.section.subSections;\n }\n\n /**\n */\n get relatedConceptsHrefs(): Array<Href> {\n const hrefs = [];\n if (this.relatedConceptsHref) {\n hrefs.push(this.relatedConceptsHref);\n }\n\n this.subSections.forEach((subSection) => {\n hrefs.push(...subSection.relatedConceptsHrefs);\n });\n\n return hrefs;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n const { href } = relatedConceptsLink;\n href.addParameter(\"entryDate\", this.entryDate);\n return href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n return this.section.referenceHash;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ContentModel.js","names":["_ModularUIResponse","_interopRequireDefault","require","_ResourceModel","_FilterCollection","_ContentLinkModel","_SubSectionModel","_ContentTypeModel","_Constants","_SectionModel","ContentModel","ResourceModel","constructor","response","_defineProperty2","default","_section","SectionModel","data","entryDate","type","modelName","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","contentTypeLink","links","getLinkByKey","setChildModels","models","contentType","_find","call","model","section","id","_id","filterCollection","_filterCollection","_filter","FilterCollection","filter","entryDateFilter","getFilterByAttributeKey","TIMEVERSION_FILTER_NAME","attribute","value","_contentType","ContentTypeModel","label","number","body","childSectionLinks","selfContentLink","childSections","sections","subSections","relatedConceptsHrefs","hrefs","relatedConceptsHref","push","forEach","subSection","relatedConceptsLink","href","addParameter","setReferenceHash","referenceHash","exports"],"sources":["../../../src/models/content/ContentModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport ResourceModel from \"../base/ResourceModel\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport ContentTypeModel from \"./ContentTypeModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\nimport SectionModel from \"./SectionModel\";\n\n/**\n * Content detail model\n */\nexport default class ContentModel extends ResourceModel {\n _section: SectionModel;\n _contentType: ContentTypeModel | null = null;\n _filterCollection: FilterCollection;\n\n constructor(response: ModularUIResponse) {\n super(response);\n\n this._section = new SectionModel(this.data, this.entryDate);\n }\n\n /**\n */\n get type(): string {\n return \"Content\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ContentModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ContentDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const contentTypeLink = this.links.getLinkByKey(\"contenttype\");\n\n if (contentTypeLink) {\n return [contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.contentType = models.find((model) => model.type === \"ContentType\");\n }\n\n /**\n */\n get section(): SectionModel {\n return this._section;\n }\n\n /**\n */\n get id(): string {\n return this.data._id;\n }\n\n /**\n * Retrieve available filters on concept toc\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection && this.data.filter?.entryDate) {\n this._filterCollection = new FilterCollection(\n {\n entryDate: this.data.filter.entryDate,\n },\n {\n filter: this.contributions.filter,\n },\n );\n }\n\n return this._filterCollection;\n }\n\n /**\n * Retrieve entrydate of content toc\n */\n get entryDate(): ISO_DATE | null {\n const entryDateFilter = this.filterCollection?.getFilterByAttributeKey(\n TIMEVERSION_FILTER_NAME,\n );\n if (entryDateFilter && entryDateFilter.attribute) {\n return entryDateFilter.attribute.value;\n }\n\n return null;\n }\n\n /**\n * Get conceptType of concept\n */\n get contentType(): ContentTypeModel | null {\n return this._contentType;\n }\n\n /**\n * Set concept type\n */\n set contentType(contentType: ?ModularUIModel) {\n this._contentType =\n contentType instanceof ContentTypeModel ? contentType : null;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.section.label;\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.section.number;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return this.section.body;\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.section.childSectionLinks;\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return this.section.selfContentLink;\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n return this.section.childSections;\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this.section.childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.section.subSections;\n }\n\n /**\n */\n get relatedConceptsHrefs(): Array<Href> {\n const hrefs = [];\n if (this.relatedConceptsHref) {\n hrefs.push(this.relatedConceptsHref);\n }\n\n this.subSections.forEach((subSection) => {\n hrefs.push(...subSection.relatedConceptsHrefs);\n });\n\n return hrefs;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n const { href } = relatedConceptsLink;\n href.addParameter(\"entryDate\", this.entryDate);\n href.setReferenceHash(this.referenceHash);\n return href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n return this.section.referenceHash;\n }\n}\n"],"mappings":"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"}
@@ -116,7 +116,11 @@ class SubSectionModel extends _BaseModel.default {
116
116
  get relatedConceptsHref() {
117
117
  const relatedConceptsLink = this.links.getLinkByKey("relatedConcepts");
118
118
  if (relatedConceptsLink) {
119
- return relatedConceptsLink.href;
119
+ const {
120
+ href
121
+ } = relatedConceptsLink;
122
+ href.setReferenceHash(this.referenceHash);
123
+ return href;
120
124
  }
121
125
  return null;
122
126
  }
@@ -121,7 +121,9 @@ export default class SubSectionModel extends BaseModel {
121
121
  const relatedConceptsLink = this.links.getLinkByKey("relatedConcepts");
122
122
 
123
123
  if (relatedConceptsLink) {
124
- return relatedConceptsLink.href;
124
+ const { href } = relatedConceptsLink;
125
+ href.setReferenceHash(this.referenceHash);
126
+ return href;
125
127
  }
126
128
 
127
129
  return null;
@@ -131,7 +133,6 @@ export default class SubSectionModel extends BaseModel {
131
133
  */
132
134
  get referenceHash(): number {
133
135
  const selfhref = this.selfhref || new Href();
134
-
135
136
  return createHashFromHref(selfhref);
136
137
  }
137
138
 
@@ -1 +1 @@
1
- {"version":3,"file":"SubSectionModel.js","names":["_createHash","require","_BaseModel","_interopRequireDefault","_LinkCollection","_Href","_LinkModel","_utils","SubSectionModel","BaseModel","constructor","data","_defineProperty2","default","referred","id","_id","key","body","getData","retrieveText","number","label","subSections","_context","_map","call","subSection","links","_links","LinkCollection","contributions","selflink","getLinkByKey","selfhref","href","relatedConceptsHrefs","hrefs","relatedConceptsHref","push","forEach","relatedConceptsLink","referenceHash","Href","createHashFromHref","getReferredSections","sections","referredChilds","exports"],"sources":["../../../src/models/content/SubSectionModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport Href from \"../href/Href\";\nimport LinkModel from \"../links/LinkModel\";\nimport { retrieveText } from \"../../utils\";\n\n/**\n * Link to a concept\n */\nexport default class SubSectionModel extends BaseModel {\n _links: LinkCollection;\n\n /**\n */\n constructor(data: Object) {\n super(data, {});\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n * Retrieve key of subsection\n */\n get key(): ?string {\n return this.id;\n }\n\n /**\n * Retrieve html body\n */\n get body(): string {\n const body = this.getData(\"body\", \"\");\n return retrieveText(body);\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Retrieve label of section\n */\n get label(): ?string {\n return this.data.label;\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection),\n )\n : [];\n }\n\n /**\n * Retrieve links of section\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n this.data._links,\n this.contributions._links,\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel | null {\n return this.links.getLinkByKey(\"self\");\n }\n\n /**\n * Return default self link of resource\n */\n get selfhref(): Href | null {\n return this.selflink ? this.selflink.href : null;\n }\n\n /**\n */\n get relatedConceptsHrefs(): Array<Href> {\n const hrefs = [];\n if (this.relatedConceptsHref) {\n hrefs.push(this.relatedConceptsHref);\n }\n\n this.subSections.forEach((subSection) => {\n hrefs.push(...subSection.relatedConceptsHrefs);\n });\n\n return hrefs;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n return relatedConceptsLink.href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n const selfhref = this.selfhref || new Href();\n\n return createHashFromHref(selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"SubSectionModel.js","names":["_createHash","require","_BaseModel","_interopRequireDefault","_LinkCollection","_Href","_LinkModel","_utils","SubSectionModel","BaseModel","constructor","data","_defineProperty2","default","referred","id","_id","key","body","getData","retrieveText","number","label","subSections","_context","_map","call","subSection","links","_links","LinkCollection","contributions","selflink","getLinkByKey","selfhref","href","relatedConceptsHrefs","hrefs","relatedConceptsHref","push","forEach","relatedConceptsLink","setReferenceHash","referenceHash","Href","createHashFromHref","getReferredSections","sections","referredChilds","exports"],"sources":["../../../src/models/content/SubSectionModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport Href from \"../href/Href\";\nimport LinkModel from \"../links/LinkModel\";\nimport { retrieveText } from \"../../utils\";\n\n/**\n * Link to a concept\n */\nexport default class SubSectionModel extends BaseModel {\n _links: LinkCollection;\n\n /**\n */\n constructor(data: Object) {\n super(data, {});\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n * Retrieve key of subsection\n */\n get key(): ?string {\n return this.id;\n }\n\n /**\n * Retrieve html body\n */\n get body(): string {\n const body = this.getData(\"body\", \"\");\n return retrieveText(body);\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Retrieve label of section\n */\n get label(): ?string {\n return this.data.label;\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection),\n )\n : [];\n }\n\n /**\n * Retrieve links of section\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n this.data._links,\n this.contributions._links,\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel | null {\n return this.links.getLinkByKey(\"self\");\n }\n\n /**\n * Return default self link of resource\n */\n get selfhref(): Href | null {\n return this.selflink ? this.selflink.href : null;\n }\n\n /**\n */\n get relatedConceptsHrefs(): Array<Href> {\n const hrefs = [];\n if (this.relatedConceptsHref) {\n hrefs.push(this.relatedConceptsHref);\n }\n\n this.subSections.forEach((subSection) => {\n hrefs.push(...subSection.relatedConceptsHrefs);\n });\n\n return hrefs;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n const { href } = relatedConceptsLink;\n href.setReferenceHash(this.referenceHash);\n return href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n const selfhref = this.selfhref || new Href();\n return createHashFromHref(selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n"],"mappings":"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"}
@@ -176,6 +176,9 @@ describe("contentmodel", () => {
176
176
  expect(firstSubSection.relatedConceptsHref.href.toString()).toBe(
177
177
  "/content/Incident/Business design/Content/Blaastest subsections.formalsource/Pass/relatedConcepts",
178
178
  );
179
+ expect(firstSubSection.relatedConceptsHref.getReferenceHash()).toBe(
180
+ 145842294,
181
+ );
179
182
  expect(firstSubSection.referenceHash).toBe(145842294);
180
183
  });
181
184
  });