@beinformed/ui 1.65.9 → 1.65.11

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 (84) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/esm/hooks/useDeepCompareEffect.js +22 -8
  3. package/esm/hooks/useDeepCompareEffect.js.flow +26 -10
  4. package/esm/hooks/useDeepCompareEffect.js.map +1 -1
  5. package/esm/hooks/useList.js +18 -15
  6. package/esm/hooks/useList.js.flow +17 -16
  7. package/esm/hooks/useList.js.map +1 -1
  8. package/esm/hooks/useModularUIBasic.js +10 -3
  9. package/esm/hooks/useModularUIBasic.js.flow +11 -1
  10. package/esm/hooks/useModularUIBasic.js.map +1 -1
  11. package/esm/hooks/usePanel.js.flow +1 -1
  12. package/esm/hooks/usePanel.js.map +1 -1
  13. package/esm/hooks/useRouter.js +12 -6
  14. package/esm/hooks/useRouter.js.flow +29 -23
  15. package/esm/hooks/useRouter.js.map +1 -1
  16. package/esm/models/attributes/AttributeModel.js +14 -0
  17. package/esm/models/attributes/AttributeModel.js.flow +14 -0
  18. package/esm/models/attributes/AttributeModel.js.map +1 -1
  19. package/esm/models/attributes/CompositeAttributeModel.js +11 -11
  20. package/esm/models/attributes/CompositeAttributeModel.js.flow +11 -11
  21. package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
  22. package/esm/models/attributes/PasswordAttributeModel.js +3 -3
  23. package/esm/models/attributes/PasswordAttributeModel.js.flow +3 -3
  24. package/esm/models/attributes/PasswordAttributeModel.js.map +1 -1
  25. package/esm/models/filters/FilterModel.js +1 -1
  26. package/esm/models/filters/FilterModel.js.flow +1 -1
  27. package/esm/models/filters/FilterModel.js.map +1 -1
  28. package/esm/models/filters/RangeFilterModel.js +1 -1
  29. package/esm/models/filters/RangeFilterModel.js.flow +1 -1
  30. package/esm/models/filters/RangeFilterModel.js.map +1 -1
  31. package/esm/models/href/Href.js +27 -2
  32. package/esm/models/href/Href.js.flow +30 -2
  33. package/esm/models/href/Href.js.map +1 -1
  34. package/esm/models/href/ListHref.js +3 -2
  35. package/esm/models/href/ListHref.js.flow +4 -2
  36. package/esm/models/href/ListHref.js.map +1 -1
  37. package/esm/models/list/ListModel.js +7 -1
  38. package/esm/models/list/ListModel.js.flow +8 -2
  39. package/esm/models/list/ListModel.js.map +1 -1
  40. package/esm/models/parameter/Parameter.js +6 -6
  41. package/esm/models/parameter/Parameter.js.flow +6 -6
  42. package/esm/models/parameter/Parameter.js.map +1 -1
  43. package/lib/hooks/useDeepCompareEffect.js +22 -11
  44. package/lib/hooks/useDeepCompareEffect.js.map +1 -1
  45. package/lib/hooks/useList.js +18 -15
  46. package/lib/hooks/useList.js.map +1 -1
  47. package/lib/hooks/useModularUIBasic.js +9 -2
  48. package/lib/hooks/useModularUIBasic.js.map +1 -1
  49. package/lib/hooks/usePanel.js.map +1 -1
  50. package/lib/hooks/useRouter.js +12 -6
  51. package/lib/hooks/useRouter.js.map +1 -1
  52. package/lib/models/attributes/AttributeModel.js +14 -0
  53. package/lib/models/attributes/AttributeModel.js.map +1 -1
  54. package/lib/models/attributes/CompositeAttributeModel.js +11 -11
  55. package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
  56. package/lib/models/attributes/PasswordAttributeModel.js +3 -3
  57. package/lib/models/attributes/PasswordAttributeModel.js.map +1 -1
  58. package/lib/models/filters/FilterModel.js +1 -1
  59. package/lib/models/filters/FilterModel.js.map +1 -1
  60. package/lib/models/filters/RangeFilterModel.js +1 -1
  61. package/lib/models/filters/RangeFilterModel.js.map +1 -1
  62. package/lib/models/href/Href.js +27 -2
  63. package/lib/models/href/Href.js.map +1 -1
  64. package/lib/models/href/ListHref.js +3 -2
  65. package/lib/models/href/ListHref.js.map +1 -1
  66. package/lib/models/list/ListModel.js +7 -1
  67. package/lib/models/list/ListModel.js.map +1 -1
  68. package/lib/models/parameter/Parameter.js +6 -6
  69. package/lib/models/parameter/Parameter.js.map +1 -1
  70. package/package.json +4 -4
  71. package/src/hooks/useDeepCompareEffect.js +26 -10
  72. package/src/hooks/useList.js +17 -16
  73. package/src/hooks/useModularUIBasic.js +11 -1
  74. package/src/hooks/usePanel.js +1 -1
  75. package/src/hooks/useRouter.js +29 -23
  76. package/src/models/attributes/AttributeModel.js +14 -0
  77. package/src/models/attributes/CompositeAttributeModel.js +11 -11
  78. package/src/models/attributes/PasswordAttributeModel.js +3 -3
  79. package/src/models/filters/FilterModel.js +1 -1
  80. package/src/models/filters/RangeFilterModel.js +1 -1
  81. package/src/models/href/Href.js +30 -2
  82. package/src/models/href/ListHref.js +4 -2
  83. package/src/models/list/ListModel.js +8 -2
  84. package/src/models/parameter/Parameter.js +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"PasswordAttributeModel.js","names":["StringAttributeModel","ConstraintCollection","PasswordLowerAndUpperCaseConstraint","PasswordThreeConsecutiveCharactersNotAllowedConstraint","PasswordMinNumericCharactersConstraint","PasswordMinSpecialCharactersConstraint","RegexConstraint","PasswordConfirmConstraint","CONFIRM_PASSWORD","PasswordAttributeModel","constructor","args","_defineProperty","isApplicableModel","contributions","layouthint","type","Array","isArray","_includesInstanceProperty","call","update","value","updateLastModification","inputvalue","constraints","getContribution","upperAndLowerCaseMandatory","maxSequenceOfIdenticalCharacters","maxSequenceOfUsernameCharacters","minNumberOfNumericCharacters","minNumberOfSpecialCharacters","regexConstraints","regexConstraint","addConstraints","isConfirmPassword","getConfirmPasswordConstraints","getStandardPasswordConstraints","add","confirmValue","otherLabel","length","forEach","has","constraintCollection","_isConfirmPassword","_confirmValue","validate","_otherLabel","useClientsideValidation","isOptionalAndEmpty","_isValid","_validatedValue","getFormData","inError","name"],"sources":["../../../src/models/attributes/PasswordAttributeModel.js"],"sourcesContent":["// @flow\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\n\nimport PasswordLowerAndUpperCaseConstraint from \"./input-constraints/PasswordLowerAndUpperCaseConstraint\";\nimport PasswordThreeConsecutiveCharactersNotAllowedConstraint from \"./input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint\";\nimport PasswordMinNumericCharactersConstraint from \"./input-constraints/PasswordMinNumericCharactersConstraint\";\nimport PasswordMinSpecialCharactersConstraint from \"./input-constraints/PasswordMinSpecialCharactersConstraint\";\nimport RegexConstraint from \"./input-constraints/RegexConstraint\";\nimport PasswordConfirmConstraint from \"./input-constraints/PasswordConfirmConstraint\";\n\nimport { CONFIRM_PASSWORD } from \"../../constants/LayoutHints\";\n\nimport type { RegexObject } from \"./input-constraints/RegexConstraint\";\n\n/**\n * Password attribute\n */\nexport default class PasswordAttributeModel extends StringAttributeModel {\n _confirmValue: string;\n _isConfirmPassword: boolean;\n _otherLabel: string;\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"password\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"password\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"password\";\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): PasswordAttributeModel {\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get constraints(): Object {\n return this.getContribution(\"constraints\", {});\n }\n\n /**\n */\n get upperAndLowerCaseMandatory(): ?boolean {\n return this.constraints.upperAndLowerCaseMandatory;\n }\n\n /**\n */\n get maxSequenceOfIdenticalCharacters(): ?number {\n return this.constraints.maxSequenceOfIdenticalCharacters;\n }\n\n /**\n */\n get maxSequenceOfUsernameCharacters(): ?number {\n return this.constraints.maxSequenceOfUsernameCharacters;\n }\n\n /**\n */\n get minNumberOfNumericCharacters(): ?number {\n return this.constraints.minNumberOfNumericCharacters;\n }\n\n /**\n */\n get minNumberOfSpecialCharacters(): ?number {\n return this.constraints.minNumberOfSpecialCharacters;\n }\n\n /**\n */\n get regexConstraints(): ?Array<RegexObject> {\n return this.constraints.regexConstraint;\n }\n\n /**\n * Add password constraints\n */\n addConstraints(): ConstraintCollection {\n if (this.isConfirmPassword) {\n return this.getConfirmPasswordConstraints();\n }\n return this.getStandardPasswordConstraints();\n }\n\n /**\n * Constraints for a confirmation password\n */\n getConfirmPasswordConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel),\n );\n return constraints;\n }\n\n /**\n * Constrains for a standard password\n */\n getStandardPasswordConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.upperAndLowerCaseMandatory) {\n constraints.add(new PasswordLowerAndUpperCaseConstraint());\n }\n\n if (this.maxSequenceOfIdenticalCharacters) {\n constraints.add(\n new PasswordThreeConsecutiveCharactersNotAllowedConstraint(\n this.maxSequenceOfIdenticalCharacters,\n ),\n );\n }\n\n if (this.minNumberOfNumericCharacters) {\n constraints.add(\n new PasswordMinNumericCharactersConstraint(\n this.minNumberOfNumericCharacters,\n ),\n );\n }\n\n if (this.minNumberOfSpecialCharacters) {\n constraints.add(\n new PasswordMinSpecialCharactersConstraint(\n this.minNumberOfSpecialCharacters,\n ),\n );\n }\n\n if (this.regexConstraints && this.regexConstraints.length > 0) {\n this.regexConstraints.forEach((regexConstraint) => {\n constraints.add(new RegexConstraint(regexConstraint));\n });\n }\n\n if (\n this.layouthint.has(CONFIRM_PASSWORD) &&\n this.isConfirmPassword == null\n ) {\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel),\n );\n }\n\n return constraints;\n }\n\n /**\n * Retrieve applicable constraint for this attribute\n */\n get constraintCollection(): ConstraintCollection {\n if (this.isConfirmPassword) {\n // confirm password only needs local constraints, no server constraints\n return this.getConfirmPasswordConstraints();\n }\n\n return super.constraintCollection;\n }\n\n /**\n */\n get isConfirmPassword(): boolean | null {\n return this._isConfirmPassword;\n }\n\n /**\n */\n set isConfirmPassword(isConfirmPassword: boolean) {\n this._isConfirmPassword = isConfirmPassword;\n }\n\n /**\n */\n get confirmValue(): string {\n return this._confirmValue || \"\";\n }\n\n /**\n */\n set confirmValue(confirmValue: string) {\n this._confirmValue = confirmValue;\n\n this.validate(this.inputvalue);\n }\n\n /**\n */\n get otherLabel(): string {\n return this._otherLabel;\n }\n\n /**\n */\n set otherLabel(otherLabel: string) {\n this._otherLabel = otherLabel;\n }\n\n /**\n * Validate input\n */\n validate(value: string): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n if (this.isOptionalAndEmpty(value)) {\n this._isValid = true;\n } else if (this._validatedValue !== `${this.confirmValue}-${value}`) {\n this._isValid = this.constraintCollection.validate(value);\n }\n this._validatedValue = `${this.confirmValue}-${value}`;\n\n return this._isValid;\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n if (this.isConfirmPassword || this.inError()) {\n return null;\n }\n\n return {\n [this.name]: this.value,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"PasswordAttributeModel.js","names":["StringAttributeModel","ConstraintCollection","PasswordLowerAndUpperCaseConstraint","PasswordThreeConsecutiveCharactersNotAllowedConstraint","PasswordMinNumericCharactersConstraint","PasswordMinSpecialCharactersConstraint","RegexConstraint","PasswordConfirmConstraint","CONFIRM_PASSWORD","PasswordAttributeModel","constructor","args","_defineProperty","isApplicableModel","contributions","layouthint","type","Array","isArray","_includesInstanceProperty","call","update","value","updateLastModification","inputvalue","constraints","getContribution","upperAndLowerCaseMandatory","maxSequenceOfIdenticalCharacters","maxSequenceOfUsernameCharacters","minNumberOfNumericCharacters","minNumberOfSpecialCharacters","regexConstraints","regexConstraint","addConstraints","isConfirmPassword","getConfirmPasswordConstraints","getStandardPasswordConstraints","add","confirmValue","otherLabel","length","forEach","has","constraintCollection","_isConfirmPassword","_confirmValue","validate","_otherLabel","useClientsideValidation","isOptionalAndEmpty","setIsValid","_validatedValue","getIsValid","getFormData","inError","name"],"sources":["../../../src/models/attributes/PasswordAttributeModel.js"],"sourcesContent":["// @flow\nimport StringAttributeModel from \"./StringAttributeModel\";\nimport ConstraintCollection from \"./input-constraints/ConstraintCollection\";\n\nimport PasswordLowerAndUpperCaseConstraint from \"./input-constraints/PasswordLowerAndUpperCaseConstraint\";\nimport PasswordThreeConsecutiveCharactersNotAllowedConstraint from \"./input-constraints/PasswordThreeConsecutiveCharactersNotAllowedConstraint\";\nimport PasswordMinNumericCharactersConstraint from \"./input-constraints/PasswordMinNumericCharactersConstraint\";\nimport PasswordMinSpecialCharactersConstraint from \"./input-constraints/PasswordMinSpecialCharactersConstraint\";\nimport RegexConstraint from \"./input-constraints/RegexConstraint\";\nimport PasswordConfirmConstraint from \"./input-constraints/PasswordConfirmConstraint\";\n\nimport { CONFIRM_PASSWORD } from \"../../constants/LayoutHints\";\n\nimport type { RegexObject } from \"./input-constraints/RegexConstraint\";\n\n/**\n * Password attribute\n */\nexport default class PasswordAttributeModel extends StringAttributeModel {\n _confirmValue: string;\n _isConfirmPassword: boolean;\n _otherLabel: string;\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n const layouthint = contributions?.layouthint;\n return (\n contributions.type === \"password\" ||\n (Array.isArray(layouthint) && layouthint.includes(\"password\"))\n );\n }\n\n /**\n */\n get type(): string {\n return \"password\";\n }\n\n /**\n * Update the attribute by name and value\n */\n update(value: string): PasswordAttributeModel {\n this.updateLastModification();\n this.inputvalue = value;\n\n return this;\n }\n\n /**\n */\n get constraints(): Object {\n return this.getContribution(\"constraints\", {});\n }\n\n /**\n */\n get upperAndLowerCaseMandatory(): ?boolean {\n return this.constraints.upperAndLowerCaseMandatory;\n }\n\n /**\n */\n get maxSequenceOfIdenticalCharacters(): ?number {\n return this.constraints.maxSequenceOfIdenticalCharacters;\n }\n\n /**\n */\n get maxSequenceOfUsernameCharacters(): ?number {\n return this.constraints.maxSequenceOfUsernameCharacters;\n }\n\n /**\n */\n get minNumberOfNumericCharacters(): ?number {\n return this.constraints.minNumberOfNumericCharacters;\n }\n\n /**\n */\n get minNumberOfSpecialCharacters(): ?number {\n return this.constraints.minNumberOfSpecialCharacters;\n }\n\n /**\n */\n get regexConstraints(): ?Array<RegexObject> {\n return this.constraints.regexConstraint;\n }\n\n /**\n * Add password constraints\n */\n addConstraints(): ConstraintCollection {\n if (this.isConfirmPassword) {\n return this.getConfirmPasswordConstraints();\n }\n return this.getStandardPasswordConstraints();\n }\n\n /**\n * Constraints for a confirmation password\n */\n getConfirmPasswordConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel),\n );\n return constraints;\n }\n\n /**\n * Constrains for a standard password\n */\n getStandardPasswordConstraints(): ConstraintCollection {\n const constraints = new ConstraintCollection();\n\n if (this.upperAndLowerCaseMandatory) {\n constraints.add(new PasswordLowerAndUpperCaseConstraint());\n }\n\n if (this.maxSequenceOfIdenticalCharacters) {\n constraints.add(\n new PasswordThreeConsecutiveCharactersNotAllowedConstraint(\n this.maxSequenceOfIdenticalCharacters,\n ),\n );\n }\n\n if (this.minNumberOfNumericCharacters) {\n constraints.add(\n new PasswordMinNumericCharactersConstraint(\n this.minNumberOfNumericCharacters,\n ),\n );\n }\n\n if (this.minNumberOfSpecialCharacters) {\n constraints.add(\n new PasswordMinSpecialCharactersConstraint(\n this.minNumberOfSpecialCharacters,\n ),\n );\n }\n\n if (this.regexConstraints && this.regexConstraints.length > 0) {\n this.regexConstraints.forEach((regexConstraint) => {\n constraints.add(new RegexConstraint(regexConstraint));\n });\n }\n\n if (\n this.layouthint.has(CONFIRM_PASSWORD) &&\n this.isConfirmPassword == null\n ) {\n constraints.add(\n new PasswordConfirmConstraint(this.confirmValue, this.otherLabel),\n );\n }\n\n return constraints;\n }\n\n /**\n * Retrieve applicable constraint for this attribute\n */\n get constraintCollection(): ConstraintCollection {\n if (this.isConfirmPassword) {\n // confirm password only needs local constraints, no server constraints\n return this.getConfirmPasswordConstraints();\n }\n\n return super.constraintCollection;\n }\n\n /**\n */\n get isConfirmPassword(): boolean | null {\n return this._isConfirmPassword;\n }\n\n /**\n */\n set isConfirmPassword(isConfirmPassword: boolean) {\n this._isConfirmPassword = isConfirmPassword;\n }\n\n /**\n */\n get confirmValue(): string {\n return this._confirmValue || \"\";\n }\n\n /**\n */\n set confirmValue(confirmValue: string) {\n this._confirmValue = confirmValue;\n\n this.validate(this.inputvalue);\n }\n\n /**\n */\n get otherLabel(): string {\n return this._otherLabel;\n }\n\n /**\n */\n set otherLabel(otherLabel: string) {\n this._otherLabel = otherLabel;\n }\n\n /**\n * Validate input\n */\n validate(value: string): boolean {\n // when client side validation is disabled, this attribute is always valid\n if (!this.useClientsideValidation()) {\n return true;\n }\n\n if (this.isOptionalAndEmpty(value)) {\n this.setIsValid(true);\n } else if (this._validatedValue !== `${this.confirmValue}-${value}`) {\n this.setIsValid(this.constraintCollection.validate(value));\n }\n this._validatedValue = `${this.confirmValue}-${value}`;\n\n return this.getIsValid();\n }\n\n /**\n */\n getFormData(): { [string]: any } | null {\n if (this.isConfirmPassword || this.inError()) {\n return null;\n }\n\n return {\n [this.name]: this.value,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -100,7 +100,7 @@ export default class FilterModel extends BaseFilterModel {
100
100
  * Inidiates if filter is valid
101
101
  */
102
102
  get isValid() {
103
- return this.attribute?.isValid || true;
103
+ return this.attribute?.isValid ?? true;
104
104
  }
105
105
 
106
106
  /**
@@ -131,7 +131,7 @@ export default class FilterModel extends BaseFilterModel implements IFilter {
131
131
  * Inidiates if filter is valid
132
132
  */
133
133
  get isValid(): boolean {
134
- return this.attribute?.isValid || true;
134
+ return this.attribute?.isValid ?? true;
135
135
  }
136
136
 
137
137
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FilterModel.js","names":["BaseFilterModel","createAttribute","IllegalStateException","FilterModel","constructor","data","contributions","modelOptions","_defineProperty","_attribute","type","param","attribute","label","params","name","value","inputvalue","hasValue","reset","update","isActive","initvalue","isValid","readonlyvalue","formdata"],"sources":["../../../src/models/filters/FilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\nimport createAttribute from \"../attributes/_createAttribute\";\nimport { IllegalStateException } from \"../../exceptions\";\n\nimport type { AttributeType, IFilter, ModelOptions } from \"../types\";\n\n/**\n */\nexport default class FilterModel extends BaseFilterModel implements IFilter {\n _attribute: AttributeType | null = null;\n\n /**\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this._attribute = this.createAttribute(\n this.type,\n this.param,\n this.data,\n this.contributions,\n );\n }\n\n /**\n * Create attribute through the attribute factory. Create type based on filter key without the filter suffix\n */\n createAttribute(\n type: string,\n param: string,\n data: Object,\n contributions: Object,\n ): AttributeType | null {\n if (type === \"assignment\") {\n return null;\n }\n\n return createAttribute(\n param,\n data,\n {\n ...contributions,\n type: type,\n },\n this.modelOptions,\n );\n }\n\n /**\n * Get attribute of filter\n */\n get attribute(): AttributeType {\n if (!this._attribute) {\n throw new IllegalStateException(\n `Missing filter attribute on filter model: ${this.label}`,\n );\n }\n return this._attribute;\n }\n\n /**\n * Retrieve the parameters with it's value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.attribute?.value,\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this.attribute?.value;\n }\n\n /**\n * Getting the inputvalue of the filter\n */\n get inputvalue(): string {\n return this.attribute?.inputvalue;\n }\n\n /**\n * Indicates if the filter has a value.\n */\n hasValue(): boolean {\n return this.value !== null && this.value !== \"\";\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): FilterModel {\n if (this.attribute) {\n this.attribute.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute) {\n this.attribute.update(value);\n }\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return this.attribute?.initvalue !== null;\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return this.attribute?.isValid || true;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.attribute) {\n return this.attribute.readonlyvalue;\n }\n return \"\";\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n return this.attribute.formdata ?? null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FilterModel.js","names":["BaseFilterModel","createAttribute","IllegalStateException","FilterModel","constructor","data","contributions","modelOptions","_defineProperty","_attribute","type","param","attribute","label","params","name","value","inputvalue","hasValue","reset","update","isActive","initvalue","isValid","readonlyvalue","formdata"],"sources":["../../../src/models/filters/FilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\nimport createAttribute from \"../attributes/_createAttribute\";\nimport { IllegalStateException } from \"../../exceptions\";\n\nimport type { AttributeType, IFilter, ModelOptions } from \"../types\";\n\n/**\n */\nexport default class FilterModel extends BaseFilterModel implements IFilter {\n _attribute: AttributeType | null = null;\n\n /**\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this._attribute = this.createAttribute(\n this.type,\n this.param,\n this.data,\n this.contributions,\n );\n }\n\n /**\n * Create attribute through the attribute factory. Create type based on filter key without the filter suffix\n */\n createAttribute(\n type: string,\n param: string,\n data: Object,\n contributions: Object,\n ): AttributeType | null {\n if (type === \"assignment\") {\n return null;\n }\n\n return createAttribute(\n param,\n data,\n {\n ...contributions,\n type: type,\n },\n this.modelOptions,\n );\n }\n\n /**\n * Get attribute of filter\n */\n get attribute(): AttributeType {\n if (!this._attribute) {\n throw new IllegalStateException(\n `Missing filter attribute on filter model: ${this.label}`,\n );\n }\n return this._attribute;\n }\n\n /**\n * Retrieve the parameters with it's value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.attribute?.value,\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this.attribute?.value;\n }\n\n /**\n * Getting the inputvalue of the filter\n */\n get inputvalue(): string {\n return this.attribute?.inputvalue;\n }\n\n /**\n * Indicates if the filter has a value.\n */\n hasValue(): boolean {\n return this.value !== null && this.value !== \"\";\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): FilterModel {\n if (this.attribute) {\n this.attribute.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute) {\n this.attribute.update(value);\n }\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return this.attribute?.initvalue !== null;\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return this.attribute?.isValid ?? true;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.attribute) {\n return this.attribute.readonlyvalue;\n }\n return \"\";\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n return this.attribute.formdata ?? null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,7 +10,7 @@ export default class RangeFilterModel extends FilterModel {
10
10
  update(attribute, value) {
11
11
  if (this.attribute instanceof CompositeAttributeModel) {
12
12
  this.attribute.update(value, attribute);
13
- } else if (this.attribute !== null) {
13
+ } else if (this.attribute != null) {
14
14
  this.attribute.update(value);
15
15
  }
16
16
  }
@@ -13,7 +13,7 @@ export default class RangeFilterModel extends FilterModel implements IFilter {
13
13
  update(attribute: AttributeType, value: string) {
14
14
  if (this.attribute instanceof CompositeAttributeModel) {
15
15
  this.attribute.update(value, attribute);
16
- } else if (this.attribute !== null) {
16
+ } else if (this.attribute != null) {
17
17
  this.attribute.update(value);
18
18
  }
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RangeFilterModel.js","names":["FilterModel","CompositeAttributeModel","RangeFilterModel","update","attribute","value","params","_context","_mapInstanceProperty","children","call","child","param","data","name"],"sources":["../../../src/models/filters/RangeFilterModel.js"],"sourcesContent":["// @flow\nimport FilterModel from \"../filters/FilterModel\";\n\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\nimport type { AttributeType, IFilter } from \"../types\";\n\n/**\n * Range filter, for instance a date range filter or a number range filter\n */\nexport default class RangeFilterModel extends FilterModel implements IFilter {\n /**\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute instanceof CompositeAttributeModel) {\n this.attribute.update(value, attribute);\n } else if (this.attribute !== null) {\n this.attribute.update(value);\n }\n }\n\n /**\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (this.attribute instanceof CompositeAttributeModel) {\n return this.attribute.children.map((child) => {\n const { param } = this.data[child.name];\n return {\n name: param,\n value: child.value,\n };\n });\n }\n\n return [];\n }\n}\n"],"mappings":";AACA,OAAOA,WAAW,MAAM,wBAAwB;AAEhD,OAAOC,uBAAuB,MAAM,uCAAuC;AAG3E;AACA;AACA;AACA,eAAe,MAAMC,gBAAgB,SAASF,WAAW,CAAoB;EAC3E;AACF;EACEG,MAAMA,CAACC,SAAwB,EAAEC,KAAa,EAAE;IAC9C,IAAI,IAAI,CAACD,SAAS,YAAYH,uBAAuB,EAAE;MACrD,IAAI,CAACG,SAAS,CAACD,MAAM,CAACE,KAAK,EAAED,SAAS,CAAC;IACzC,CAAC,MAAM,IAAI,IAAI,CAACA,SAAS,KAAK,IAAI,EAAE;MAClC,IAAI,CAACA,SAAS,CAACD,MAAM,CAACE,KAAK,CAAC;IAC9B;EACF;;EAEA;AACF;EACE,IAAIC,MAAMA,CAAA,EAA4C;IACpD,IAAI,IAAI,CAACF,SAAS,YAAYH,uBAAuB,EAAE;MAAA,IAAAM,QAAA;MACrD,OAAOC,oBAAA,CAAAD,QAAA,OAAI,CAACH,SAAS,CAACK,QAAQ,EAAAC,IAAA,CAAAH,QAAA,EAAMI,KAAK,IAAK;QAC5C,MAAM;UAAEC;QAAM,CAAC,GAAG,IAAI,CAACC,IAAI,CAACF,KAAK,CAACG,IAAI,CAAC;QACvC,OAAO;UACLA,IAAI,EAAEF,KAAK;UACXP,KAAK,EAAEM,KAAK,CAACN;QACf,CAAC;MACH,CAAC,CAAC;IACJ;IAEA,OAAO,EAAE;EACX;AACF","ignoreList":[]}
1
+ {"version":3,"file":"RangeFilterModel.js","names":["FilterModel","CompositeAttributeModel","RangeFilterModel","update","attribute","value","params","_context","_mapInstanceProperty","children","call","child","param","data","name"],"sources":["../../../src/models/filters/RangeFilterModel.js"],"sourcesContent":["// @flow\nimport FilterModel from \"../filters/FilterModel\";\n\nimport CompositeAttributeModel from \"../attributes/CompositeAttributeModel\";\nimport type { AttributeType, IFilter } from \"../types\";\n\n/**\n * Range filter, for instance a date range filter or a number range filter\n */\nexport default class RangeFilterModel extends FilterModel implements IFilter {\n /**\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute instanceof CompositeAttributeModel) {\n this.attribute.update(value, attribute);\n } else if (this.attribute != null) {\n this.attribute.update(value);\n }\n }\n\n /**\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (this.attribute instanceof CompositeAttributeModel) {\n return this.attribute.children.map((child) => {\n const { param } = this.data[child.name];\n return {\n name: param,\n value: child.value,\n };\n });\n }\n\n return [];\n }\n}\n"],"mappings":";AACA,OAAOA,WAAW,MAAM,wBAAwB;AAEhD,OAAOC,uBAAuB,MAAM,uCAAuC;AAG3E;AACA;AACA;AACA,eAAe,MAAMC,gBAAgB,SAASF,WAAW,CAAoB;EAC3E;AACF;EACEG,MAAMA,CAACC,SAAwB,EAAEC,KAAa,EAAE;IAC9C,IAAI,IAAI,CAACD,SAAS,YAAYH,uBAAuB,EAAE;MACrD,IAAI,CAACG,SAAS,CAACD,MAAM,CAACE,KAAK,EAAED,SAAS,CAAC;IACzC,CAAC,MAAM,IAAI,IAAI,CAACA,SAAS,IAAI,IAAI,EAAE;MACjC,IAAI,CAACA,SAAS,CAACD,MAAM,CAACE,KAAK,CAAC;IAC9B;EACF;;EAEA;AACF;EACE,IAAIC,MAAMA,CAAA,EAA4C;IACpD,IAAI,IAAI,CAACF,SAAS,YAAYH,uBAAuB,EAAE;MAAA,IAAAM,QAAA;MACrD,OAAOC,oBAAA,CAAAD,QAAA,OAAI,CAACH,SAAS,CAACK,QAAQ,EAAAC,IAAA,CAAAH,QAAA,EAAMI,KAAK,IAAK;QAC5C,MAAM;UAAEC;QAAM,CAAC,GAAG,IAAI,CAACC,IAAI,CAACF,KAAK,CAACG,IAAI,CAAC;QACvC,OAAO;UACLA,IAAI,EAAEF,KAAK;UACXP,KAAK,EAAEM,KAAK,CAACN;QACf,CAAC;MACH,CAAC,CAAC;IACJ;IAEA,OAAO,EAAE;EACX;AACF","ignoreList":[]}
@@ -268,7 +268,7 @@ class Href {
268
268
  */
269
269
  getQuerystringForModularUI(prefix = "") {
270
270
  var _context9, _context0;
271
- return _mapInstanceProperty(_context9 = _filterInstanceProperty(_context0 = this.parameters).call(_context0, param => param.isModUIParameter && (!prefix || !param.prefix || param.prefix === prefix) && param.value != null)).call(_context9, param => param.toQuerystring(false)).join("&");
271
+ return _mapInstanceProperty(_context9 = _filterInstanceProperty(_context0 = this.parameters).call(_context0, param => param.isModUIParameter && (!prefix || !param.prefix || param.prefix === prefix) && param.value != null && param.value !== "")).call(_context9, param => param.toQuerystring(false)).join("&");
272
272
  }
273
273
 
274
274
  /**
@@ -278,6 +278,15 @@ class Href {
278
278
  return this.getQuerystring(false);
279
279
  }
280
280
 
281
+ /**
282
+ * Retrieve all parameters from the parameter collection in a querystring style prefix~name1=value1&prefix~name2=value2, with the prefix
283
+ * The prefix is used to identify parameters per component on a grouping panel
284
+ * @returns {string}
285
+ */
286
+ get publicQuerystring() {
287
+ return this.getQuerystring(true);
288
+ }
289
+
281
290
  /**
282
291
  * Set the path of the Href, the part before the querystring question mark
283
292
  */
@@ -354,6 +363,22 @@ class Href {
354
363
  return this;
355
364
  }
356
365
 
366
+ /**
367
+ */
368
+ set formdata(formdata) {
369
+ const currentState = this.state ?? {};
370
+ this.state = {
371
+ ...currentState,
372
+ formdata
373
+ };
374
+ }
375
+
376
+ /**
377
+ */
378
+ get formdata() {
379
+ return this.state?.formdata;
380
+ }
381
+
357
382
  /**
358
383
  * Set resourctype
359
384
  */
@@ -473,7 +498,7 @@ class Href {
473
498
  toLocation() {
474
499
  return {
475
500
  pathname: this.path,
476
- search: this.querystring.length > 0 ? `?${this.querystring}` : "",
501
+ search: this.publicQuerystring.length > 0 ? `?${this.publicQuerystring}` : "",
477
502
  hash: this.hash.length > 0 ? `#${this.hash}` : "",
478
503
  state: {
479
504
  origin: this.origin,
@@ -322,7 +322,8 @@ class Href {
322
322
  (param) =>
323
323
  param.isModUIParameter &&
324
324
  (!prefix || !param.prefix || param.prefix === prefix) &&
325
- param.value != null,
325
+ param.value != null &&
326
+ param.value !== "",
326
327
  )
327
328
  .map((param) => param.toQuerystring(false))
328
329
  .join("&");
@@ -335,6 +336,15 @@ class Href {
335
336
  return this.getQuerystring(false);
336
337
  }
337
338
 
339
+ /**
340
+ * Retrieve all parameters from the parameter collection in a querystring style prefix~name1=value1&prefix~name2=value2, with the prefix
341
+ * The prefix is used to identify parameters per component on a grouping panel
342
+ * @returns {string}
343
+ */
344
+ get publicQuerystring(): string {
345
+ return this.getQuerystring(true);
346
+ }
347
+
338
348
  /**
339
349
  * Set the path of the Href, the part before the querystring question mark
340
350
  */
@@ -412,6 +422,23 @@ class Href {
412
422
  return this;
413
423
  }
414
424
 
425
+ /**
426
+ */
427
+ set formdata(formdata: any) {
428
+ const currentState = this.state ?? {};
429
+
430
+ this.state = {
431
+ ...currentState,
432
+ formdata,
433
+ };
434
+ }
435
+
436
+ /**
437
+ */
438
+ get formdata(): any {
439
+ return this.state?.formdata;
440
+ }
441
+
415
442
  /**
416
443
  * Set resourctype
417
444
  */
@@ -550,7 +577,8 @@ class Href {
550
577
  toLocation(): LocationShape {
551
578
  return {
552
579
  pathname: this.path,
553
- search: this.querystring.length > 0 ? `?${this.querystring}` : "",
580
+ search:
581
+ this.publicQuerystring.length > 0 ? `?${this.publicQuerystring}` : "",
554
582
  hash: this.hash.length > 0 ? `#${this.hash}` : "",
555
583
  state: {
556
584
  origin: this.origin,
@@ -1 +1 @@
1
- {"version":3,"file":"Href.js","names":["getBasePathModularUI","HTTP_METHODS","CONTENT_PATH","Parameter","Href","constructor","href","resourcetype","modelOptions","_defineProperty","GET","setFromHref","setFromString","setFromLocationOrObject","origin","contextPath","path","parameters","hash","state","_origin","_contextPath","pathname","_path","search","addParametersFromString","Array","isArray","_parameters","_context","_mapInstanceProperty","call","param","addParameter","_name","_value","_prefix","getHashFromString","_hash","setStateFromLocationOrObject","_state","getPathFromString","isChangePassword","_context2","_includesInstanceProperty","isCamelRoute","_startsWithInstanceProperty","checkAbsoluteUrl","checkAbsolute","RegExp","test","isExternal","hrefNoHash","substring","indexOf","split","substr","forEach","paramFromString","fromString","setParameter","name","value","prefix","removeParameter","push","getParameter","_context3","_findInstanceProperty","hasParameter","undefined","method","_method","_context4","valueToRemove","_context5","newValue","Function","bind","_filterInstanceProperty","val","join","_context6","getQuerystring","withPrefix","_context7","_context8","toQuerystring","getQuerystringForModularUI","_context9","_context0","isModUIParameter","querystring","setState","_resourcetype","absolutepath","length","absolutehref","absolutehrefPrefixedQuerystring","startsWith","thisPath","otherPath","equals","equalsWithParameters","other","_context1","thisParams","toString","every","isContent","_context10","getReferenceHash","_referenceHash","setReferenceHash","referenceHash","toLocation"],"sources":["../../../src/models/href/Href.js"],"sourcesContent":["// @flow\nimport {\n getBasePathModularUI,\n HTTP_METHODS,\n CONTENT_PATH,\n} from \"../../constants\";\n\nimport Parameter from \"../parameter/Parameter\";\n\nimport type { LocationShape } from \"react-router\";\nimport type { ModelOptions } from \"../types\";\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 _origin: string = \"\";\n _contextPath: string = getBasePathModularUI();\n\n /**\n * Create a Href\n */\n constructor(\n href?: HrefInput,\n resourcetype?: string,\n modelOptions?: ?ModelOptions,\n ) {\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 if (typeof modelOptions?.origin === \"string\") {\n this.origin = modelOptions.origin;\n }\n\n if (typeof modelOptions?.contextPath === \"string\") {\n this.contextPath = modelOptions.contextPath;\n }\n }\n\n /**\n * Set parameters from Href model input\n */\n setFromHref(href: Href) {\n this.origin = href.origin;\n this.contextPath = href.contextPath;\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 // $FlowFixMe\n if (typeof href._origin === \"string\") {\n this.origin = href._origin;\n }\n // $FlowFixMe\n if (typeof href._contextPath === \"string\") {\n this.contextPath = href._contextPath;\n }\n\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 (typeof href.state === \"object\") {\n this.setStateFromLocationOrObject(href.state);\n } else if (typeof href._state === \"object\") {\n this.setStateFromLocationOrObject(href._state);\n }\n }\n\n /**\n */\n setStateFromLocationOrObject(state?: any) {\n if (state != null) {\n this.state = state;\n if (typeof state.contextPath === \"string\") {\n this.contextPath = state.contextPath;\n }\n if (typeof state.origin === \"string\") {\n this.origin = state.origin;\n }\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 hrefNoHash = href.includes(\"#\")\n ? href.substring(0, href.indexOf(\"#\"))\n : href;\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 * Retrieve the origin (e.g. http://example.com:18080)<br>\n * Empty when the default must be used\n */\n get origin(): string {\n return this._origin ?? \"\";\n }\n\n /**\n * Set the origin (e.g. http://example.com:18080)\n */\n set origin(origin: string) {\n this._origin = origin;\n }\n\n /**\n * Get the context path\n */\n get contextPath(): string {\n return this._contextPath;\n }\n\n /**\n * Set the context path if different from default\n */\n set contextPath(contextPath: string) {\n this._contextPath = contextPath;\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 this.origin + this.contextPath + 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 | null): 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(other: Href | string | null): boolean {\n if (other == null) {\n return false;\n }\n\n const href = other instanceof Href ? other : new Href(other);\n\n if (!this.equals(href)) {\n return false;\n }\n\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 /**\n * Indicates if the link is a content link\n */\n get isContent(): boolean {\n return this.absolutepath.startsWith(\n `${getBasePathModularUI()}${CONTENT_PATH}`,\n );\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: {\n origin: this.origin,\n contextPath: this.contextPath,\n ...this.state,\n },\n };\n }\n}\n\nexport default Href;\n"],"mappings":";;;;;;AACA,SACEA,oBAAoB,EACpBC,YAAY,EACZC,YAAY,QACP,iBAAiB;AAExB,OAAOC,SAAS,MAAM,wBAAwB;AAiB9C;AACA;AACA;AACA,MAAMC,IAAI,CAAC;EAWT;AACF;AACA;EACEC,WAAWA,CACTC,IAAgB,EAChBC,YAAqB,EACrBC,YAA4B,EAC5B;IAAAC,eAAA,gBAjBc,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;IAAAA,eAAA,kBAEA,EAAE;IAAAA,eAAA,uBACGT,oBAAoB,CAAC,CAAC;IAU3C,IAAI,CAACO,YAAY,GAAGA,YAAY,IAAI,EAAE;IAEtC,IAAID,IAAI,YAAYF,IAAI,EAAE;MACxB,IAAI,CAACO,WAAW,CAACL,IAAI,CAAC;IACxB,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MACnC,IAAI,CAACM,aAAa,CAACN,IAAI,CAAC;IAC1B,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MACnC,IAAI,CAACO,uBAAuB,CAACP,IAAI,CAAC;IACpC;IAEA,IAAI,OAAOE,YAAY,EAAEM,MAAM,KAAK,QAAQ,EAAE;MAC5C,IAAI,CAACA,MAAM,GAAGN,YAAY,CAACM,MAAM;IACnC;IAEA,IAAI,OAAON,YAAY,EAAEO,WAAW,KAAK,QAAQ,EAAE;MACjD,IAAI,CAACA,WAAW,GAAGP,YAAY,CAACO,WAAW;IAC7C;EACF;;EAEA;AACF;AACA;EACEJ,WAAWA,CAACL,IAAU,EAAE;IACtB,IAAI,CAACQ,MAAM,GAAGR,IAAI,CAACQ,MAAM;IACzB,IAAI,CAACC,WAAW,GAAGT,IAAI,CAACS,WAAW;IACnC,IAAI,CAACC,IAAI,GAAGV,IAAI,CAACU,IAAI;IACrB,IAAI,CAACC,UAAU,GAAGX,IAAI,CAACW,UAAU;IACjC,IAAI,CAACC,IAAI,GAAGZ,IAAI,CAACY,IAAI;IACrB,IAAI,CAACC,KAAK,GAAGb,IAAI,CAACa,KAAK;EACzB;;EAEA;AACF;EACEN,uBAAuBA,CAACP,IAAgC,EAAE;IACxD;IACA,IAAI,OAAOA,IAAI,CAACc,OAAO,KAAK,QAAQ,EAAE;MACpC,IAAI,CAACN,MAAM,GAAGR,IAAI,CAACc,OAAO;IAC5B;IACA;IACA,IAAI,OAAOd,IAAI,CAACe,YAAY,KAAK,QAAQ,EAAE;MACzC,IAAI,CAACN,WAAW,GAAGT,IAAI,CAACe,YAAY;IACtC;IAEA,IAAI,OAAOf,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE;MACxC,IAAI,CAACU,IAAI,GAAGV,IAAI,CAACgB,QAAQ;IAC3B,CAAC,MAAM,IAAI,OAAOhB,IAAI,CAACiB,KAAK,KAAK,QAAQ,EAAE;MACzC,IAAI,CAACP,IAAI,GAAGV,IAAI,CAACiB,KAAK;IACxB;IAEA,IAAIjB,IAAI,CAACkB,MAAM,EAAE;MACf,IAAI,CAACC,uBAAuB,CAACnB,IAAI,CAACkB,MAAM,CAAC;IAC3C,CAAC,MAAM,IAAIE,KAAK,CAACC,OAAO,CAACrB,IAAI,CAACsB,WAAW,CAAC,EAAE;MAAA,IAAAC,QAAA;MAC1C;MACAC,oBAAA,CAAAD,QAAA,GAAAvB,IAAI,CAACsB,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,IAAI9B,IAAI,CAACY,IAAI,EAAE;MACb,IAAI,CAACA,IAAI,GAAGd,IAAI,CAACiC,iBAAiB,CAAC/B,IAAI,CAACY,IAAI,CAAC;IAC/C,CAAC,MAAM,IAAI,OAAOZ,IAAI,CAACgC,KAAK,KAAK,QAAQ,EAAE;MACzC,IAAI,CAACpB,IAAI,GAAGZ,IAAI,CAACgC,KAAK;IACxB;IAEA,IAAI,OAAOhC,IAAI,CAACa,KAAK,KAAK,QAAQ,EAAE;MAClC,IAAI,CAACoB,4BAA4B,CAACjC,IAAI,CAACa,KAAK,CAAC;IAC/C,CAAC,MAAM,IAAI,OAAOb,IAAI,CAACkC,MAAM,KAAK,QAAQ,EAAE;MAC1C,IAAI,CAACD,4BAA4B,CAACjC,IAAI,CAACkC,MAAM,CAAC;IAChD;EACF;;EAEA;AACF;EACED,4BAA4BA,CAACpB,KAAW,EAAE;IACxC,IAAIA,KAAK,IAAI,IAAI,EAAE;MACjB,IAAI,CAACA,KAAK,GAAGA,KAAK;MAClB,IAAI,OAAOA,KAAK,CAACJ,WAAW,KAAK,QAAQ,EAAE;QACzC,IAAI,CAACA,WAAW,GAAGI,KAAK,CAACJ,WAAW;MACtC;MACA,IAAI,OAAOI,KAAK,CAACL,MAAM,KAAK,QAAQ,EAAE;QACpC,IAAI,CAACA,MAAM,GAAGK,KAAK,CAACL,MAAM;MAC5B;IACF;EACF;;EAEA;AACF;AACA;EACEF,aAAaA,CAACN,IAAY,EAAE;IAC1B,IAAI,CAACU,IAAI,GAAGZ,IAAI,CAACqC,iBAAiB,CAACnC,IAAI,CAAC;IACxC,IAAI,CAACmB,uBAAuB,CAACnB,IAAI,CAAC;IAClC,IAAI,CAACY,IAAI,GAAGd,IAAI,CAACiC,iBAAiB,CAAC/B,IAAI,CAAC;EAC1C;;EAEA;AACF;EACE,IAAIoC,gBAAgBA,CAAA,EAAY;IAAA,IAAAC,SAAA;IAC9B,OAAOC,yBAAA,CAAAD,SAAA,OAAI,CAACpB,KAAK,EAAAQ,IAAA,CAAAY,SAAA,EAAU,kBAAkB,CAAC;EAChD;;EAEA;AACF;AACA;EACE,OAAOE,YAAYA,CAAC7B,IAAY,EAAW;IACzC,OACE8B,2BAAA,CAAA9B,IAAI,EAAAe,IAAA,CAAJf,IAAI,EAAY,eAAe,CAAC,IAAI,CAAC8B,2BAAA,CAAA9B,IAAI,EAAAe,IAAA,CAAJf,IAAI,EAAY,kBAAkB,CAAC;EAE5E;;EAEA;AACF;EACE,OAAO+B,gBAAgBA,CAACzC,IAAY,EAAW;IAC7C,MAAM0C,aAAa,GAAG,IAAIC,MAAM,CAAC,iBAAiB,EAAE,GAAG,CAAC;IACxD,OAAOD,aAAa,CAACE,IAAI,CAAC5C,IAAI,CAAC;EACjC;;EAEA;EACA;AACF;EACE,IAAI6C,UAAUA,CAAA,EAAY;IACxB,OAAO/C,IAAI,CAAC2C,gBAAgB,CAAC,IAAI,CAAC/B,IAAI,CAAC;EACzC;;EAEA;AACF;AACA;EACE,OAAOyB,iBAAiBA,CAACnC,IAAY,EAAU;IAC7C,MAAM8C,UAAU,GAAGR,yBAAA,CAAAtC,IAAI,EAAAyB,IAAA,CAAJzB,IAAI,EAAU,GAAG,CAAC,GACjCA,IAAI,CAAC+C,SAAS,CAAC,CAAC,EAAE/C,IAAI,CAACgD,OAAO,CAAC,GAAG,CAAC,CAAC,GACpChD,IAAI;IAER,OAAOsC,yBAAA,CAAAQ,UAAU,EAAArB,IAAA,CAAVqB,UAAU,EAAU,GAAG,CAAC,GAAGA,UAAU,CAACG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAGH,UAAU;EACzE;;EAEA;AACF;AACA;EACE,OAAOf,iBAAiBA,CAAC/B,IAAY,GAAG,EAAE,EAAU;IAClD,OAAOsC,yBAAA,CAAAtC,IAAI,EAAAyB,IAAA,CAAJzB,IAAI,EAAU,GAAG,CAAC,GAAGA,IAAI,CAACkD,MAAM,CAAClD,IAAI,CAACgD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE;EACrE;;EAEA;AACF;AACA;EACE7B,uBAAuBA,CAACnB,IAAY,EAAQ;IAC1C,IAAIsC,yBAAA,CAAAtC,IAAI,EAAAyB,IAAA,CAAJzB,IAAI,EAAU,GAAG,CAAC,EAAE;MACtBA,IAAI,CACDiD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACbA,KAAK,CAAC,GAAG,CAAC,CACVE,OAAO,CAAEzB,KAAK,IAAK;QAClB,MAAM0B,eAAe,GAAGvD,SAAS,CAACwD,UAAU,CAAC3B,KAAK,CAAC;QACnD,IAAI0B,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;EACE9B,YAAYA,CAAC4B,IAAY,EAAEC,KAAc,EAAEC,MAAe,EAAQ;IAChE,IAAID,KAAK,KAAK,IAAI,EAAE;MAClB,IAAI,CAACE,eAAe,CAACH,IAAI,EAAEE,MAAM,CAAC;MAClC,IAAI,CAACnC,WAAW,CAACqC,IAAI,CAAC,IAAI9D,SAAS,CAAC4D,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,CAAC9B,YAAY,CAAC4B,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,CAACvC,WAAW,EAAAG,IAAA,CAAAoC,SAAA,EACpBnC,KAAK,IAAKA,KAAK,CAAC+B,MAAM,KAAKA,MAAM,IAAI/B,KAAK,CAAC6B,IAAI,KAAKA,IACvD,CAAC;EACH;;EAEA;AACF;EACEQ,YAAYA,CAACR,IAAY,EAAEE,MAAe,EAAW;IACnD,OAAO,IAAI,CAACG,YAAY,CAACL,IAAI,EAAEE,MAAM,CAAC,KAAKO,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,IAAItE,YAAY,CAACS,GAAG;EAC3C;;EAEA;AACF;AACA;EACE,IAAIO,UAAUA,CAAA,EAAqB;IACjC,OAAO,IAAI,CAACW,WAAW;EACzB;;EAEA;AACF;AACA;EACE,IAAIX,UAAUA,CAACA,UAA4B,EAAE;IAC3C,IAAI,CAACW,WAAW,GAAGX,UAAU;EAC/B;;EAEA;AACF;AACA;EACE+C,eAAeA,CAACH,IAAY,EAAEE,MAAe,EAAED,KAAc,EAAQ;IACnE,IAAIA,KAAK,IAAIQ,SAAS,EAAE;MAAA,IAAAG,SAAA;MACtB,MAAMC,aAAa,GAAGZ,KAAK;MAE3B,IAAI,CAAClC,WAAW,GAAGE,oBAAA,CAAA2C,SAAA,OAAI,CAAC7C,WAAW,EAAAG,IAAA,CAAA0C,SAAA,EAAMzC,KAAK,IAAK;QACjD,IAAIA,KAAK,CAAC+B,MAAM,KAAKA,MAAM,IAAI/B,KAAK,CAAC6B,IAAI,KAAKA,IAAI,EAAE;UAAA,IAAAc,SAAA;UAClD,MAAMC,QAAQ,GAAG,EAAAD,SAAA,GAAA3C,KAAK,CAAC8B,KAAK,EACxBP,KAAK,CAAC,GAAG,CAAC,qBAAAsB,QAAA,CAAA9C,IAAA,CAAA+C,IAAA,CAAAC,uBAAA,CAAAJ,SAAA,GAAAA,SAAA,KACHK,GAAG,IAAKA,GAAG,KAAKN,aAAa,CAAC,CACtCO,IAAI,CAAC,GAAG,CAAC;UACZ,OAAO,IAAI9E,SAAS,CAAC6B,KAAK,CAAC+B,MAAM,EAAE/B,KAAK,CAAC6B,IAAI,EAAEe,QAAQ,CAAC;QAC1D;QACA,OAAO5C,KAAK;MACd,CAAC,CAAC;IACJ,CAAC,MAAM;MAAA,IAAAkD,SAAA;MACL,IAAI,CAACtD,WAAW,GAAGmD,uBAAA,CAAAG,SAAA,OAAI,CAACtD,WAAW,EAAAG,IAAA,CAAAmD,SAAA,EAChClD,KAAK,IAAKA,KAAK,CAAC+B,MAAM,KAAKA,MAAM,IAAI/B,KAAK,CAAC6B,IAAI,KAAKA,IACvD,CAAC;IACH;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEsB,cAAcA,CAACC,UAAmB,GAAG,KAAK,EAAU;IAAA,IAAAC,SAAA,EAAAC,SAAA;IAClD,OAAOxD,oBAAA,CAAAuD,SAAA,GAAAN,uBAAA,CAAAO,SAAA,OAAI,CAACrE,UAAU,EAAAc,IAAA,CAAAuD,SAAA,EACXtD,KAAK,IAAKA,KAAK,CAAC8B,KAAK,IAAI,IAAI,IAAI9B,KAAK,CAAC8B,KAAK,KAAK,EAAE,CAAC,EAAA/B,IAAA,CAAAsD,SAAA,EACvDrD,KAAK,IAAKA,KAAK,CAACuD,aAAa,CAACH,UAAU,CAAC,CAAC,CAC/CH,IAAI,CAAC,GAAG,CAAC;EACd;;EAEA;AACF;AACA;EACEO,0BAA0BA,CAACzB,MAAc,GAAG,EAAE,EAAU;IAAA,IAAA0B,SAAA,EAAAC,SAAA;IACtD,OAAO5D,oBAAA,CAAA2D,SAAA,GAAAV,uBAAA,CAAAW,SAAA,OAAI,CAACzE,UAAU,EAAAc,IAAA,CAAA2D,SAAA,EAEjB1D,KAAK,IACJA,KAAK,CAAC2D,gBAAgB,KACrB,CAAC5B,MAAM,IAAI,CAAC/B,KAAK,CAAC+B,MAAM,IAAI/B,KAAK,CAAC+B,MAAM,KAAKA,MAAM,CAAC,IACrD/B,KAAK,CAAC8B,KAAK,IAAI,IACnB,CAAC,EAAA/B,IAAA,CAAA0D,SAAA,EACKzD,KAAK,IAAKA,KAAK,CAACuD,aAAa,CAAC,KAAK,CAAC,CAAC,CAC1CN,IAAI,CAAC,GAAG,CAAC;EACd;;EAEA;AACF;AACA;EACE,IAAIW,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACT,cAAc,CAAC,KAAK,CAAC;EACnC;;EAEA;AACF;AACA;EACE,IAAInE,IAAIA,CAACA,IAAY,EAAE;IACrB,IAAI,CAACO,KAAK,GAAGP,IAAI;EACnB;;EAEA;AACF;AACA;EACE,IAAIA,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACO,KAAK,IAAI,EAAE;EACzB;;EAEA;AACF;AACA;AACA;EACE,IAAIT,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACM,OAAO,IAAI,EAAE;EAC3B;;EAEA;AACF;AACA;EACE,IAAIN,MAAMA,CAACA,MAAc,EAAE;IACzB,IAAI,CAACM,OAAO,GAAGN,MAAM;EACvB;;EAEA;AACF;AACA;EACE,IAAIC,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACM,YAAY;EAC1B;;EAEA;AACF;AACA;EACE,IAAIN,WAAWA,CAACA,WAAmB,EAAE;IACnC,IAAI,CAACM,YAAY,GAAGN,WAAW;EACjC;;EAEA;AACF;AACA;EACE,IAAIG,IAAIA,CAACA,IAAY,EAAE;IACrB,IAAI,CAACoB,KAAK,GAAGpB,IAAI;EACnB;;EAEA;AACF;AACA;EACE,IAAIA,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACoB,KAAK;EACnB;;EAEA;AACF;EACE,IAAInB,KAAKA,CAACA,KAAU,EAAE;IACpB,IAAI,CAACqB,MAAM,GAAGrB,KAAK;EACrB;;EAEA;AACF;EACE,IAAIA,KAAKA,CAAA,EAAQ;IACf,OAAO,IAAI,CAACqB,MAAM;EACpB;;EAEA;AACF;EACEqD,QAAQA,CAAC1E,KAAU,EAAQ;IACzB,IAAI,CAACA,KAAK,GAAGA,KAAK;IAElB,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACE,IAAIZ,YAAYA,CAACA,YAAoB,EAAE;IACrC,IAAI,CAACuF,aAAa,GAAGvF,YAAY;EACnC;;EAEA;AACF;AACA;EACE,IAAIA,YAAYA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACuF,aAAa;EAC3B;;EAEA;AACF;AACA;EACE,IAAIC,YAAYA,CAAA,EAAW;IACzB,IAAI,IAAI,CAAC5C,UAAU,EAAE;MACnB,OAAO,IAAI,CAACnC,IAAI;IAClB;IAEA,OAAO,IAAI,CAACF,MAAM,GAAG,IAAI,CAACC,WAAW,GAAG,IAAI,CAACC,IAAI;EACnD;;EAEA;AACF;AACA;EACE,IAAIV,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACsF,WAAW,CAACI,MAAM,GAAG,CAAC,GAC9B,CAAC,IAAI,CAAChF,IAAI,EAAE,IAAI,CAAC4E,WAAW,CAAC,CAACX,IAAI,CAAC,GAAG,CAAC,GACvC,IAAI,CAACjE,IAAI;EACf;;EAEA;AACF;AACA;EACE,IAAIiF,YAAYA,CAAA,EAAW;IACzB,MAAML,WAAW,GAAG,IAAI,CAACT,cAAc,CAAC,KAAK,CAAC;IAE9C,OAAOS,WAAW,CAACI,MAAM,GAAG,CAAC,GACzB,CAAC,IAAI,CAACD,YAAY,EAAEH,WAAW,CAAC,CAACX,IAAI,CAAC,GAAG,CAAC,GAC1C,IAAI,CAACc,YAAY;EACvB;;EAEA;AACF;AACA;EACE,IAAIG,+BAA+BA,CAAA,EAAW;IAC5C,MAAMN,WAAW,GAAG,IAAI,CAACT,cAAc,CAAC,IAAI,CAAC;IAE7C,OAAOS,WAAW,CAACI,MAAM,GAAG,CAAC,GACzB,CAAC,IAAI,CAACD,YAAY,EAAEH,WAAW,CAAC,CAACX,IAAI,CAAC,GAAG,CAAC,GAC1C,IAAI,CAACc,YAAY;EACvB;;EAEA;AACF;AACA;EACEI,UAAUA,CAAC7F,IAAmB,EAAW;IACvC,MAAM8F,QAAQ,GAAG,GAAG,IAAI,CAACpF,IAAI,GAAG;IAChC,MAAMqF,SAAS,GAAG/F,IAAI,YAAYF,IAAI,GAAG,GAAGE,IAAI,CAACU,IAAI,GAAG,GAAGV,IAAI;IAE/D,OAAOwC,2BAAA,CAAAsD,QAAQ,EAAArE,IAAA,CAARqE,QAAQ,EAAYC,SAAS,CAAC;EACvC;;EAEA;AACF;AACA;EACEC,MAAMA,CAAChG,IAA0B,EAAW;IAC1C,IAAIA,IAAI,YAAYF,IAAI,EAAE;MACxB,OAAO,IAAI,CAACY,IAAI,KAAKV,IAAI,CAACU,IAAI;IAChC;IAEA,OAAO,IAAI,CAACA,IAAI,KAAKV,IAAI;EAC3B;;EAEA;AACF;EACEiG,oBAAoBA,CAACC,KAA2B,EAAW;IAAA,IAAAC,SAAA;IACzD,IAAID,KAAK,IAAI,IAAI,EAAE;MACjB,OAAO,KAAK;IACd;IAEA,MAAMlG,IAAI,GAAGkG,KAAK,YAAYpG,IAAI,GAAGoG,KAAK,GAAG,IAAIpG,IAAI,CAACoG,KAAK,CAAC;IAE5D,IAAI,CAAC,IAAI,CAACF,MAAM,CAAChG,IAAI,CAAC,EAAE;MACtB,OAAO,KAAK;IACd;IAEA,IAAI,IAAI,CAACW,UAAU,CAAC+E,MAAM,KAAK1F,IAAI,CAACW,UAAU,CAAC+E,MAAM,EAAE;MACrD,OAAO,KAAK;IACd;IAEA,IAAI,IAAI,CAAC/E,UAAU,CAAC+E,MAAM,KAAK,CAAC,IAAI1F,IAAI,CAACW,UAAU,CAAC+E,MAAM,KAAK,CAAC,EAAE;MAChE,OAAO,IAAI;IACb;IAEA,MAAMU,UAAU,GAAG5E,oBAAA,CAAA2E,SAAA,OAAI,CAACxF,UAAU,EAAAc,IAAA,CAAA0E,SAAA,EAAMzE,KAAK,IAAKA,KAAK,CAAC2E,QAAQ,CAAC,CAAC,CAAC;IAEnE,OAAOrG,IAAI,CAACW,UAAU,CAAC2F,KAAK,CAAE5E,KAAK,IACjCY,yBAAA,CAAA8D,UAAU,EAAA3E,IAAA,CAAV2E,UAAU,EAAU1E,KAAK,CAAC2E,QAAQ,CAAC,CAAC,CACtC,CAAC;EACH;;EAEA;AACF;AACA;EACE,IAAIE,SAASA,CAAA,EAAY;IAAA,IAAAC,UAAA;IACvB,OAAOhE,2BAAA,CAAAgE,UAAA,OAAI,CAACf,YAAY,EAAAhE,IAAA,CAAA+E,UAAA,EACtB,GAAG9G,oBAAoB,CAAC,CAAC,GAAGE,YAAY,EAC1C,CAAC;EACH;;EAEA;AACF;EACE6G,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,CAACrG,IAAI;EAClB;;EAEA;AACF;EACE6G,UAAUA,CAAA,EAAkB;IAC1B,OAAO;MACL7F,QAAQ,EAAE,IAAI,CAACN,IAAI;MACnBQ,MAAM,EAAE,IAAI,CAACoE,WAAW,CAACI,MAAM,GAAG,CAAC,GAAG,IAAI,IAAI,CAACJ,WAAW,EAAE,GAAG,EAAE;MACjE1E,IAAI,EAAE,IAAI,CAACA,IAAI,CAAC8E,MAAM,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC9E,IAAI,EAAE,GAAG,EAAE;MACjDC,KAAK,EAAE;QACLL,MAAM,EAAE,IAAI,CAACA,MAAM;QACnBC,WAAW,EAAE,IAAI,CAACA,WAAW;QAC7B,GAAG,IAAI,CAACI;MACV;IACF,CAAC;EACH;AACF;AAEA,eAAef,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"Href.js","names":["getBasePathModularUI","HTTP_METHODS","CONTENT_PATH","Parameter","Href","constructor","href","resourcetype","modelOptions","_defineProperty","GET","setFromHref","setFromString","setFromLocationOrObject","origin","contextPath","path","parameters","hash","state","_origin","_contextPath","pathname","_path","search","addParametersFromString","Array","isArray","_parameters","_context","_mapInstanceProperty","call","param","addParameter","_name","_value","_prefix","getHashFromString","_hash","setStateFromLocationOrObject","_state","getPathFromString","isChangePassword","_context2","_includesInstanceProperty","isCamelRoute","_startsWithInstanceProperty","checkAbsoluteUrl","checkAbsolute","RegExp","test","isExternal","hrefNoHash","substring","indexOf","split","substr","forEach","paramFromString","fromString","setParameter","name","value","prefix","removeParameter","push","getParameter","_context3","_findInstanceProperty","hasParameter","undefined","method","_method","_context4","valueToRemove","_context5","newValue","Function","bind","_filterInstanceProperty","val","join","_context6","getQuerystring","withPrefix","_context7","_context8","toQuerystring","getQuerystringForModularUI","_context9","_context0","isModUIParameter","querystring","publicQuerystring","setState","formdata","currentState","_resourcetype","absolutepath","length","absolutehref","absolutehrefPrefixedQuerystring","startsWith","thisPath","otherPath","equals","equalsWithParameters","other","_context1","thisParams","toString","every","isContent","_context10","getReferenceHash","_referenceHash","setReferenceHash","referenceHash","toLocation"],"sources":["../../../src/models/href/Href.js"],"sourcesContent":["// @flow\nimport {\n getBasePathModularUI,\n HTTP_METHODS,\n CONTENT_PATH,\n} from \"../../constants\";\n\nimport Parameter from \"../parameter/Parameter\";\n\nimport type { LocationShape } from \"react-router\";\nimport type { ModelOptions } from \"../types\";\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 _origin: string = \"\";\n _contextPath: string = getBasePathModularUI();\n\n /**\n * Create a Href\n */\n constructor(\n href?: HrefInput,\n resourcetype?: string,\n modelOptions?: ?ModelOptions,\n ) {\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 if (typeof modelOptions?.origin === \"string\") {\n this.origin = modelOptions.origin;\n }\n\n if (typeof modelOptions?.contextPath === \"string\") {\n this.contextPath = modelOptions.contextPath;\n }\n }\n\n /**\n * Set parameters from Href model input\n */\n setFromHref(href: Href) {\n this.origin = href.origin;\n this.contextPath = href.contextPath;\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 // $FlowFixMe\n if (typeof href._origin === \"string\") {\n this.origin = href._origin;\n }\n // $FlowFixMe\n if (typeof href._contextPath === \"string\") {\n this.contextPath = href._contextPath;\n }\n\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 (typeof href.state === \"object\") {\n this.setStateFromLocationOrObject(href.state);\n } else if (typeof href._state === \"object\") {\n this.setStateFromLocationOrObject(href._state);\n }\n }\n\n /**\n */\n setStateFromLocationOrObject(state?: any) {\n if (state != null) {\n this.state = state;\n if (typeof state.contextPath === \"string\") {\n this.contextPath = state.contextPath;\n }\n if (typeof state.origin === \"string\") {\n this.origin = state.origin;\n }\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 hrefNoHash = href.includes(\"#\")\n ? href.substring(0, href.indexOf(\"#\"))\n : href;\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 param.value !== \"\",\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 * Retrieve all parameters from the parameter collection in a querystring style prefix~name1=value1&prefix~name2=value2, with the prefix\n * The prefix is used to identify parameters per component on a grouping panel\n * @returns {string}\n */\n get publicQuerystring(): string {\n return this.getQuerystring(true);\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 * Retrieve the origin (e.g. http://example.com:18080)<br>\n * Empty when the default must be used\n */\n get origin(): string {\n return this._origin ?? \"\";\n }\n\n /**\n * Set the origin (e.g. http://example.com:18080)\n */\n set origin(origin: string) {\n this._origin = origin;\n }\n\n /**\n * Get the context path\n */\n get contextPath(): string {\n return this._contextPath;\n }\n\n /**\n * Set the context path if different from default\n */\n set contextPath(contextPath: string) {\n this._contextPath = contextPath;\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 */\n set formdata(formdata: any) {\n const currentState = this.state ?? {};\n\n this.state = {\n ...currentState,\n formdata,\n };\n }\n\n /**\n */\n get formdata(): any {\n return this.state?.formdata;\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 this.origin + this.contextPath + 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 | null): 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(other: Href | string | null): boolean {\n if (other == null) {\n return false;\n }\n\n const href = other instanceof Href ? other : new Href(other);\n\n if (!this.equals(href)) {\n return false;\n }\n\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 /**\n * Indicates if the link is a content link\n */\n get isContent(): boolean {\n return this.absolutepath.startsWith(\n `${getBasePathModularUI()}${CONTENT_PATH}`,\n );\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:\n this.publicQuerystring.length > 0 ? `?${this.publicQuerystring}` : \"\",\n hash: this.hash.length > 0 ? `#${this.hash}` : \"\",\n state: {\n origin: this.origin,\n contextPath: this.contextPath,\n ...this.state,\n },\n };\n }\n}\n\nexport default Href;\n"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,7 @@ export default class ListHref extends Href {
20
20
  _defineProperty(this, "_sortingName", void 0);
21
21
  this._isPrefixed = isPrefixed;
22
22
  if (list != null) {
23
- this.setParameterNamesFromListModel(list);
23
+ this.setParametersFromListModel(list);
24
24
  } else if (href != null && href instanceof ListHref) {
25
25
  this.setParameterNamesFromHref(href);
26
26
  }
@@ -39,7 +39,7 @@ export default class ListHref extends Href {
39
39
  /**
40
40
  * Retrieve parameter names and settings from List model
41
41
  */
42
- setParameterNamesFromListModel(list) {
42
+ setParametersFromListModel(list) {
43
43
  this._prefix = this._isPrefixed ? list.key : null;
44
44
  this._pagingName = list.paging ? list.paging.name : "";
45
45
  this._pagesizeName = list.paging && list.paging.pagesize ? list.paging.pagesize.name : "";
@@ -48,6 +48,7 @@ export default class ListHref extends Href {
48
48
  this.pagesize = list.paging && list.paging.pagesize.options.length > 0 ? list.paging.pagesize.value : null;
49
49
  this.sort = list.sorting && list.sorting.param ? list.sorting.param : null;
50
50
  this.filterCollection = list.filterCollection;
51
+ this.formdata = list.formdata;
51
52
  }
52
53
 
53
54
  /**
@@ -28,7 +28,7 @@ export default class ListHref extends Href {
28
28
  this._isPrefixed = isPrefixed;
29
29
 
30
30
  if (list != null) {
31
- this.setParameterNamesFromListModel(list);
31
+ this.setParametersFromListModel(list);
32
32
  } else if (href != null && href instanceof ListHref) {
33
33
  this.setParameterNamesFromHref(href);
34
34
  }
@@ -47,7 +47,7 @@ export default class ListHref extends Href {
47
47
  /**
48
48
  * Retrieve parameter names and settings from List model
49
49
  */
50
- setParameterNamesFromListModel(list: ListModel) {
50
+ setParametersFromListModel(list: ListModel) {
51
51
  this._prefix = this._isPrefixed ? list.key : null;
52
52
 
53
53
  this._pagingName = list.paging ? list.paging.name : "";
@@ -65,6 +65,8 @@ export default class ListHref extends Href {
65
65
  this.sort = list.sorting && list.sorting.param ? list.sorting.param : null;
66
66
 
67
67
  this.filterCollection = list.filterCollection;
68
+
69
+ this.formdata = list.formdata;
68
70
  }
69
71
 
70
72
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ListHref.js","names":["Href","PARAMETER_TYPES","ListHref","constructor","href","list","isPrefixed","undefined","_defineProperty","_isPrefixed","setParameterNamesFromListModel","setParameterNamesFromHref","_prefix","prefix","_pagingName","pagingName","_pagesizeName","pagesizeName","_sortingName","sortingName","key","paging","name","pagesize","sorting","page","options","length","value","sort","param","filterCollection","pageValue","toString","setParameter","getParameter","pageSizeValue","filters","_filterInstanceProperty","call","filter","parameterType","QUERY","forEach","params","removeParameter"],"sources":["../../../src/models/href/ListHref.js"],"sourcesContent":["// @flow\nimport Href from \"./Href\";\nimport { PARAMETER_TYPES } from \"../../constants/Constants\";\n\nimport type FilterCollection from \"../filters/FilterCollection\";\nimport type ListModel from \"../list/ListModel\";\nimport type { HrefInput } from \"./Href\";\nimport type Parameter from \"../parameter/Parameter\";\n\n/**\n * Class representing the href of a list. It adds paging, sorting and filter parameters where necessary\n *\n * @augments Href\n */\nexport default class ListHref extends Href {\n _isPrefixed: boolean;\n _prefix: ?string;\n _pagingName: string;\n _pagesizeName: string;\n _sortingName: string;\n\n /**\n * Create a ListHref\n */\n constructor(href?: HrefInput, list?: ListModel, isPrefixed: boolean = true) {\n super(href, undefined);\n\n this._isPrefixed = isPrefixed;\n\n if (list != null) {\n this.setParameterNamesFromListModel(list);\n } else if (href != null && href instanceof ListHref) {\n this.setParameterNamesFromHref(href);\n }\n }\n\n /**\n * Retrieve parameter names from Href\n */\n setParameterNamesFromHref(href: ListHref) {\n this._prefix = this._isPrefixed ? href.prefix : null;\n this._pagingName = href.pagingName;\n this._pagesizeName = href.pagesizeName;\n this._sortingName = href.sortingName;\n }\n\n /**\n * Retrieve parameter names and settings from List model\n */\n setParameterNamesFromListModel(list: ListModel) {\n this._prefix = this._isPrefixed ? list.key : null;\n\n this._pagingName = list.paging ? list.paging.name : \"\";\n this._pagesizeName =\n list.paging && list.paging.pagesize ? list.paging.pagesize.name : \"\";\n\n this._sortingName = list.sorting ? list.sorting.name : \"\";\n\n this.page = list.paging ? list.paging.page : null;\n this.pagesize =\n list.paging && list.paging.pagesize.options.length > 0\n ? list.paging.pagesize.value\n : null;\n\n this.sort = list.sorting && list.sorting.param ? list.sorting.param : null;\n\n this.filterCollection = list.filterCollection;\n }\n\n /**\n * Getting prefix\n */\n get prefix(): ?string {\n return this._prefix;\n }\n\n /**\n * Getting paging name\n */\n get pagingName(): string {\n return this._pagingName;\n }\n\n /**\n * Getting pagesize name\n */\n get pagesizeName(): string {\n return this._pagesizeName;\n }\n\n /**\n * Getting sorting name\n */\n get sortingName(): string {\n return this._sortingName;\n }\n\n /**\n * Setting the current page\n */\n set page(page: ?number) {\n const pageValue = page == null ? null : page.toString();\n\n this.setParameter(this.pagingName, pageValue, this.prefix);\n }\n\n /**\n */\n get page(): ?Parameter {\n return this.getParameter(this.pagingName, this.prefix);\n }\n\n /**\n * Setting the sort value\n */\n set sort(sort: ?string) {\n this.setParameter(this.sortingName, sort, this.prefix);\n }\n\n /**\n * Setting the page size\n */\n set pagesize(pagesize: ?number) {\n const pageSizeValue = pagesize == null ? null : pagesize.toString();\n\n this.setParameter(this.pagesizeName, pageSizeValue, this.prefix);\n }\n\n /**\n * Add filter parameters to the parameter collection\n */\n set filterCollection(filters: FilterCollection) {\n if (!filters) {\n return;\n }\n\n filters\n .filter((filter) => filter.parameterType === PARAMETER_TYPES.QUERY)\n .forEach((filter) => {\n filter.params.forEach((param) => {\n if (param.value != null) {\n this.setParameter(param.name, param.value, this.prefix);\n } else {\n this.removeParameter(param.name, this.prefix);\n }\n });\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ListHref.js","names":["Href","PARAMETER_TYPES","ListHref","constructor","href","list","isPrefixed","undefined","_defineProperty","_isPrefixed","setParametersFromListModel","setParameterNamesFromHref","_prefix","prefix","_pagingName","pagingName","_pagesizeName","pagesizeName","_sortingName","sortingName","key","paging","name","pagesize","sorting","page","options","length","value","sort","param","filterCollection","formdata","pageValue","toString","setParameter","getParameter","pageSizeValue","filters","_filterInstanceProperty","call","filter","parameterType","QUERY","forEach","params","removeParameter"],"sources":["../../../src/models/href/ListHref.js"],"sourcesContent":["// @flow\nimport Href from \"./Href\";\nimport { PARAMETER_TYPES } from \"../../constants/Constants\";\n\nimport type FilterCollection from \"../filters/FilterCollection\";\nimport type ListModel from \"../list/ListModel\";\nimport type { HrefInput } from \"./Href\";\nimport type Parameter from \"../parameter/Parameter\";\n\n/**\n * Class representing the href of a list. It adds paging, sorting and filter parameters where necessary\n *\n * @augments Href\n */\nexport default class ListHref extends Href {\n _isPrefixed: boolean;\n _prefix: ?string;\n _pagingName: string;\n _pagesizeName: string;\n _sortingName: string;\n\n /**\n * Create a ListHref\n */\n constructor(href?: HrefInput, list?: ListModel, isPrefixed: boolean = true) {\n super(href, undefined);\n\n this._isPrefixed = isPrefixed;\n\n if (list != null) {\n this.setParametersFromListModel(list);\n } else if (href != null && href instanceof ListHref) {\n this.setParameterNamesFromHref(href);\n }\n }\n\n /**\n * Retrieve parameter names from Href\n */\n setParameterNamesFromHref(href: ListHref) {\n this._prefix = this._isPrefixed ? href.prefix : null;\n this._pagingName = href.pagingName;\n this._pagesizeName = href.pagesizeName;\n this._sortingName = href.sortingName;\n }\n\n /**\n * Retrieve parameter names and settings from List model\n */\n setParametersFromListModel(list: ListModel) {\n this._prefix = this._isPrefixed ? list.key : null;\n\n this._pagingName = list.paging ? list.paging.name : \"\";\n this._pagesizeName =\n list.paging && list.paging.pagesize ? list.paging.pagesize.name : \"\";\n\n this._sortingName = list.sorting ? list.sorting.name : \"\";\n\n this.page = list.paging ? list.paging.page : null;\n this.pagesize =\n list.paging && list.paging.pagesize.options.length > 0\n ? list.paging.pagesize.value\n : null;\n\n this.sort = list.sorting && list.sorting.param ? list.sorting.param : null;\n\n this.filterCollection = list.filterCollection;\n\n this.formdata = list.formdata;\n }\n\n /**\n * Getting prefix\n */\n get prefix(): ?string {\n return this._prefix;\n }\n\n /**\n * Getting paging name\n */\n get pagingName(): string {\n return this._pagingName;\n }\n\n /**\n * Getting pagesize name\n */\n get pagesizeName(): string {\n return this._pagesizeName;\n }\n\n /**\n * Getting sorting name\n */\n get sortingName(): string {\n return this._sortingName;\n }\n\n /**\n * Setting the current page\n */\n set page(page: ?number) {\n const pageValue = page == null ? null : page.toString();\n\n this.setParameter(this.pagingName, pageValue, this.prefix);\n }\n\n /**\n */\n get page(): ?Parameter {\n return this.getParameter(this.pagingName, this.prefix);\n }\n\n /**\n * Setting the sort value\n */\n set sort(sort: ?string) {\n this.setParameter(this.sortingName, sort, this.prefix);\n }\n\n /**\n * Setting the page size\n */\n set pagesize(pagesize: ?number) {\n const pageSizeValue = pagesize == null ? null : pagesize.toString();\n\n this.setParameter(this.pagesizeName, pageSizeValue, this.prefix);\n }\n\n /**\n * Add filter parameters to the parameter collection\n */\n set filterCollection(filters: FilterCollection) {\n if (!filters) {\n return;\n }\n\n filters\n .filter((filter) => filter.parameterType === PARAMETER_TYPES.QUERY)\n .forEach((filter) => {\n filter.params.forEach((param) => {\n if (param.value != null) {\n this.setParameter(param.name, param.value, this.prefix);\n } else {\n this.removeParameter(param.name, this.prefix);\n }\n });\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -386,7 +386,13 @@ export default class ListModel extends ResourceModel {
386
386
  /**
387
387
  */
388
388
  get formdata() {
389
- return _JSON$stringify(this.filterCollection.formdata);
389
+ const {
390
+ formdata
391
+ } = this.filterCollection;
392
+ if (formdata != null) {
393
+ return _JSON$stringify(formdata);
394
+ }
395
+ return null;
390
396
  }
391
397
  }
392
398
  //# sourceMappingURL=ListModel.js.map
@@ -448,7 +448,13 @@ export default class ListModel extends ResourceModel {
448
448
 
449
449
  /**
450
450
  */
451
- get formdata(): string {
452
- return JSON.stringify(this.filterCollection.formdata);
451
+ get formdata(): string | null {
452
+ const { formdata } = this.filterCollection;
453
+
454
+ if (formdata != null) {
455
+ return JSON.stringify(formdata);
456
+ }
457
+
458
+ return null;
453
459
  }
454
460
  }