@beinformed/ui 1.65.7 → 1.65.9

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 (64) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/esm/hooks/__tests__/UseModularUIModel.spec.js.flow +1 -1
  3. package/esm/hooks/index.js +3 -1
  4. package/esm/hooks/index.js.flow +3 -1
  5. package/esm/hooks/index.js.map +1 -1
  6. package/esm/hooks/useForm.js +3 -3
  7. package/esm/hooks/useForm.js.flow +7 -4
  8. package/esm/hooks/useForm.js.map +1 -1
  9. package/esm/hooks/useList.js +37 -26
  10. package/esm/hooks/useList.js.flow +140 -83
  11. package/esm/hooks/useList.js.map +1 -1
  12. package/esm/hooks/useLookup.js +62 -0
  13. package/esm/hooks/useLookup.js.flow +82 -0
  14. package/esm/hooks/useLookup.js.map +1 -0
  15. package/esm/hooks/useModularUIModel.js +0 -17
  16. package/esm/hooks/useModularUIModel.js.flow +0 -25
  17. package/esm/hooks/useModularUIModel.js.map +1 -1
  18. package/esm/hooks/useProgressIndicator.js +21 -6
  19. package/esm/hooks/useProgressIndicator.js.flow +27 -10
  20. package/esm/hooks/useProgressIndicator.js.map +1 -1
  21. package/esm/hooks/useSearch.js +19 -0
  22. package/esm/hooks/useSearch.js.flow +31 -0
  23. package/esm/hooks/useSearch.js.map +1 -0
  24. package/esm/models/attributes/AttributeSetModel.js +1 -1
  25. package/esm/models/attributes/AttributeSetModel.js.flow +1 -1
  26. package/esm/models/attributes/AttributeSetModel.js.map +1 -1
  27. package/esm/models/attributes/ChoiceAttributeModel.js +19 -2
  28. package/esm/models/attributes/ChoiceAttributeModel.js.flow +23 -2
  29. package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
  30. package/esm/models/links/LinkModel.js +17 -1
  31. package/esm/models/links/LinkModel.js.flow +18 -1
  32. package/esm/models/links/LinkModel.js.map +1 -1
  33. package/lib/hooks/index.js +26 -4
  34. package/lib/hooks/index.js.map +1 -1
  35. package/lib/hooks/useForm.js +5 -5
  36. package/lib/hooks/useForm.js.map +1 -1
  37. package/lib/hooks/useList.js +37 -26
  38. package/lib/hooks/useList.js.map +1 -1
  39. package/lib/hooks/useLookup.js +70 -0
  40. package/lib/hooks/useLookup.js.map +1 -0
  41. package/lib/hooks/useModularUIModel.js +1 -20
  42. package/lib/hooks/useModularUIModel.js.map +1 -1
  43. package/lib/hooks/useProgressIndicator.js +23 -7
  44. package/lib/hooks/useProgressIndicator.js.map +1 -1
  45. package/lib/hooks/useSearch.js +28 -0
  46. package/lib/hooks/useSearch.js.map +1 -0
  47. package/lib/models/attributes/AttributeSetModel.js +1 -1
  48. package/lib/models/attributes/AttributeSetModel.js.map +1 -1
  49. package/lib/models/attributes/ChoiceAttributeModel.js +18 -1
  50. package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
  51. package/lib/models/links/LinkModel.js +17 -0
  52. package/lib/models/links/LinkModel.js.map +1 -1
  53. package/package.json +3 -3
  54. package/src/hooks/__tests__/UseModularUIModel.spec.js +1 -1
  55. package/src/hooks/index.js +3 -1
  56. package/src/hooks/useForm.js +7 -4
  57. package/src/hooks/useList.js +140 -83
  58. package/src/hooks/useLookup.js +82 -0
  59. package/src/hooks/useModularUIModel.js +0 -25
  60. package/src/hooks/useProgressIndicator.js +27 -10
  61. package/src/hooks/useSearch.js +31 -0
  62. package/src/models/attributes/AttributeSetModel.js +1 -1
  63. package/src/models/attributes/ChoiceAttributeModel.js +23 -2
  64. package/src/models/links/LinkModel.js +18 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceAttributeModel.js","names":["klona","has","AttributeModel","ChoiceAttributeOptionCollection","ChoiceAttributeOptionModel","CompositeAttributeModel","ContentConfigurationElements","RENDER_SECTION_LABEL","SORT_OPTIONS","ATTRIBUTE_WIDTH","ChoiceAttributeModel","constructor","attribute","attributeContributions","modelOptions","_defineProperty","_referenceDate","getData","Date","toISOString","split","_options","create","referenceDate","layouthint","sortOptions","isApplicableModel","contributions","type","optionMode","getContribution","hasLookupLink","lookupLink","lookupListLink","optionType","isUser","getInitialChildModelLinks","links","hasContentConfiguration","hasContentFromData","conceptLink","push","options","setChildModels","models","errors","conceptLinkHref","href","concept","_findInstanceProperty","call","model","selfhref","equalsWithParameters","getLinkByKey","lookupListLabel","lookupList","label","date","selected","_context","_mapInstanceProperty","option","code","readonlyvalue","_context2","join","initvalue","Array","isArray","_initvalue","length","getValue","_context3","hasValue","getInputValue","toggleOption","_context4","_includesInstanceProperty","disableOption","enableOption","isMultiple","deselectAll","select","inputvalue","deselect","addOption","_context5","opt","choicetype","_context6","hint","multiplechoice","isTree","some","reset","mergeAttribute","oldAttribute","addNotExistingOptions","removeNotExistingOptions","readonly","mergeOptions","isValid","update","value","updateLastModification","values","forEach","val","isChoiceAttributeOptionModel","equals","newVal","add","toString","updateByAttribute","otherAttribute","otherValue","getChildrenIds","console","error","addMissingError","receivedAttribute","isChangedSince","_errorCollection","addServerError","_hasContentConfiguration","contentConfiguration","_context7","content","optionElements","optionElementConfig","optionElement","contentElement","placeholder","id","message","properties","ANSWER_OPTION_KEY","_context8","optionKey","foundOption","getContentConfiguredLabel","readonlyWidth","MEDIUM"],"sources":["../../../src/models/attributes/ChoiceAttributeModel.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\nimport { has } from \"../../utils/helpers/objects\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\nimport ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\n\nimport {\n RENDER_SECTION_LABEL,\n SORT_OPTIONS,\n} from \"../../constants/LayoutHints\";\nimport { ATTRIBUTE_WIDTH } from \"../../constants\";\n\nimport type {\n ModularUIModel,\n AttributeType,\n FormErrorAnchor,\n ModelOptions,\n} from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Model for a choice attribute\n */\nexport default class ChoiceAttributeModel extends AttributeModel {\n _referenceDate: ISO_DATE;\n _options: ChoiceAttributeOptionCollection;\n _hasContentConfiguration: boolean;\n\n /**\n * Constructs a choice attribute\n */\n constructor(\n attribute: Object,\n attributeContributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(attribute, attributeContributions, modelOptions);\n\n this._referenceDate = this.getData(\n \"referenceDate\",\n new Date().toISOString().split(\"T\")[0],\n );\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n { ...modelOptions, referenceDate: this.referenceDate },\n );\n\n if (this.layouthint.has(SORT_OPTIONS)) {\n this._options.sortOptions = true;\n }\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return (\n contributions.type !== \"composite\" &&\n contributions.type !== \"boolean\" &&\n (contributions.type === \"choice\" ||\n contributions.type === \"array\" ||\n has(contributions, \"enumerated\") ||\n has(contributions, \"options\"))\n );\n }\n\n /**\n */\n get type(): string {\n const optionMode = this.getContribution(\"optionMode\", \"\");\n const hasLookupLink = this.lookupLink || this.lookupListLink;\n\n if (\n optionMode === \"lookup\" ||\n (optionMode === \"dynamicWithThreshold\" && hasLookupLink)\n ) {\n return \"lookup\";\n }\n\n return \"choice\";\n }\n\n /**\n */\n get optionType(): string {\n return this.contributions?.optionType ?? \"generic\";\n }\n\n /**\n */\n get isUser(): boolean {\n return this.optionType === \"user\";\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const links = [];\n\n if (this.hasContentConfiguration) {\n if (!this.hasContentFromData && this.conceptLink) {\n links.push(this.conceptLink);\n }\n\n links.push(...this.options.getInitialChildModelLinks());\n }\n\n return links;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n const conceptLinkHref = this.conceptLink?.href;\n if (conceptLinkHref) {\n this.concept = models.find(\n (model) =>\n model.type === \"ConceptDetail\" &&\n model.selfhref.equalsWithParameters(conceptLinkHref),\n );\n }\n\n this.options.setChildModels(models, errors);\n }\n\n /**\n * Retrieve lookup service link\n */\n get lookupLink(): LinkModel | null {\n return this.links.getLinkByKey(\"lookupOptions\");\n }\n\n /**\n * Retrieve lookup service as list link\n */\n get lookupListLink(): LinkModel | null {\n return this.links.getLinkByKey(\"lookupList\");\n }\n\n /**\n */\n get lookupListLabel(): string {\n return this.contributions.lookupList?.label ?? \"\";\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n * Set reference date for concepts and content\n */\n set referenceDate(date: string) {\n this._referenceDate = date;\n\n this.options.referenceDate = date;\n }\n\n /**\n * Retrieve available choice options\n */\n get options(): ChoiceAttributeOptionCollection {\n return this._options;\n }\n\n /**\n * Getting all enabled options\n */\n get selected(): Array<string> {\n // $FlowFixMe[incompatible-call]\n return this.options.selected.map<string, ChoiceAttributeOptionModel>(\n (option: ChoiceAttributeOptionModel) => option.code,\n );\n }\n\n /**\n * Flatten options and filter out the options that are not selected\n */\n get readonlyvalue(): string {\n return this.options.selected.map((option) => option.label).join(\", \");\n }\n\n /**\n */\n get initvalue(): any {\n if (Array.isArray(this._initvalue) && this._initvalue.length === 0) {\n return null;\n }\n\n return this._initvalue;\n }\n\n /**\n * Retrieve list of selected options, joined with comma\n */\n getValue(): string | null {\n return this.options.selected.length > 0\n ? this.options.selected.map((option) => option.code).join(\",\")\n : null;\n }\n\n /**\n */\n hasValue(): boolean {\n return this.options.selected.length > 0;\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.selected.join(\",\");\n }\n\n /**\n * Setting an option selected or unselected based on the current state\n */\n toggleOption(code: string) {\n if (this.selected.includes(code)) {\n this.disableOption(code);\n } else {\n this.enableOption(code);\n }\n }\n\n /**\n * Enable a option\n */\n enableOption(code: string) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n this.options.select(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Disable a option\n */\n disableOption(code: string) {\n this.options.deselect(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Add a new option to the collection of lookup options\n */\n addOption(option: Object) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n if (this.options.find((opt) => opt.code === option.code) === null) {\n this.options.addOption(option.code, option);\n }\n }\n\n /**\n * Getting the type of choice filter. For instance checkbox, radiobutton, combobox.\n */\n get choicetype():\n | \"checkbox\"\n | \"radiobutton\"\n | \"combobox\"\n | \"list\"\n | \"listview\"\n | \"table\"\n | \"longlist\"\n | \"toggle\" {\n return (\n [\n \"checkbox\",\n \"radiobutton\",\n \"combobox\",\n \"list\",\n \"listview\",\n \"table\",\n \"longlist\",\n \"toggle\",\n ].find((hint) => this.layouthint.has(hint)) || \"checkbox\"\n );\n }\n\n /**\n * Can multiple options be selected\n */\n get isMultiple(): boolean {\n return this.contributions.multiplechoice || this.choicetype === \"checkbox\";\n }\n\n /**\n * Check if options need to be rendered as tree\n */\n get isTree(): boolean {\n return (\n has(this.contributions, \"options\") &&\n this.contributions.options.some((option) => has(option, \"children\"))\n );\n }\n\n /**\n * Reset choice attribute to unselected list\n */\n reset() {\n this.options.deselectAll();\n }\n\n /**\n */\n mergeAttribute(\n oldAttribute: AttributeType,\n addNotExistingOptions: boolean = false,\n removeNotExistingOptions: boolean = false,\n ) {\n // when attribute is readonly, don't merge the options no modifications necessary\n if (!this.readonly && oldAttribute instanceof ChoiceAttributeModel) {\n this.concept = oldAttribute.concept;\n this.options.mergeOptions(\n oldAttribute.options,\n addNotExistingOptions ?? this.type === \"lookup\",\n removeNotExistingOptions,\n );\n this.options.deselectAll();\n\n if (oldAttribute.isValid && oldAttribute.inputvalue !== null) {\n this.update(oldAttribute.inputvalue);\n }\n }\n }\n\n /**\n * Update attribute by name and value\n */\n update(value: any): ChoiceAttributeModel {\n if (this.readonly) {\n return this;\n }\n\n this.updateLastModification();\n\n let values = [];\n\n if (Array.isArray(value)) {\n values = value;\n } else if (typeof value === \"string\" && this.isMultiple) {\n values = value.split(\",\");\n } else if (value != null) {\n values = [value];\n }\n values.forEach((val) => {\n if (typeof val === \"object\" && val.isChoiceAttributeOptionModel) {\n // option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options\n if (!this.options.some((option) => option.equals(val))) {\n const newVal = klona(val);\n newVal.selected = false;\n this.options.add(newVal);\n }\n this.toggleOption(val.code);\n } else if (\n (typeof val === \"number\" ||\n typeof val === \"string\" ||\n typeof val === \"boolean\") &&\n this.options.some((option) => option.code.toString() === val.toString())\n ) {\n this.toggleOption(val.toString());\n }\n });\n\n return this;\n }\n\n /**\n */\n updateByAttribute(otherAttribute: AttributeType): void {\n this.reset();\n if (\n otherAttribute instanceof ChoiceAttributeModel ||\n otherAttribute instanceof CompositeAttributeModel\n ) {\n let otherValue;\n if (otherAttribute instanceof ChoiceAttributeModel) {\n otherValue = otherAttribute.options.selected;\n } else if (otherAttribute instanceof CompositeAttributeModel) {\n otherValue = otherAttribute.getChildrenIds();\n }\n if (otherValue !== null) {\n this.update(otherValue);\n }\n } else {\n console.error(\n `update of choice attribute with ${otherAttribute.type} not supported`,\n );\n }\n }\n\n /**\n * Registers a missing error that was received from the server\n */\n addMissingError(receivedAttribute?: AttributeType): void {\n if (this.isChangedSince(0)) {\n this._errorCollection.addServerError(\"Constraint.Missing\");\n }\n // update choice options\n if (receivedAttribute instanceof ChoiceAttributeModel) {\n this.mergeAttribute(receivedAttribute, true, true);\n }\n }\n\n /**\n */\n set hasContentConfiguration(hasContentConfiguration: boolean) {\n this._hasContentConfiguration =\n this.contentConfiguration !== null || hasContentConfiguration;\n }\n\n /**\n */\n get hasContentConfiguration(): boolean {\n return this._hasContentConfiguration;\n }\n\n /**\n * Get content configuration configured on the attribute.\n * Only applicable for taxonomy element and knowledge codemaps,\n * content configuration for instrument questions is available on the form object\n */\n get contentConfiguration(): ContentConfigurationElements | null {\n if (\n !this.contributions.content ||\n !this.contributions.content.optionElements\n ) {\n return null;\n }\n\n // Add RENDER_SECTION_LABEL to all content configuration to make sure the label of a section is always rendered on taxonomy and knowlege codemaps\n const optionElementConfig = this.contributions.content.optionElements.map(\n (optionElement) => {\n if (\"contentElement\" in optionElement) {\n return {\n contentElement: {\n ...optionElement.contentElement,\n layouthint: [RENDER_SECTION_LABEL],\n },\n };\n }\n\n return optionElement;\n },\n );\n\n return new ContentConfigurationElements(optionElementConfig);\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties, layouthint } = error;\n\n const ANSWER_OPTION_KEY = \"answer-option-key\";\n\n if (properties && has(properties, ANSWER_OPTION_KEY)) {\n const optionKey = properties[ANSWER_OPTION_KEY];\n const foundOption = this.options.find(\n (option) => option.code === optionKey,\n );\n if (foundOption) {\n properties[ANSWER_OPTION_KEY] = foundOption.getContentConfiguredLabel(\n this.contentConfiguration,\n );\n }\n }\n\n this._errorCollection.addServerError(id, message, properties, layouthint);\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ChoiceAttributeModel.js","names":["klona","has","AttributeModel","ChoiceAttributeOptionCollection","ChoiceAttributeOptionModel","CompositeAttributeModel","ContentConfigurationElements","RENDER_SECTION_LABEL","SORT_OPTIONS","ATTRIBUTE_WIDTH","PARAMETER_TYPES","HTTP_METHODS","ChoiceAttributeModel","constructor","attribute","attributeContributions","modelOptions","_defineProperty","_referenceDate","getData","Date","toISOString","split","_options","create","referenceDate","layouthint","sortOptions","isApplicableModel","contributions","type","optionMode","getContribution","hasLookupLink","lookupLink","lookupListLink","optionType","isUser","getInitialChildModelLinks","links","hasContentConfiguration","hasContentFromData","conceptLink","push","options","setChildModels","models","errors","conceptLinkHref","href","concept","_findInstanceProperty","call","model","selfhref","equalsWithParameters","link","getLinkByKey","lookupParameterType","BODY","method","POST","parameterType","QUERY","lookupListLabel","lookupList","label","date","selected","_context","_mapInstanceProperty","option","code","readonlyvalue","_context2","join","initvalue","Array","isArray","_initvalue","length","getValue","_context3","hasValue","getInputValue","toggleOption","_context4","_includesInstanceProperty","disableOption","enableOption","isMultiple","deselectAll","select","inputvalue","deselect","addOption","_context5","opt","choicetype","_context6","hint","multiplechoice","isTree","some","reset","mergeAttribute","oldAttribute","addNotExistingOptions","removeNotExistingOptions","readonly","mergeOptions","isValid","update","value","updateLastModification","values","forEach","val","isChoiceAttributeOptionModel","equals","newVal","add","toString","updateByAttribute","otherAttribute","otherValue","getChildrenIds","console","error","addMissingError","receivedAttribute","isChangedSince","_errorCollection","addServerError","_hasContentConfiguration","contentConfiguration","_context7","content","optionElements","optionElementConfig","optionElement","contentElement","placeholder","id","message","properties","ANSWER_OPTION_KEY","_context8","optionKey","foundOption","getContentConfiguredLabel","readonlyWidth","MEDIUM"],"sources":["../../../src/models/attributes/ChoiceAttributeModel.js"],"sourcesContent":["// @flow\nimport { klona } from \"klona/full\";\n\nimport { has } from \"../../utils/helpers/objects\";\n\nimport AttributeModel from \"./AttributeModel\";\nimport ChoiceAttributeOptionCollection from \"./ChoiceAttributeOptionCollection\";\nimport ChoiceAttributeOptionModel from \"./ChoiceAttributeOptionModel\";\nimport CompositeAttributeModel from \"./CompositeAttributeModel\";\nimport ContentConfigurationElements from \"../contentconfiguration/ContentConfigurationElements\";\n\nimport {\n RENDER_SECTION_LABEL,\n SORT_OPTIONS,\n} from \"../../constants/LayoutHints\";\nimport {\n ATTRIBUTE_WIDTH,\n PARAMETER_TYPES,\n HTTP_METHODS,\n} from \"../../constants\";\n\nimport type {\n ModularUIModel,\n AttributeType,\n FormErrorAnchor,\n ModelOptions,\n} from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Model for a choice attribute\n */\nexport default class ChoiceAttributeModel extends AttributeModel {\n _referenceDate: ISO_DATE;\n _options: ChoiceAttributeOptionCollection;\n _hasContentConfiguration: boolean;\n\n /**\n * Constructs a choice attribute\n */\n constructor(\n attribute: Object,\n attributeContributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(attribute, attributeContributions, modelOptions);\n\n this._referenceDate = this.getData(\n \"referenceDate\",\n new Date().toISOString().split(\"T\")[0],\n );\n this._options = ChoiceAttributeOptionCollection.create(\n attribute,\n attributeContributions,\n { ...modelOptions, referenceDate: this.referenceDate },\n );\n\n if (this.layouthint.has(SORT_OPTIONS)) {\n this._options.sortOptions = true;\n }\n }\n\n /**\n */\n static isApplicableModel(contributions: Object): boolean {\n return (\n contributions.type !== \"composite\" &&\n contributions.type !== \"boolean\" &&\n (contributions.type === \"choice\" ||\n contributions.type === \"array\" ||\n has(contributions, \"enumerated\") ||\n has(contributions, \"options\"))\n );\n }\n\n /**\n */\n get type(): string {\n const optionMode = this.getContribution(\"optionMode\", \"\");\n const hasLookupLink = this.lookupLink || this.lookupListLink;\n\n if (\n optionMode === \"lookup\" ||\n (optionMode === \"dynamicWithThreshold\" && hasLookupLink)\n ) {\n return \"lookup\";\n }\n\n return \"choice\";\n }\n\n /**\n */\n get optionType(): string {\n return this.contributions?.optionType ?? \"generic\";\n }\n\n /**\n */\n get isUser(): boolean {\n return this.optionType === \"user\";\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const links = [];\n\n if (this.hasContentConfiguration) {\n if (!this.hasContentFromData && this.conceptLink) {\n links.push(this.conceptLink);\n }\n\n links.push(...this.options.getInitialChildModelLinks());\n }\n\n return links;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n const conceptLinkHref = this.conceptLink?.href;\n if (conceptLinkHref) {\n this.concept = models.find(\n (model) =>\n model.type === \"ConceptDetail\" &&\n model.selfhref.equalsWithParameters(conceptLinkHref),\n );\n }\n\n this.options.setChildModels(models, errors);\n }\n\n /**\n * Retrieve lookup service link\n */\n get lookupLink(): LinkModel | null {\n const link = this.links.getLinkByKey(\"lookupOptions\");\n if (link && this.lookupParameterType === PARAMETER_TYPES.BODY) {\n link.method = HTTP_METHODS.POST;\n }\n return link;\n }\n\n /**\n * Indicate if the lookup must be done with POST or GET\n */\n get lookupParameterType(): $Values<typeof PARAMETER_TYPES> {\n const parameterType = this.getContribution(\"parameterType\");\n switch (parameterType) {\n case \"bodyParameter\":\n return PARAMETER_TYPES.BODY;\n default:\n return PARAMETER_TYPES.QUERY;\n }\n }\n\n /**\n * Retrieve lookup service as list link\n */\n get lookupListLink(): LinkModel | null {\n return this.links.getLinkByKey(\"lookupList\");\n }\n\n /**\n */\n get lookupListLabel(): string {\n return this.contributions.lookupList?.label ?? \"\";\n }\n\n /**\n * Retrieve reference date of attribute which can be used as entryDate for content\n */\n get referenceDate(): ISO_DATE {\n return this._referenceDate;\n }\n\n /**\n * Set reference date for concepts and content\n */\n set referenceDate(date: string) {\n this._referenceDate = date;\n\n this.options.referenceDate = date;\n }\n\n /**\n * Retrieve available choice options\n */\n get options(): ChoiceAttributeOptionCollection {\n return this._options;\n }\n\n /**\n * Getting all enabled options\n */\n get selected(): Array<string> {\n // $FlowFixMe[incompatible-call]\n return this.options.selected.map<string, ChoiceAttributeOptionModel>(\n (option: ChoiceAttributeOptionModel) => option.code,\n );\n }\n\n /**\n * Flatten options and filter out the options that are not selected\n */\n get readonlyvalue(): string {\n return this.options.selected.map((option) => option.label).join(\", \");\n }\n\n /**\n */\n get initvalue(): any {\n if (Array.isArray(this._initvalue) && this._initvalue.length === 0) {\n return null;\n }\n\n return this._initvalue;\n }\n\n /**\n * Retrieve list of selected options, joined with comma\n */\n getValue(): string | null {\n return this.options.selected.length > 0\n ? this.options.selected.map((option) => option.code).join(\",\")\n : null;\n }\n\n /**\n */\n hasValue(): boolean {\n return this.options.selected.length > 0;\n }\n\n /**\n * Get input value of attribute\n */\n getInputValue(): string {\n return this.selected.join(\",\");\n }\n\n /**\n * Setting an option selected or unselected based on the current state\n */\n toggleOption(code: string) {\n if (this.selected.includes(code)) {\n this.disableOption(code);\n } else {\n this.enableOption(code);\n }\n }\n\n /**\n * Enable a option\n */\n enableOption(code: string) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n this.options.select(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Disable a option\n */\n disableOption(code: string) {\n this.options.deselect(code);\n this.inputvalue = this.getInputValue();\n }\n\n /**\n * Add a new option to the collection of lookup options\n */\n addOption(option: Object) {\n if (!this.isMultiple) {\n this.options.deselectAll();\n }\n\n if (this.options.find((opt) => opt.code === option.code) === null) {\n this.options.addOption(option.code, option);\n }\n }\n\n /**\n * Getting the type of choice filter. For instance checkbox, radiobutton, combobox.\n */\n get choicetype():\n | \"checkbox\"\n | \"radiobutton\"\n | \"combobox\"\n | \"list\"\n | \"listview\"\n | \"table\"\n | \"longlist\"\n | \"toggle\" {\n return (\n [\n \"checkbox\",\n \"radiobutton\",\n \"combobox\",\n \"list\",\n \"listview\",\n \"table\",\n \"longlist\",\n \"toggle\",\n ].find((hint) => this.layouthint.has(hint)) || \"checkbox\"\n );\n }\n\n /**\n * Can multiple options be selected\n */\n get isMultiple(): boolean {\n return this.contributions.multiplechoice || this.choicetype === \"checkbox\";\n }\n\n /**\n * Check if options need to be rendered as tree\n */\n get isTree(): boolean {\n return (\n has(this.contributions, \"options\") &&\n this.contributions.options.some((option) => has(option, \"children\"))\n );\n }\n\n /**\n * Reset choice attribute to unselected list\n */\n reset() {\n this.options.deselectAll();\n }\n\n /**\n */\n mergeAttribute(\n oldAttribute: AttributeType,\n addNotExistingOptions: boolean = false,\n removeNotExistingOptions: boolean = false,\n ) {\n // when attribute is readonly, don't merge the options no modifications necessary\n if (!this.readonly && oldAttribute instanceof ChoiceAttributeModel) {\n this.concept = oldAttribute.concept;\n this.options.mergeOptions(\n oldAttribute.options,\n addNotExistingOptions ?? this.type === \"lookup\",\n removeNotExistingOptions,\n );\n this.options.deselectAll();\n\n if (oldAttribute.isValid && oldAttribute.inputvalue !== null) {\n this.update(oldAttribute.inputvalue);\n }\n }\n }\n\n /**\n * Update attribute by name and value\n */\n update(value: any): ChoiceAttributeModel {\n if (this.readonly) {\n return this;\n }\n\n this.updateLastModification();\n\n let values = [];\n\n if (Array.isArray(value)) {\n values = value;\n } else if (typeof value === \"string\" && this.isMultiple) {\n values = value.split(\",\");\n } else if (value != null) {\n values = [value];\n }\n values.forEach((val) => {\n if (typeof val === \"object\" && val.isChoiceAttributeOptionModel) {\n // option does not exist in existing options, add it. This can happen when lookup list has other options then lookup options\n if (!this.options.some((option) => option.equals(val))) {\n const newVal = klona(val);\n newVal.selected = false;\n this.options.add(newVal);\n }\n this.toggleOption(val.code);\n } else if (\n (typeof val === \"number\" ||\n typeof val === \"string\" ||\n typeof val === \"boolean\") &&\n this.options.some((option) => option.code.toString() === val.toString())\n ) {\n this.toggleOption(val.toString());\n }\n });\n\n return this;\n }\n\n /**\n */\n updateByAttribute(otherAttribute: AttributeType): void {\n this.reset();\n if (\n otherAttribute instanceof ChoiceAttributeModel ||\n otherAttribute instanceof CompositeAttributeModel\n ) {\n let otherValue;\n if (otherAttribute instanceof ChoiceAttributeModel) {\n otherValue = otherAttribute.options.selected;\n } else if (otherAttribute instanceof CompositeAttributeModel) {\n otherValue = otherAttribute.getChildrenIds();\n }\n if (otherValue !== null) {\n this.update(otherValue);\n }\n } else {\n console.error(\n `update of choice attribute with ${otherAttribute.type} not supported`,\n );\n }\n }\n\n /**\n * Registers a missing error that was received from the server\n */\n addMissingError(receivedAttribute?: AttributeType): void {\n if (this.isChangedSince(0)) {\n this._errorCollection.addServerError(\"Constraint.Missing\");\n }\n // update choice options\n if (receivedAttribute instanceof ChoiceAttributeModel) {\n this.mergeAttribute(receivedAttribute, true, true);\n }\n }\n\n /**\n */\n set hasContentConfiguration(hasContentConfiguration: boolean) {\n this._hasContentConfiguration =\n this.contentConfiguration !== null || hasContentConfiguration;\n }\n\n /**\n */\n get hasContentConfiguration(): boolean {\n return this._hasContentConfiguration;\n }\n\n /**\n * Get content configuration configured on the attribute.\n * Only applicable for taxonomy element and knowledge codemaps,\n * content configuration for instrument questions is available on the form object\n */\n get contentConfiguration(): ContentConfigurationElements | null {\n if (\n !this.contributions.content ||\n !this.contributions.content.optionElements\n ) {\n return null;\n }\n\n // Add RENDER_SECTION_LABEL to all content configuration to make sure the label of a section is always rendered on taxonomy and knowlege codemaps\n const optionElementConfig = this.contributions.content.optionElements.map(\n (optionElement) => {\n if (\"contentElement\" in optionElement) {\n return {\n contentElement: {\n ...optionElement.contentElement,\n layouthint: [RENDER_SECTION_LABEL],\n },\n };\n }\n\n return optionElement;\n },\n );\n\n return new ContentConfigurationElements(optionElementConfig);\n }\n\n /**\n * Get placeholder text\n */\n get placeholder(): string {\n return this.getContribution(\"placeholder\", \"\");\n }\n\n /**\n * Registers an error that was received from a server response\n */\n addServerError(error: FormErrorAnchor) {\n const { id, message, properties, layouthint } = error;\n\n const ANSWER_OPTION_KEY = \"answer-option-key\";\n\n if (properties && has(properties, ANSWER_OPTION_KEY)) {\n const optionKey = properties[ANSWER_OPTION_KEY];\n const foundOption = this.options.find(\n (option) => option.code === optionKey,\n );\n if (foundOption) {\n properties[ANSWER_OPTION_KEY] = foundOption.getContentConfiguredLabel(\n this.contentConfiguration,\n );\n }\n }\n\n this._errorCollection.addServerError(id, message, properties, layouthint);\n }\n\n /**\n */\n get readonlyWidth(): $Keys<typeof ATTRIBUTE_WIDTH> {\n return ATTRIBUTE_WIDTH.MEDIUM;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ import Href from "../href/Href";
9
9
  import LinkCollection from "../links/LinkCollection";
10
10
  import { INITIAL_FILTER } from "../../constants/LayoutHints";
11
11
  import Parameter from "../parameter/Parameter";
12
-
12
+ import { HTTP_METHODS } from "../../constants";
13
13
  /**
14
14
  * Defines a Link. For instance below example of a link to the tab 'books'
15
15
  * <br/>
@@ -28,7 +28,9 @@ class LinkModel extends BaseModel {
28
28
  _defineProperty(this, "_isCacheable", void 0);
29
29
  _defineProperty(this, "_icon", void 0);
30
30
  _defineProperty(this, "_targetModel", void 0);
31
+ _defineProperty(this, "_method", void 0);
31
32
  this.createHref(modelOptions);
33
+ this._method = HTTP_METHODS.GET;
32
34
  this._isCacheable = false;
33
35
  }
34
36
 
@@ -109,6 +111,20 @@ class LinkModel extends BaseModel {
109
111
  this._href = href;
110
112
  }
111
113
 
114
+ /**
115
+ * Indicate how this link must be called, GET by default
116
+ */
117
+ get method() {
118
+ return this._method;
119
+ }
120
+
121
+ /**
122
+ * Set http method for this link
123
+ */
124
+ set method(method) {
125
+ this._method = method;
126
+ }
127
+
112
128
  /**
113
129
  * Getting the label of the link
114
130
  */
@@ -6,9 +6,10 @@ import BaseModel from "../base/BaseModel";
6
6
  import Href from "../href/Href";
7
7
  import LinkCollection from "../links/LinkCollection";
8
8
  import { INITIAL_FILTER } from "../../constants/LayoutHints";
9
+ import Parameter from "../parameter/Parameter";
10
+ import { HTTP_METHODS } from "../../constants";
9
11
 
10
12
  import type { ModelOptions, ModularUIModel } from "../types";
11
- import Parameter from "../parameter/Parameter";
12
13
 
13
14
  /**
14
15
  * Defines a Link. For instance below example of a link to the tab 'books'
@@ -23,6 +24,7 @@ class LinkModel extends BaseModel {
23
24
  _isCacheable: boolean;
24
25
  _icon: string;
25
26
  _targetModel: ?Class<ModularUIModel>;
27
+ _method: $Keys<typeof HTTP_METHODS>;
26
28
 
27
29
  /**
28
30
  * Create a Link
@@ -36,6 +38,7 @@ class LinkModel extends BaseModel {
36
38
 
37
39
  this.createHref(modelOptions);
38
40
 
41
+ this._method = HTTP_METHODS.GET;
39
42
  this._isCacheable = false;
40
43
  }
41
44
 
@@ -121,6 +124,20 @@ class LinkModel extends BaseModel {
121
124
  this._href = href;
122
125
  }
123
126
 
127
+ /**
128
+ * Indicate how this link must be called, GET by default
129
+ */
130
+ get method(): $Keys<typeof HTTP_METHODS> {
131
+ return this._method;
132
+ }
133
+
134
+ /**
135
+ * Set http method for this link
136
+ */
137
+ set method(method: $Keys<typeof HTTP_METHODS>) {
138
+ this._method = method;
139
+ }
140
+
124
141
  /**
125
142
  * Getting the label of the link
126
143
  */
@@ -1 +1 @@
1
- {"version":3,"file":"LinkModel.js","names":["has","ProcessStatusSettingsModel","BaseModel","Href","LinkCollection","INITIAL_FILTER","Parameter","LinkModel","constructor","data","contributions","modelOptions","_defineProperty","createHref","_isCacheable","create","name","href","label","resourcetype","handleInitialFilters","layouthint","_context","filters","_filterInstanceProperty","call","hint","_startsWithInstanceProperty","forEach","param","substr","length","p","fromString","value","push","_Object$keys","key","join","addParameter","group","getContribution","_href","links","components","isActive","link","_context2","icon","_icon","targetModel","_targetModel","isCacheable","filterName","hasProcessStatusSettings","processStatus","getData"],"sources":["../../../src/models/links/LinkModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ProcessStatusSettingsModel from \"../process/ProcessStatusSettingsModel\";\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport { INITIAL_FILTER } from \"../../constants/LayoutHints\";\n\nimport type { ModelOptions, ModularUIModel } from \"../types\";\nimport Parameter from \"../parameter/Parameter\";\n\n/**\n * Defines a Link. For instance below example of a link to the tab 'books'\n * <br/>\n * \"Books\": {\n * \"href\": \"/books\",\n * \"profile\": \"/profiles/tab\"\n * }\n */\nclass LinkModel extends BaseModel {\n _href: Href;\n _isCacheable: boolean;\n _icon: string;\n _targetModel: ?Class<ModularUIModel>;\n\n /**\n * Create a Link\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this.createHref(modelOptions);\n\n this._isCacheable = false;\n }\n\n /**\n * Create a simple Link Model\n */\n static create(\n name: string,\n href: string | Href,\n label: string,\n modelOptions?: ModelOptions,\n ): LinkModel {\n const data = { name, href };\n const contributions = { label };\n return new LinkModel(data, contributions, modelOptions);\n }\n\n /**\n */\n createHref(modelOptions: ?ModelOptions) {\n const href = new Href(this.data.href, this.resourcetype, modelOptions);\n this.handleInitialFilters(href);\n\n this.href = href;\n }\n\n /**\n * Handle initial filter hints\n * @param href\n */\n handleInitialFilters(href: Href) {\n if (this.layouthint.has(INITIAL_FILTER)) {\n const filters: { [string]: Array<string> } = {};\n this.layouthint\n .filter((hint) => hint.startsWith(INITIAL_FILTER))\n .forEach((hint) => {\n const param = hint.substr(INITIAL_FILTER.length);\n const p = Parameter.fromString(param);\n\n if (p != null) {\n if (!filters[p.name]) {\n filters[p.name] = [];\n }\n\n if (p.value != null) {\n filters[p.name].push(p.value);\n }\n }\n });\n\n Object.keys(filters).forEach((key) => {\n const value = filters[key].join(\",\");\n href.addParameter(key, value);\n });\n }\n }\n\n /**\n * Getting link group\n */\n get group(): string {\n return this.getContribution(\"group\", this.data.group);\n }\n\n /**\n * Getting the key/name of this link\n */\n get key(): string {\n return this.data.name;\n }\n\n /**\n * Retrieve the href of the link\n */\n get href(): Href {\n return this._href;\n }\n\n /**\n * Set the href of the Link\n */\n set href(href: Href) {\n this._href = href;\n }\n\n /**\n * Getting the label of the link\n */\n get label(): string {\n return this.getContribution(\"label\", this.key);\n }\n\n /**\n * Getting the type of the link\n */\n get resourcetype(): string {\n return this.getContribution(\"resourcetype\", \"\");\n }\n\n /**\n */\n get links(): LinkCollection {\n if (this.data.components) {\n return new LinkCollection(\n { components: this.data.components },\n { components: this.contributions.components },\n );\n }\n\n return new LinkCollection();\n }\n\n /**\n * Check if the href startswith the URI of the given href\n */\n isActive(link: ?LinkModel): boolean {\n if (link) {\n return link.href.startsWith(this.href);\n }\n\n return false;\n }\n\n /**\n * Setter for icon of LinkModel\n */\n set icon(icon: string) {\n this._icon = icon;\n }\n\n /**\n * Retrieve icon of LinkModel\n */\n get icon(): string {\n return this._icon;\n }\n\n /**\n */\n get targetModel(): ?Class<ModularUIModel> {\n return this._targetModel;\n }\n\n /**\n */\n set targetModel(targetModel: Class<ModularUIModel>) {\n this._targetModel = targetModel;\n }\n\n /**\n */\n get isCacheable(): boolean {\n return this._isCacheable;\n }\n\n /**\n */\n set isCacheable(isCacheable: boolean) {\n this._isCacheable = isCacheable;\n }\n\n /**\n */\n get filterName(): string {\n return this.data.filter.name;\n }\n\n /**\n */\n get hasProcessStatusSettings(): boolean {\n return (\n has(this.data, \"processStatus\") &&\n has(this.contributions, \"processStatus\")\n );\n }\n\n /**\n */\n get processStatus(): ProcessStatusSettingsModel | null {\n if (this.hasProcessStatusSettings) {\n return new ProcessStatusSettingsModel(\n this.getData(\"processStatus\", {}),\n this.getContribution(\"processStatus\", {}),\n );\n }\n\n return null;\n }\n}\n\nexport default LinkModel;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LinkModel.js","names":["has","ProcessStatusSettingsModel","BaseModel","Href","LinkCollection","INITIAL_FILTER","Parameter","HTTP_METHODS","LinkModel","constructor","data","contributions","modelOptions","_defineProperty","createHref","_method","GET","_isCacheable","create","name","href","label","resourcetype","handleInitialFilters","layouthint","_context","filters","_filterInstanceProperty","call","hint","_startsWithInstanceProperty","forEach","param","substr","length","p","fromString","value","push","_Object$keys","key","join","addParameter","group","getContribution","_href","method","links","components","isActive","link","_context2","icon","_icon","targetModel","_targetModel","isCacheable","filterName","hasProcessStatusSettings","processStatus","getData"],"sources":["../../../src/models/links/LinkModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ProcessStatusSettingsModel from \"../process/ProcessStatusSettingsModel\";\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport { INITIAL_FILTER } from \"../../constants/LayoutHints\";\nimport Parameter from \"../parameter/Parameter\";\nimport { HTTP_METHODS } from \"../../constants\";\n\nimport type { ModelOptions, ModularUIModel } from \"../types\";\n\n/**\n * Defines a Link. For instance below example of a link to the tab 'books'\n * <br/>\n * \"Books\": {\n * \"href\": \"/books\",\n * \"profile\": \"/profiles/tab\"\n * }\n */\nclass LinkModel extends BaseModel {\n _href: Href;\n _isCacheable: boolean;\n _icon: string;\n _targetModel: ?Class<ModularUIModel>;\n _method: $Keys<typeof HTTP_METHODS>;\n\n /**\n * Create a Link\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this.createHref(modelOptions);\n\n this._method = HTTP_METHODS.GET;\n this._isCacheable = false;\n }\n\n /**\n * Create a simple Link Model\n */\n static create(\n name: string,\n href: string | Href,\n label: string,\n modelOptions?: ModelOptions,\n ): LinkModel {\n const data = { name, href };\n const contributions = { label };\n return new LinkModel(data, contributions, modelOptions);\n }\n\n /**\n */\n createHref(modelOptions: ?ModelOptions) {\n const href = new Href(this.data.href, this.resourcetype, modelOptions);\n this.handleInitialFilters(href);\n\n this.href = href;\n }\n\n /**\n * Handle initial filter hints\n * @param href\n */\n handleInitialFilters(href: Href) {\n if (this.layouthint.has(INITIAL_FILTER)) {\n const filters: { [string]: Array<string> } = {};\n this.layouthint\n .filter((hint) => hint.startsWith(INITIAL_FILTER))\n .forEach((hint) => {\n const param = hint.substr(INITIAL_FILTER.length);\n const p = Parameter.fromString(param);\n\n if (p != null) {\n if (!filters[p.name]) {\n filters[p.name] = [];\n }\n\n if (p.value != null) {\n filters[p.name].push(p.value);\n }\n }\n });\n\n Object.keys(filters).forEach((key) => {\n const value = filters[key].join(\",\");\n href.addParameter(key, value);\n });\n }\n }\n\n /**\n * Getting link group\n */\n get group(): string {\n return this.getContribution(\"group\", this.data.group);\n }\n\n /**\n * Getting the key/name of this link\n */\n get key(): string {\n return this.data.name;\n }\n\n /**\n * Retrieve the href of the link\n */\n get href(): Href {\n return this._href;\n }\n\n /**\n * Set the href of the Link\n */\n set href(href: Href) {\n this._href = href;\n }\n\n /**\n * Indicate how this link must be called, GET by default\n */\n get method(): $Keys<typeof HTTP_METHODS> {\n return this._method;\n }\n\n /**\n * Set http method for this link\n */\n set method(method: $Keys<typeof HTTP_METHODS>) {\n this._method = method;\n }\n\n /**\n * Getting the label of the link\n */\n get label(): string {\n return this.getContribution(\"label\", this.key);\n }\n\n /**\n * Getting the type of the link\n */\n get resourcetype(): string {\n return this.getContribution(\"resourcetype\", \"\");\n }\n\n /**\n */\n get links(): LinkCollection {\n if (this.data.components) {\n return new LinkCollection(\n { components: this.data.components },\n { components: this.contributions.components },\n );\n }\n\n return new LinkCollection();\n }\n\n /**\n * Check if the href startswith the URI of the given href\n */\n isActive(link: ?LinkModel): boolean {\n if (link) {\n return link.href.startsWith(this.href);\n }\n\n return false;\n }\n\n /**\n * Setter for icon of LinkModel\n */\n set icon(icon: string) {\n this._icon = icon;\n }\n\n /**\n * Retrieve icon of LinkModel\n */\n get icon(): string {\n return this._icon;\n }\n\n /**\n */\n get targetModel(): ?Class<ModularUIModel> {\n return this._targetModel;\n }\n\n /**\n */\n set targetModel(targetModel: Class<ModularUIModel>) {\n this._targetModel = targetModel;\n }\n\n /**\n */\n get isCacheable(): boolean {\n return this._isCacheable;\n }\n\n /**\n */\n set isCacheable(isCacheable: boolean) {\n this._isCacheable = isCacheable;\n }\n\n /**\n */\n get filterName(): string {\n return this.data.filter.name;\n }\n\n /**\n */\n get hasProcessStatusSettings(): boolean {\n return (\n has(this.data, \"processStatus\") &&\n has(this.contributions, \"processStatus\")\n );\n }\n\n /**\n */\n get processStatus(): ProcessStatusSettingsModel | null {\n if (this.hasProcessStatusSettings) {\n return new ProcessStatusSettingsModel(\n this.getData(\"processStatus\", {}),\n this.getContribution(\"processStatus\", {}),\n );\n }\n\n return null;\n }\n}\n\nexport default LinkModel;\n"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,17 @@ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ var _useAllFormsOnModel = require("./useAllFormsOnModel");
8
+ _Object$keys(_useAllFormsOnModel).forEach(function (key) {
9
+ if (key === "default" || key === "__esModule") return;
10
+ if (key in exports && exports[key] === _useAllFormsOnModel[key]) return;
11
+ Object.defineProperty(exports, key, {
12
+ enumerable: true,
13
+ get: function () {
14
+ return _useAllFormsOnModel[key];
15
+ }
16
+ });
17
+ });
7
18
  var _useAuthentication = require("./useAuthentication");
8
19
  _Object$keys(_useAuthentication).forEach(function (key) {
9
20
  if (key === "default" || key === "__esModule") return;
@@ -59,6 +70,17 @@ _Object$keys(_useList).forEach(function (key) {
59
70
  }
60
71
  });
61
72
  });
73
+ var _useLookup = require("./useLookup");
74
+ _Object$keys(_useLookup).forEach(function (key) {
75
+ if (key === "default" || key === "__esModule") return;
76
+ if (key in exports && exports[key] === _useLookup[key]) return;
77
+ Object.defineProperty(exports, key, {
78
+ enumerable: true,
79
+ get: function () {
80
+ return _useLookup[key];
81
+ }
82
+ });
83
+ });
62
84
  var _useModal = require("./useModal");
63
85
  _Object$keys(_useModal).forEach(function (key) {
64
86
  if (key === "default" || key === "__esModule") return;
@@ -191,14 +213,14 @@ _Object$keys(_useRouter).forEach(function (key) {
191
213
  }
192
214
  });
193
215
  });
194
- var _useAllFormsOnModel = require("./useAllFormsOnModel");
195
- _Object$keys(_useAllFormsOnModel).forEach(function (key) {
216
+ var _useSearch = require("./useSearch");
217
+ _Object$keys(_useSearch).forEach(function (key) {
196
218
  if (key === "default" || key === "__esModule") return;
197
- if (key in exports && exports[key] === _useAllFormsOnModel[key]) return;
219
+ if (key in exports && exports[key] === _useSearch[key]) return;
198
220
  Object.defineProperty(exports, key, {
199
221
  enumerable: true,
200
222
  get: function () {
201
- return _useAllFormsOnModel[key];
223
+ return _useSearch[key];
202
224
  }
203
225
  });
204
226
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_useAuthentication","require","_Object$keys","forEach","key","exports","Object","defineProperty","enumerable","get","_useContent","_useForm","_useI18n","_useList","_useModal","_useModelCatalog","_useModels","_useModularUI","_useModularUIBasic","_useModularUIModel","_useModularUIRequest","_useNotification","_usePanel","_usePreference","_useProgressIndicator","_useRouter","_useAllFormsOnModel"],"sources":["../../src/hooks/index.js"],"sourcesContent":["// @flow\nexport * from \"./useAuthentication\";\nexport * from \"./useContent\";\nexport * from \"./useForm\";\nexport * from \"./useI18n\";\nexport * from \"./useList\";\nexport * from \"./useModal\";\nexport * from \"./useModelCatalog\";\nexport * from \"./useModels\";\nexport * from \"./useModularUI\";\nexport * from \"./useModularUIBasic\";\nexport * from \"./useModularUIModel\";\nexport * from \"./useModularUIRequest\";\nexport * from \"./useNotification\";\nexport * from \"./usePanel\";\nexport * from \"./usePreference\";\nexport * from \"./useProgressIndicator\";\nexport * from \"./useRouter\";\nexport * from \"./useAllFormsOnModel\";\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_useAllFormsOnModel","require","_Object$keys","forEach","key","exports","Object","defineProperty","enumerable","get","_useAuthentication","_useContent","_useForm","_useI18n","_useList","_useLookup","_useModal","_useModelCatalog","_useModels","_useModularUI","_useModularUIBasic","_useModularUIModel","_useModularUIRequest","_useNotification","_usePanel","_usePreference","_useProgressIndicator","_useRouter","_useSearch"],"sources":["../../src/hooks/index.js"],"sourcesContent":["// @flow\nexport * from \"./useAllFormsOnModel\";\nexport * from \"./useAuthentication\";\nexport * from \"./useContent\";\nexport * from \"./useForm\";\nexport * from \"./useI18n\";\nexport * from \"./useList\";\nexport * from \"./useLookup\";\nexport * from \"./useModal\";\nexport * from \"./useModelCatalog\";\nexport * from \"./useModels\";\nexport * from \"./useModularUI\";\nexport * from \"./useModularUIBasic\";\nexport * from \"./useModularUIModel\";\nexport * from \"./useModularUIRequest\";\nexport * from \"./useNotification\";\nexport * from \"./usePanel\";\nexport * from \"./usePreference\";\nexport * from \"./useProgressIndicator\";\nexport * from \"./useRouter\";\nexport * from \"./useSearch\";\n"],"mappings":"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","ignoreList":[]}
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.useFormNavigation = exports.useForm = exports.useAttributeUpdate = exports.useAttributeSet = void 0;
8
8
  var _reactRedux = require("react-redux");
9
- var _Href = _interopRequireDefault(require("../models/href/Href"));
10
9
  var _constants = require("../constants");
11
- var _modularui = require("../redux/_modularui");
12
- var _useModularUI = require("./useModularUI");
10
+ var _ModularUIActions = require("../redux/_modularui/ModularUIActions");
13
11
  var _actions = require("../redux/actions");
12
+ var _Href = _interopRequireDefault(require("../models/href/Href"));
14
13
  var _FormModel = _interopRequireDefault(require("../models/form/FormModel"));
14
+ var _useModularUI = require("./useModularUI");
15
15
  /**
16
16
  * Load a form by href
17
17
  */
@@ -41,7 +41,7 @@ const useFormNavigation = () => {
41
41
  const dispatch = (0, _reactRedux.useDispatch)();
42
42
  const previous = form => dispatch((0, _actions.previousObject)(form));
43
43
  const cancel = form => dispatch((0, _actions.cancelForm)(form));
44
- const submit = form => dispatch((0, _modularui.loadModularUI)(form.connectKey, form.selfhref, {
44
+ const submit = form => dispatch((0, _ModularUIActions.loadModularUI)(form.connectKey, form.selfhref, {
45
45
  method: _constants.HTTP_METHODS.POST,
46
46
  data: form.formdata,
47
47
  updateHandler: newModel => {
@@ -54,7 +54,7 @@ const useFormNavigation = () => {
54
54
  },
55
55
  targetModel: _FormModel.default
56
56
  }));
57
- const remove = form => dispatch((0, _modularui.removeModelByKey)(form.connectKey));
57
+ const remove = form => dispatch((0, _ModularUIActions.removeModelByKey)(form.connectKey));
58
58
  const showFormNotificationAction = form => dispatch((0, _actions.showFormNotification)(form));
59
59
  return {
60
60
  previous,
@@ -1 +1 @@
1
- {"version":3,"file":"useForm.js","names":["_reactRedux","require","_Href","_interopRequireDefault","_constants","_modularui","_useModularUI","_actions","_FormModel","useForm","href","data","formHref","Href","getSetting","addParameter","form","useModularUI","method","HTTP_METHODS","POST","targetModel","FormModel","removeOnUnmount","origin","contextPath","model","exports","useFormNavigation","dispatch","useDispatch","previous","previousObject","cancel","cancelForm","submit","loadModularUI","connectKey","selfhref","formdata","updateHandler","newModel","clonedModel","clone","update","remove","removeModelByKey","showFormNotificationAction","showFormNotification","useAttributeUpdate","object","attribute","value","options","updateFormAttribute","useAttributeSet","save","addRepeatableAttributeSet","cancelRepeatableAttributeSet","removeRepeatableAttributeSet"],"sources":["../../src/hooks/useForm.js"],"sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport Href from \"../models/href/Href\";\n\nimport { getSetting, HTTP_METHODS } from \"../constants\";\n\nimport type {\n RemoveModelByKeyAction,\n UpdateFormAction,\n} from \"../redux/_modularui\";\nimport { loadModularUI, removeModelByKey } from \"../redux/_modularui\";\nimport { useModularUI } from \"./useModularUI\";\n\nimport {\n addRepeatableAttributeSet,\n cancelForm,\n cancelRepeatableAttributeSet,\n previousObject,\n removeRepeatableAttributeSet,\n showFormNotification,\n updateFormAttribute,\n} from \"../redux/actions\";\n\nimport FormModel from \"../models/form/FormModel\";\n\nimport type { AttributeType, FormObjectModel, ModularUIModel } from \"../models\";\nimport type { UpdateFormOptions } from \"../redux/types\";\n\ntype FormNavigationHook = {\n previous: (form: FormModel) => UpdateFormAction,\n cancel: (form: FormModel) => void,\n submit: (form: FormModel) => void,\n showFormNotification: (form: FormModel) => void,\n remove: (form: FormModel) => RemoveModelByKeyAction,\n};\n\ntype AttributeSetHook = {\n save: () => UpdateFormAction,\n cancel: (object: FormObjectModel) => UpdateFormAction,\n remove: (object: FormObjectModel) => UpdateFormAction,\n};\n\ntype AttributeUpdateHook = (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions,\n) => void;\n\n/**\n * Load a form by href\n */\nexport const useForm = (href: string | Href, data?: Object): ?FormModel => {\n const formHref = new Href(href);\n\n if (!getSetting(\"ALWAYS_COMMIT_FORM\")) {\n formHref.addParameter(\"commit\", \"false\");\n }\n\n const form = useModularUI(\"form\", formHref, {\n method: HTTP_METHODS.POST,\n targetModel: FormModel,\n removeOnUnmount: true,\n data,\n origin: formHref.origin,\n contextPath: formHref.contextPath,\n });\n\n if (form?.model) {\n return form.model;\n }\n};\n\n/**\n * Form navigation methods\n */\nexport const useFormNavigation = (): FormNavigationHook => {\n const dispatch = useDispatch();\n\n const previous = (form: FormModel) => dispatch(previousObject(form));\n\n const cancel = (form: FormModel) => dispatch(cancelForm(form));\n\n const submit = (form: FormModel) =>\n dispatch(\n loadModularUI(form.connectKey, form.selfhref, {\n method: HTTP_METHODS.POST,\n data: form.formdata,\n updateHandler: (newModel: ModularUIModel): ModularUIModel => {\n if (newModel instanceof FormModel) {\n const clonedModel: FormModel = form.clone();\n clonedModel.update(newModel);\n return clonedModel;\n }\n return newModel;\n },\n targetModel: FormModel,\n }),\n );\n\n const remove = (form: FormModel) =>\n dispatch(removeModelByKey(form.connectKey));\n\n const showFormNotificationAction = (form: FormModel) =>\n dispatch(showFormNotification(form));\n\n return {\n previous,\n cancel,\n submit,\n remove,\n showFormNotification: showFormNotificationAction,\n };\n};\n\n/**\n * Hook that returns a function to update attributes of a form object.\n * <br >\n * The returned function accepts the following options:\n *\n * - autosubmit: Automatically submit the form after a change\n * - autosav: Automatically save the form (in the background) after a change\n * - autoupdate: Automatically update the current form object after a change\n * - forceUpdate: Force the update even if conditions are not met.\n * - validate: Activate/deactivate the form object validation by an update.\n */\nexport const useAttributeUpdate = (\n form: FormModel,\n object: FormObjectModel,\n): AttributeUpdateHook => {\n const dispatch = useDispatch();\n\n return (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions,\n ) => dispatch(updateFormAttribute(form, object, attribute, value, options));\n};\n\n/**\n * Attributeset actions\n */\nexport const useAttributeSet = (form: FormModel): AttributeSetHook => {\n const dispatch = useDispatch();\n\n return {\n save: () => dispatch(addRepeatableAttributeSet(form)),\n cancel: (object: FormObjectModel) =>\n dispatch(cancelRepeatableAttributeSet(form, object)),\n remove: (object: FormObjectModel) =>\n dispatch(removeRepeatableAttributeSet(form, object)),\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useForm.js","names":["_reactRedux","require","_constants","_ModularUIActions","_actions","_Href","_interopRequireDefault","_FormModel","_useModularUI","useForm","href","data","formHref","Href","getSetting","addParameter","form","useModularUI","method","HTTP_METHODS","POST","targetModel","FormModel","removeOnUnmount","origin","contextPath","model","exports","useFormNavigation","dispatch","useDispatch","previous","previousObject","cancel","cancelForm","submit","loadModularUI","connectKey","selfhref","formdata","updateHandler","newModel","clonedModel","clone","update","remove","removeModelByKey","showFormNotificationAction","showFormNotification","useAttributeUpdate","object","attribute","value","options","updateFormAttribute","useAttributeSet","save","addRepeatableAttributeSet","cancelRepeatableAttributeSet","removeRepeatableAttributeSet"],"sources":["../../src/hooks/useForm.js"],"sourcesContent":["// @flow\nimport { useDispatch } from \"react-redux\";\n\nimport { getSetting, HTTP_METHODS } from \"../constants\";\n\nimport type {\n RemoveModelByKeyAction,\n UpdateFormAction,\n} from \"../redux/_modularui\";\nimport {\n loadModularUI,\n removeModelByKey,\n} from \"../redux/_modularui/ModularUIActions\";\n\nimport {\n addRepeatableAttributeSet,\n cancelForm,\n cancelRepeatableAttributeSet,\n previousObject,\n removeRepeatableAttributeSet,\n showFormNotification,\n updateFormAttribute,\n} from \"../redux/actions\";\n\nimport Href from \"../models/href/Href\";\nimport FormModel from \"../models/form/FormModel\";\n\nimport { useModularUI } from \"./useModularUI\";\n\nimport type { AttributeType, FormObjectModel, ModularUIModel } from \"../models\";\nimport type { UpdateFormOptions } from \"../redux/types\";\n\ntype FormNavigationHook = {\n previous: (form: FormModel) => UpdateFormAction,\n cancel: (form: FormModel) => void,\n submit: (form: FormModel) => void,\n showFormNotification: (form: FormModel) => void,\n remove: (form: FormModel) => RemoveModelByKeyAction,\n};\n\ntype AttributeSetHook = {\n save: () => UpdateFormAction,\n cancel: (object: FormObjectModel) => UpdateFormAction,\n remove: (object: FormObjectModel) => UpdateFormAction,\n};\n\ntype AttributeUpdateHook = (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions,\n) => void;\n\n/**\n * Load a form by href\n */\nexport const useForm = (href: string | Href, data?: Object): ?FormModel => {\n const formHref = new Href(href);\n\n if (!getSetting(\"ALWAYS_COMMIT_FORM\")) {\n formHref.addParameter(\"commit\", \"false\");\n }\n\n const form = useModularUI(\"form\", formHref, {\n method: HTTP_METHODS.POST,\n targetModel: FormModel,\n removeOnUnmount: true,\n data,\n origin: formHref.origin,\n contextPath: formHref.contextPath,\n });\n\n if (form?.model) {\n return form.model;\n }\n};\n\n/**\n * Form navigation methods\n */\nexport const useFormNavigation = (): FormNavigationHook => {\n const dispatch = useDispatch();\n\n const previous = (form: FormModel) => dispatch(previousObject(form));\n\n const cancel = (form: FormModel) => dispatch(cancelForm(form));\n\n const submit = (form: FormModel) =>\n dispatch(\n loadModularUI(form.connectKey, form.selfhref, {\n method: HTTP_METHODS.POST,\n data: form.formdata,\n updateHandler: (newModel: ModularUIModel): ModularUIModel => {\n if (newModel instanceof FormModel) {\n const clonedModel: FormModel = form.clone();\n clonedModel.update(newModel);\n return clonedModel;\n }\n return newModel;\n },\n targetModel: FormModel,\n }),\n );\n\n const remove = (form: FormModel) =>\n dispatch(removeModelByKey(form.connectKey));\n\n const showFormNotificationAction = (form: FormModel) =>\n dispatch(showFormNotification(form));\n\n return {\n previous,\n cancel,\n submit,\n remove,\n showFormNotification: showFormNotificationAction,\n };\n};\n\n/**\n * Hook that returns a function to update attributes of a form object.\n * <br >\n * The returned function accepts the following options:\n *\n * - autosubmit: Automatically submit the form after a change\n * - autosav: Automatically save the form (in the background) after a change\n * - autoupdate: Automatically update the current form object after a change\n * - forceUpdate: Force the update even if conditions are not met.\n * - validate: Activate/deactivate the form object validation by an update.\n */\nexport const useAttributeUpdate = (\n form: FormModel,\n object: FormObjectModel,\n): AttributeUpdateHook => {\n const dispatch = useDispatch();\n\n return (\n attribute: AttributeType,\n value: string,\n options: UpdateFormOptions,\n ) => dispatch(updateFormAttribute(form, object, attribute, value, options));\n};\n\n/**\n * Attributeset actions\n */\nexport const useAttributeSet = (form: FormModel): AttributeSetHook => {\n const dispatch = useDispatch();\n\n return {\n save: () => dispatch(addRepeatableAttributeSet(form)),\n cancel: (object: FormObjectModel) =>\n dispatch(cancelRepeatableAttributeSet(form, object)),\n remove: (object: FormObjectModel) =>\n dispatch(removeRepeatableAttributeSet(form, object)),\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,7 @@ var _Href = _interopRequireDefault(require("../models/href/Href"));
18
18
  var _FilterCollection = _interopRequireDefault(require("../models/filters/FilterCollection"));
19
19
  var _AssignmentFilterModel = _interopRequireDefault(require("../models/filters/AssignmentFilterModel"));
20
20
  var _FilterModel = _interopRequireDefault(require("../models/filters/FilterModel"));
21
+ var _react = require("react");
21
22
  /**
22
23
  */
23
24
  const useList = (href, options) => (0, _useModularUIBasic.useModularUIBasic)("list", href, {
@@ -48,39 +49,49 @@ const useListDetail = (href, options) => (0, _useModularUIBasic.useModularUIBasi
48
49
  /**
49
50
  */
50
51
  exports.useListDetail = useListDetail;
51
- const useListNavigation = () => {
52
+ const useListNavigation = ({
53
+ syncLocation,
54
+ historyAction
55
+ } = {
56
+ syncLocation: true,
57
+ historyAction: "push"
58
+ }) => {
52
59
  const history = (0, _reactRouter.useHistory)();
53
60
  const dispatch = (0, _reactRedux.useDispatch)();
54
- const update = (list, resetPage = false) => {
61
+ const update = (0, _react.useCallback)((list, resetPage = false) => {
55
62
  const listHref = list.selfhref;
56
63
  if (resetPage) {
57
64
  listHref.page = null;
58
65
  }
59
66
  if (list.requestMethod === _Constants.HTTP_METHODS.POST) {
60
- history.push({
61
- search: listHref.querystring,
62
- state: list.formdata
63
- });
67
+ if (syncLocation) {
68
+ history[historyAction]({
69
+ search: listHref.querystring,
70
+ state: list.formdata
71
+ });
72
+ }
64
73
  dispatch((0, _redux.loadModularUI)(list.connectKey, listHref, {
65
74
  method: _Constants.HTTP_METHODS.POST,
66
75
  data: list.formdata,
67
76
  targetModel: [_ListModel.default, _CaseSearchModel.default]
68
77
  }));
69
78
  } else {
70
- history.push({
71
- search: listHref.querystring
72
- });
79
+ if (syncLocation) {
80
+ history[historyAction]({
81
+ search: listHref.querystring
82
+ });
83
+ }
73
84
  dispatch((0, _redux.loadModularUI)(list.connectKey, listHref, {
74
85
  method: _Constants.HTTP_METHODS.GET,
75
86
  targetModel: [_ListModel.default, _CaseSearchModel.default]
76
87
  }));
77
88
  }
78
- };
79
- const updateFilters = (list, filters) => {
89
+ }, [dispatch, history, historyAction, syncLocation]);
90
+ const updateFilters = (0, _react.useCallback)((list, filters) => {
80
91
  list.filterCollection = filters;
81
92
  update(list, true);
82
- };
83
- const updateFilter = (list, filter, value, attribute) => {
93
+ }, [update]);
94
+ const updateFilter = (0, _react.useCallback)((list, filter, value, attribute) => {
84
95
  if (attribute) {
85
96
  filter.update(attribute, value);
86
97
  } else if (filter instanceof _AssignmentFilterModel.default) {
@@ -89,28 +100,28 @@ const useListNavigation = () => {
89
100
  filter.update(filter.attribute, value);
90
101
  }
91
102
  update(list, true);
92
- };
93
- const resetFilters = list => {
103
+ }, [update]);
104
+ const resetFilters = (0, _react.useCallback)(list => {
94
105
  list.filterCollection.reset();
95
106
  update(list, true);
96
- };
97
- const removeFilter = (list, filter) => {
107
+ }, [update]);
108
+ const removeFilter = (0, _react.useCallback)((list, filter) => {
98
109
  list.filterCollection.getFilterByName(filter.name)?.reset();
99
110
  update(list, true);
100
- };
101
- const updateSort = (list, sortOption) => {
111
+ }, [update]);
112
+ const updateSort = (0, _react.useCallback)((list, sortOption) => {
102
113
  list.sorting.value = sortOption;
103
114
  update(list, true);
104
- };
105
- const updatePage = (list, page) => {
115
+ }, [update]);
116
+ const updatePage = (0, _react.useCallback)((list, page) => {
106
117
  list.paging.page = page;
107
118
  update(list);
108
- };
109
- const updatePageSize = (list, pagesize) => {
119
+ }, [update]);
120
+ const updatePageSize = (0, _react.useCallback)((list, pagesize) => {
110
121
  list.paging.pagesize.value = pagesize;
111
122
  update(list);
112
- };
113
- return {
123
+ }, [update]);
124
+ return (0, _react.useMemo)(() => ({
114
125
  update,
115
126
  updateFilters,
116
127
  updateFilter,
@@ -119,7 +130,7 @@ const useListNavigation = () => {
119
130
  updatePageSize,
120
131
  resetFilters,
121
132
  removeFilter
122
- };
133
+ }), [removeFilter, resetFilters, update, updateFilter, updateFilters, updatePage, updatePageSize, updateSort]);
123
134
  };
124
135
  exports.useListNavigation = useListNavigation;
125
136
  //# sourceMappingURL=useList.js.map