@beinformed/ui 1.65.2 → 1.65.4

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 (96) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/esm/hooks/useList.js +4 -4
  3. package/esm/hooks/useList.js.flow +5 -5
  4. package/esm/hooks/useList.js.map +1 -1
  5. package/esm/models/concepts/ConceptIndexModel.js +3 -2
  6. package/esm/models/concepts/ConceptIndexModel.js.flow +5 -4
  7. package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
  8. package/esm/models/content/ContentIndexModel.js +7 -1
  9. package/esm/models/content/ContentIndexModel.js.flow +8 -3
  10. package/esm/models/content/ContentIndexModel.js.map +1 -1
  11. package/esm/models/content/ContentModel.js +3 -2
  12. package/esm/models/content/ContentModel.js.flow +4 -3
  13. package/esm/models/content/ContentModel.js.map +1 -1
  14. package/esm/models/content/ContentTOCModel.js +6 -2
  15. package/esm/models/content/ContentTOCModel.js.flow +6 -2
  16. package/esm/models/content/ContentTOCModel.js.map +1 -1
  17. package/esm/models/filters/AssignmentFilterModel.js +54 -26
  18. package/esm/models/filters/AssignmentFilterModel.js.flow +68 -37
  19. package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
  20. package/esm/models/filters/BaseFilterModel.js +0 -110
  21. package/esm/models/filters/BaseFilterModel.js.flow +2 -133
  22. package/esm/models/filters/BaseFilterModel.js.map +1 -1
  23. package/esm/models/filters/ConceptIndexFilterModel.js +2 -2
  24. package/esm/models/filters/ConceptIndexFilterModel.js.flow +2 -2
  25. package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
  26. package/esm/models/filters/FilterModel.js +117 -2
  27. package/esm/models/filters/FilterModel.js.flow +146 -1
  28. package/esm/models/filters/FilterModel.js.map +1 -1
  29. package/esm/models/filters/RangeFilterModel.js +2 -2
  30. package/esm/models/filters/RangeFilterModel.js.flow +2 -2
  31. package/esm/models/filters/RangeFilterModel.js.map +1 -1
  32. package/esm/models/href/Href.js +1 -1
  33. package/esm/models/href/Href.js.flow +1 -1
  34. package/esm/models/href/Href.js.map +1 -1
  35. package/esm/models/list/ListModel.js +5 -1
  36. package/esm/models/list/ListModel.js.flow +7 -3
  37. package/esm/models/list/ListModel.js.map +1 -1
  38. package/esm/models/sorting/SortOptionModel.js +7 -0
  39. package/esm/models/sorting/SortOptionModel.js.flow +7 -0
  40. package/esm/models/sorting/SortOptionModel.js.map +1 -1
  41. package/esm/models/sorting/SortingModel.js +14 -2
  42. package/esm/models/sorting/SortingModel.js.flow +14 -2
  43. package/esm/models/sorting/SortingModel.js.map +1 -1
  44. package/esm/models/types.js.flow +1 -3
  45. package/esm/models/types.js.map +1 -1
  46. package/esm/redux/_modularui/ModularUIConnector.js +7 -6
  47. package/esm/redux/_modularui/ModularUIConnector.js.flow +6 -4
  48. package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
  49. package/lib/hooks/useList.js +4 -4
  50. package/lib/hooks/useList.js.map +1 -1
  51. package/lib/models/concepts/ConceptIndexModel.js +3 -2
  52. package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
  53. package/lib/models/content/ContentIndexModel.js +6 -1
  54. package/lib/models/content/ContentIndexModel.js.map +1 -1
  55. package/lib/models/content/ContentModel.js +3 -2
  56. package/lib/models/content/ContentModel.js.map +1 -1
  57. package/lib/models/content/ContentTOCModel.js +6 -2
  58. package/lib/models/content/ContentTOCModel.js.map +1 -1
  59. package/lib/models/filters/AssignmentFilterModel.js +54 -26
  60. package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
  61. package/lib/models/filters/BaseFilterModel.js +0 -109
  62. package/lib/models/filters/BaseFilterModel.js.map +1 -1
  63. package/lib/models/filters/ConceptIndexFilterModel.js +2 -2
  64. package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
  65. package/lib/models/filters/FilterModel.js +117 -1
  66. package/lib/models/filters/FilterModel.js.map +1 -1
  67. package/lib/models/filters/RangeFilterModel.js +2 -2
  68. package/lib/models/filters/RangeFilterModel.js.map +1 -1
  69. package/lib/models/href/Href.js +1 -1
  70. package/lib/models/href/Href.js.map +1 -1
  71. package/lib/models/list/ListModel.js +5 -1
  72. package/lib/models/list/ListModel.js.map +1 -1
  73. package/lib/models/sorting/SortOptionModel.js +7 -0
  74. package/lib/models/sorting/SortOptionModel.js.map +1 -1
  75. package/lib/models/sorting/SortingModel.js +14 -2
  76. package/lib/models/sorting/SortingModel.js.map +1 -1
  77. package/lib/models/types.js.map +1 -1
  78. package/lib/redux/_modularui/ModularUIConnector.js +7 -6
  79. package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
  80. package/package.json +6 -6
  81. package/src/hooks/useList.js +5 -5
  82. package/src/models/concepts/ConceptIndexModel.js +5 -4
  83. package/src/models/content/ContentIndexModel.js +8 -3
  84. package/src/models/content/ContentModel.js +4 -3
  85. package/src/models/content/ContentTOCModel.js +6 -2
  86. package/src/models/filters/AssignmentFilterModel.js +68 -37
  87. package/src/models/filters/BaseFilterModel.js +2 -133
  88. package/src/models/filters/ConceptIndexFilterModel.js +2 -2
  89. package/src/models/filters/FilterModel.js +146 -1
  90. package/src/models/filters/RangeFilterModel.js +2 -2
  91. package/src/models/href/Href.js +1 -1
  92. package/src/models/list/ListModel.js +7 -3
  93. package/src/models/sorting/SortOptionModel.js +7 -0
  94. package/src/models/sorting/SortingModel.js +14 -2
  95. package/src/models/types.js +1 -3
  96. package/src/redux/_modularui/ModularUIConnector.js +6 -4
@@ -1 +1 @@
1
- {"version":3,"file":"ContentIndexModel.js","names":["_ResourceModel","_interopRequireDefault","require","_ResourceCollection","_FilterCollection","_ContentLinkModel","_Href","_ChoiceAttributeModel","ContentIndexModel","ResourceModel","constructor","modularuiResponse","_context","_defineProperty2","default","_filterCollection","FilterCollection","_filter","data","filter","contributions","dynamicschema","modelOptions","_content","ResourceCollection","collection","_embedded","_map","results","call","content","ContentLinkModel","type","modelName","isApplicableModel","resourcetype","getInitialChildModelLinks","items","setChildModels","models","errors","selfhref","href","selflink","filterCollection","forEach","params","param","value","setParameter","name","removeParameter","label","getContribution","indexfilter","getFilterByAttributeKey","hasIndexFilter","filterAttribute","attribute","ChoiceAttributeModel","options","length","hasFiltersSet","some","isActive","hasNoFiltersSet","getFirstCharHref","firstChar","_context2","option","code","Href","addParameter","exports"],"sources":["../../../src/models/content/ContentIndexModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport Href from \"../href/Href\";\nimport ChoiceAttributeModel from \"../attributes/ChoiceAttributeModel\";\n\nimport type { FilterType, ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Get Index of concepts, to filter model catalog\n */\nexport default class ContentIndexModel extends ResourceModel {\n _filterCollection: FilterCollection;\n _content: ResourceCollection<ContentLinkModel>;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this._filterCollection = new FilterCollection(\n this.data.filter,\n {\n filter: this.contributions.filter,\n dynamicschema: this.data.dynamicschema,\n },\n this.modelOptions,\n );\n\n this._content = new ResourceCollection();\n this._content.collection = this.data._embedded\n ? this.data._embedded.results.map(\n (content) =>\n new ContentLinkModel(content.content, null, this.modelOptions),\n )\n : [];\n }\n\n /**\n */\n get type(): string {\n return \"ContentIndex\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ContentIndexModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ContentSearch\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.items.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n this.items.setChildModels(models, errors);\n }\n\n /**\n * Getting the self link of this list\n */\n get selfhref(): Href {\n const href = this.selflink.href;\n\n this.filterCollection.forEach((filter) => {\n filter.params.forEach((param) => {\n if (param.value) {\n href.setParameter(param.name, param.value);\n } else {\n href.removeParameter(param.name);\n }\n });\n });\n\n return href;\n }\n\n /**\n */\n get label(): string {\n return this.getContribution(\"label\");\n }\n\n /**\n * Retrieve filters of conceptindex model\n */\n get filterCollection(): FilterCollection {\n return this._filterCollection;\n }\n\n /**\n * Get index filter\n */\n get indexfilter(): FilterType | null {\n return this._filterCollection.getFilterByAttributeKey(\"index\");\n }\n\n /**\n * Retrieve content collection\n */\n get items(): ResourceCollection<ContentLinkModel> {\n return this._content;\n }\n\n /**\n */\n hasIndexFilter(): boolean {\n const filterAttribute = this.indexfilter?.attribute;\n\n return (\n filterAttribute instanceof ChoiceAttributeModel &&\n filterAttribute.options.length > 0\n );\n }\n\n /**\n */\n hasFiltersSet(): boolean {\n return this.filterCollection.some((filter) => filter.isActive());\n }\n\n /**\n */\n hasNoFiltersSet(): boolean {\n return !this.hasFiltersSet();\n }\n\n /**\n */\n getFirstCharHref(): Href {\n const filterAttribute = this.indexfilter?.attribute;\n\n let firstChar = \"#\";\n if (filterAttribute instanceof ChoiceAttributeModel) {\n firstChar = filterAttribute.options.filter(\n (option) => option.code !== \"0\",\n )[0].code;\n }\n\n return new Href(this.selfhref).addParameter(\"index\", firstChar);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ContentIndexModel.js","names":["_ResourceModel","_interopRequireDefault","require","_ResourceCollection","_FilterCollection","_ContentLinkModel","_Href","_ChoiceAttributeModel","_ConceptIndexFilterModel","ContentIndexModel","ResourceModel","constructor","modularuiResponse","_context","_defineProperty2","default","_filterCollection","FilterCollection","_filter","data","filter","contributions","dynamicschema","modelOptions","_content","ResourceCollection","collection","_embedded","_map","results","call","content","ContentLinkModel","type","modelName","isApplicableModel","resourcetype","getInitialChildModelLinks","items","setChildModels","models","errors","selfhref","href","selflink","filterCollection","forEach","params","param","value","setParameter","name","removeParameter","label","getContribution","indexfilter","indexFilter","getFilterByAttributeKey","ConceptIndexFilterModel","hasIndexFilter","filterAttribute","attribute","ChoiceAttributeModel","options","length","hasFiltersSet","some","isActive","hasNoFiltersSet","getFirstCharHref","firstChar","_context2","option","code","Href","addParameter","exports"],"sources":["../../../src/models/content/ContentIndexModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ResourceCollection from \"../base/ResourceCollection\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport Href from \"../href/Href\";\nimport ChoiceAttributeModel from \"../attributes/ChoiceAttributeModel\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\nimport ConceptIndexFilterModel from \"../filters/ConceptIndexFilterModel\";\n\n/**\n * Get Index of concepts, to filter model catalog\n */\nexport default class ContentIndexModel extends ResourceModel {\n _filterCollection: FilterCollection;\n _content: ResourceCollection<ContentLinkModel>;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this._filterCollection = new FilterCollection(\n this.data.filter,\n {\n filter: this.contributions.filter,\n dynamicschema: this.data.dynamicschema,\n },\n this.modelOptions,\n );\n\n this._content = new ResourceCollection();\n this._content.collection = this.data._embedded\n ? this.data._embedded.results.map(\n (content) =>\n new ContentLinkModel(content.content, null, this.modelOptions),\n )\n : [];\n }\n\n /**\n */\n get type(): string {\n return \"ContentIndex\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ContentIndexModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ContentSearch\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.items.getInitialChildModelLinks();\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n this.items.setChildModels(models, errors);\n }\n\n /**\n * Getting the self link of this list\n */\n get selfhref(): Href {\n const href = this.selflink.href;\n\n this.filterCollection.forEach((filter) => {\n filter.params.forEach((param) => {\n if (param.value) {\n href.setParameter(param.name, param.value);\n } else {\n href.removeParameter(param.name);\n }\n });\n });\n\n return href;\n }\n\n /**\n */\n get label(): string {\n return this.getContribution(\"label\");\n }\n\n /**\n * Retrieve filters of conceptindex model\n */\n get filterCollection(): FilterCollection {\n return this._filterCollection;\n }\n\n /**\n * Get index filter\n */\n get indexfilter(): ConceptIndexFilterModel | null {\n const indexFilter = this._filterCollection.getFilterByAttributeKey(\"index\");\n if (indexFilter instanceof ConceptIndexFilterModel) {\n return indexFilter;\n }\n return null;\n }\n\n /**\n * Retrieve content collection\n */\n get items(): ResourceCollection<ContentLinkModel> {\n return this._content;\n }\n\n /**\n */\n hasIndexFilter(): boolean {\n const filterAttribute = this.indexfilter?.attribute;\n\n return (\n filterAttribute instanceof ChoiceAttributeModel &&\n filterAttribute.options.length > 0\n );\n }\n\n /**\n */\n hasFiltersSet(): boolean {\n return this.filterCollection.some((filter) => filter.isActive());\n }\n\n /**\n */\n hasNoFiltersSet(): boolean {\n return !this.hasFiltersSet();\n }\n\n /**\n */\n getFirstCharHref(): Href {\n const filterAttribute = this.indexfilter?.attribute;\n\n let firstChar = \"#\";\n if (filterAttribute instanceof ChoiceAttributeModel) {\n firstChar = filterAttribute.options.filter(\n (option) => option.code !== \"0\",\n )[0].code;\n }\n\n return new Href(this.selfhref).addParameter(\"index\", firstChar);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -93,8 +93,9 @@ class ContentModel extends _ResourceModel.default {
93
93
  */
94
94
  get entryDate() {
95
95
  const entryDateFilter = this.filterCollection?.getFilterByAttributeKey(_Constants.TIMEVERSION_FILTER_NAME);
96
- if (entryDateFilter && entryDateFilter.attribute) {
97
- return entryDateFilter.attribute.value;
96
+ const date = entryDateFilter?.value;
97
+ if (typeof date === "string") {
98
+ return date;
98
99
  }
99
100
  return null;
100
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContentModel.js","names":["_ModularUIResponse","_interopRequireDefault","require","_ResourceModel","_FilterCollection","_ContentLinkModel","_SubSectionModel","_ContentTypeModel","_Constants","_SectionModel","ContentModel","ResourceModel","constructor","response","_defineProperty2","default","_section","SectionModel","data","entryDate","modelOptions","type","modelName","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","contentTypeLink","links","getLinkByKey","setChildModels","models","contentType","_find","call","model","section","id","_id","filterCollection","_filterCollection","_filter","FilterCollection","filter","entryDateFilter","getFilterByAttributeKey","TIMEVERSION_FILTER_NAME","attribute","value","_contentType","ContentTypeModel","label","number","body","childSectionLinks","selfContentLink","childSections","sections","subSections","relatedConceptsHrefs","hrefs","relatedConceptsHref","push","forEach","subSection","relatedConceptsLink","href","addParameter","setReferenceHash","referenceHash","exports"],"sources":["../../../src/models/content/ContentModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport ResourceModel from \"../base/ResourceModel\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport ContentTypeModel from \"./ContentTypeModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\nimport SectionModel from \"./SectionModel\";\n\n/**\n * Content detail model\n */\nexport default class ContentModel extends ResourceModel {\n _section: SectionModel;\n _contentType: ContentTypeModel | null = null;\n _filterCollection: FilterCollection;\n\n constructor(response: ModularUIResponse) {\n super(response);\n\n this._section = new SectionModel(\n this.data,\n this.entryDate,\n this.modelOptions,\n );\n }\n\n /**\n */\n get type(): string {\n return \"Content\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ContentModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ContentDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const contentTypeLink = this.links.getLinkByKey(\"contenttype\");\n\n if (contentTypeLink) {\n return [contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.contentType = models.find((model) => model.type === \"ContentType\");\n }\n\n /**\n */\n get section(): SectionModel {\n return this._section;\n }\n\n /**\n */\n get id(): string {\n return this.data._id;\n }\n\n /**\n * Retrieve available filters on concept toc\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection && this.data.filter?.entryDate) {\n this._filterCollection = new FilterCollection(\n {\n entryDate: this.data.filter.entryDate,\n },\n {\n filter: this.contributions.filter,\n },\n this.modelOptions,\n );\n }\n\n return this._filterCollection;\n }\n\n /**\n * Retrieve modelcatalog.js of content toc\n */\n get entryDate(): ISO_DATE | null {\n const entryDateFilter = this.filterCollection?.getFilterByAttributeKey(\n TIMEVERSION_FILTER_NAME,\n );\n if (entryDateFilter && entryDateFilter.attribute) {\n return entryDateFilter.attribute.value;\n }\n\n return null;\n }\n\n /**\n * Get conceptType of concept\n */\n get contentType(): ContentTypeModel | null {\n return this._contentType;\n }\n\n /**\n * Set concept type\n */\n set contentType(contentType: ?ModularUIModel) {\n this._contentType =\n contentType instanceof ContentTypeModel ? contentType : null;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.section.label;\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.section.number;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return this.section.body;\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.section.childSectionLinks;\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return this.section.selfContentLink;\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n return this.section.childSections;\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this.section.childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.section.subSections;\n }\n\n /**\n */\n get relatedConceptsHrefs(): Array<Href> {\n const hrefs = [];\n if (this.relatedConceptsHref) {\n hrefs.push(this.relatedConceptsHref);\n }\n\n this.subSections.forEach((subSection) => {\n hrefs.push(...subSection.relatedConceptsHrefs);\n });\n\n return hrefs;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n const { href } = relatedConceptsLink;\n href.addParameter(\"entryDate\", this.entryDate);\n href.setReferenceHash(this.referenceHash);\n return href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n return this.section.referenceHash;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ContentModel.js","names":["_ModularUIResponse","_interopRequireDefault","require","_ResourceModel","_FilterCollection","_ContentLinkModel","_SubSectionModel","_ContentTypeModel","_Constants","_SectionModel","ContentModel","ResourceModel","constructor","response","_defineProperty2","default","_section","SectionModel","data","entryDate","modelOptions","type","modelName","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","contentTypeLink","links","getLinkByKey","setChildModels","models","contentType","_find","call","model","section","id","_id","filterCollection","_filterCollection","_filter","FilterCollection","filter","entryDateFilter","getFilterByAttributeKey","TIMEVERSION_FILTER_NAME","date","value","_contentType","ContentTypeModel","label","number","body","childSectionLinks","selfContentLink","childSections","sections","subSections","relatedConceptsHrefs","hrefs","relatedConceptsHref","push","forEach","subSection","relatedConceptsLink","href","addParameter","setReferenceHash","referenceHash","exports"],"sources":["../../../src/models/content/ContentModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport ResourceModel from \"../base/ResourceModel\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport ContentTypeModel from \"./ContentTypeModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type Href from \"../href/Href\";\nimport SectionModel from \"./SectionModel\";\n\n/**\n * Content detail model\n */\nexport default class ContentModel extends ResourceModel {\n _section: SectionModel;\n _contentType: ContentTypeModel | null = null;\n _filterCollection: FilterCollection;\n\n constructor(response: ModularUIResponse) {\n super(response);\n\n this._section = new SectionModel(\n this.data,\n this.entryDate,\n this.modelOptions,\n );\n }\n\n /**\n */\n get type(): string {\n return \"Content\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ContentModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ContentDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const contentTypeLink = this.links.getLinkByKey(\"contenttype\");\n\n if (contentTypeLink) {\n return [contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.contentType = models.find((model) => model.type === \"ContentType\");\n }\n\n /**\n */\n get section(): SectionModel {\n return this._section;\n }\n\n /**\n */\n get id(): string {\n return this.data._id;\n }\n\n /**\n * Retrieve available filters on concept toc\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection && this.data.filter?.entryDate) {\n this._filterCollection = new FilterCollection(\n {\n entryDate: this.data.filter.entryDate,\n },\n {\n filter: this.contributions.filter,\n },\n this.modelOptions,\n );\n }\n\n return this._filterCollection;\n }\n\n /**\n * Retrieve modelcatalog.js of content toc\n */\n get entryDate(): ISO_DATE | null {\n const entryDateFilter = this.filterCollection?.getFilterByAttributeKey(\n TIMEVERSION_FILTER_NAME,\n );\n\n const date = entryDateFilter?.value;\n if (typeof date === \"string\") {\n return date;\n }\n return null;\n }\n\n /**\n * Get conceptType of concept\n */\n get contentType(): ContentTypeModel | null {\n return this._contentType;\n }\n\n /**\n * Set concept type\n */\n set contentType(contentType: ?ModularUIModel) {\n this._contentType =\n contentType instanceof ContentTypeModel ? contentType : null;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.section.label;\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.section.number;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return this.section.body;\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.section.childSectionLinks;\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return this.section.selfContentLink;\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n return this.section.childSections;\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this.section.childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.section.subSections;\n }\n\n /**\n */\n get relatedConceptsHrefs(): Array<Href> {\n const hrefs = [];\n if (this.relatedConceptsHref) {\n hrefs.push(this.relatedConceptsHref);\n }\n\n this.subSections.forEach((subSection) => {\n hrefs.push(...subSection.relatedConceptsHrefs);\n });\n\n return hrefs;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n const { href } = relatedConceptsLink;\n href.addParameter(\"entryDate\", this.entryDate);\n href.setReferenceHash(this.referenceHash);\n return href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n return this.section.referenceHash;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -198,14 +198,18 @@ class ContentTOCModel extends _ResourceModel.default {
198
198
  */
199
199
  get entryDate() {
200
200
  const timeversionFilter = this.filterCollection.getFilterByAttributeKey(_Constants.TIMEVERSION_FILTER_NAME);
201
- return timeversionFilter?.attribute?.value ?? null;
201
+ const date = timeversionFilter?.value;
202
+ if (typeof date === "string") {
203
+ return date;
204
+ }
205
+ return null;
202
206
  }
203
207
 
204
208
  /**
205
209
  */
206
210
  get isCompleteSource() {
207
211
  const completeFilter = this.filterCollection.getFilterByAttributeKey("complete");
208
- return completeFilter?.attribute?.value === "true";
212
+ return completeFilter?.value === "true";
209
213
  }
210
214
  }
211
215
  exports.default = ContentTOCModel;
@@ -1 +1 @@
1
- {"version":3,"file":"ContentTOCModel.js","names":["_objects","require","_ResourceModel","_interopRequireDefault","_FilterCollection","_ContentLinkModel","_ContentTypeModel","_Href","_SectionModel","_Constants","getItems","items","entryDate","modelOptions","_map","default","call","item","link","ContentLinkModel","section","_id","sections","ContentTOCModel","ResourceModel","constructor","args","_defineProperty2","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","contentTypeLink","links","getLinkByKey","setChildModels","models","contentType","_find","model","label","getData","abbreviation","selfhref","href","Href","selflink","filterCollection","forEach","filter","params","param","value","setParameter","name","removeParameter","relatedConceptsHref","relatedConceptsLink","addParameter","selfContentLink","_context","SectionModel","categories","_context2","category","_contentType","ContentTypeModel","_filterCollection","_context3","FilterCollection","_filter","_context4","key","_keys","has","timeversionFilter","getFilterByAttributeKey","TIMEVERSION_FILTER_NAME","attribute","isCompleteSource","completeFilter","exports"],"sources":["../../../src/models/content/ContentTOCModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ResourceModel from \"../base/ResourceModel\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport ContentTypeModel from \"./ContentTypeModel\";\nimport Href from \"../href/Href\";\n\nimport SectionModel from \"./SectionModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type { ModelOptions, ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\n\n/**\n * Get content items recursively\n */\nconst getItems = (\n items: Array<Object>,\n entryDate: ISO_DATE | null,\n modelOptions?: ModelOptions,\n): Array<ContentLinkModel> =>\n items.map((item) => {\n const link = new ContentLinkModel(\n {\n ...item,\n section: item._id,\n },\n entryDate,\n modelOptions,\n );\n\n if (item.items) {\n link.items = getItems(item.items, entryDate, modelOptions);\n }\n if (item.sections) {\n link.items = getItems(item.sections, entryDate, modelOptions);\n }\n\n return link;\n });\n\n/**\n * Content detail model\n */\nexport default class ContentTOCModel extends ResourceModel {\n _contentType: ContentTypeModel | null = null;\n _filterCollection: FilterCollection;\n\n /**\n */\n get type(): string {\n return \"ContentTOC\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ContentTOCModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return data.contributions?.resourcetype === \"ContentTOC\";\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const contentTypeLink = this.links.getLinkByKey(\"contenttype\");\n\n if (contentTypeLink) {\n return [contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.contentType = models.find((model) => model.type === \"ContentType\");\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n */\n get abbreviation(): string | null {\n return this.getData(\"abbreviation\");\n }\n\n /**\n * Getting the self link of this list\n */\n get selfhref(): Href {\n const href = new Href(this.selflink.href);\n\n this.filterCollection.forEach((filter) => {\n filter.params.forEach((param) => {\n if (param.value) {\n href.setParameter(param.name, param.value);\n } else {\n href.removeParameter(param.name);\n }\n });\n });\n\n return href;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n const { href } = relatedConceptsLink;\n href.addParameter(\"entryDate\", this.entryDate);\n return href;\n }\n\n return null;\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return new ContentLinkModel(this.data, this.entryDate, this.modelOptions);\n }\n\n /**\n * Get sub items of toc\n */\n get items(): Array<ContentLinkModel> {\n if (this.data.items) {\n return getItems(this.data.items, this.entryDate, this.modelOptions);\n }\n\n if (this.data.sections) {\n return getItems(this.data.sections, this.entryDate, this.modelOptions);\n }\n\n return [];\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n if (this.data.sections) {\n return this.data.sections.map(\n (section) =>\n new SectionModel(section, this.entryDate, this.modelOptions),\n );\n }\n return [];\n }\n\n /**\n * get categories of content\n */\n get categories(): Array<ContentLinkModel> {\n if (this.data.categories) {\n return this.data.categories.map(\n (category) => new ContentLinkModel(category, null, this.modelOptions),\n );\n }\n\n return [];\n }\n\n /**\n * Retrieve content type model\n */\n get contentType(): ContentTypeModel | null {\n return this._contentType;\n }\n\n /**\n */\n set contentType(contentType: ?ModularUIModel) {\n this._contentType =\n contentType instanceof ContentTypeModel ? contentType : null;\n }\n\n /**\n * Retrieve available filters on concept toc\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection) {\n this._filterCollection = new FilterCollection(\n this.data.filter,\n {\n filter: this.contributions.filter.filter((filter) => {\n const [key] = Object.keys(filter);\n return has(this.data?.filter, key);\n }),\n },\n this.modelOptions,\n );\n }\n\n return this._filterCollection;\n }\n\n /**\n * Retrieve modelcatalog.js of content toc\n */\n get entryDate(): ISO_DATE | null {\n const timeversionFilter = this.filterCollection.getFilterByAttributeKey(\n TIMEVERSION_FILTER_NAME,\n );\n\n return timeversionFilter?.attribute?.value ?? null;\n }\n\n /**\n */\n get isCompleteSource(): boolean {\n const completeFilter =\n this.filterCollection.getFilterByAttributeKey(\"complete\");\n return completeFilter?.attribute?.value === \"true\";\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ContentTOCModel.js","names":["_objects","require","_ResourceModel","_interopRequireDefault","_FilterCollection","_ContentLinkModel","_ContentTypeModel","_Href","_SectionModel","_Constants","getItems","items","entryDate","modelOptions","_map","default","call","item","link","ContentLinkModel","section","_id","sections","ContentTOCModel","ResourceModel","constructor","args","_defineProperty2","type","modelName","isApplicableModel","data","contributions","resourcetype","getInitialChildModelLinks","contentTypeLink","links","getLinkByKey","setChildModels","models","contentType","_find","model","label","getData","abbreviation","selfhref","href","Href","selflink","filterCollection","forEach","filter","params","param","value","setParameter","name","removeParameter","relatedConceptsHref","relatedConceptsLink","addParameter","selfContentLink","_context","SectionModel","categories","_context2","category","_contentType","ContentTypeModel","_filterCollection","_context3","FilterCollection","_filter","_context4","key","_keys","has","timeversionFilter","getFilterByAttributeKey","TIMEVERSION_FILTER_NAME","date","isCompleteSource","completeFilter","exports"],"sources":["../../../src/models/content/ContentTOCModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport ResourceModel from \"../base/ResourceModel\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport ContentTypeModel from \"./ContentTypeModel\";\nimport Href from \"../href/Href\";\n\nimport SectionModel from \"./SectionModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type { ModelOptions, ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\n\n/**\n * Get content items recursively\n */\nconst getItems = (\n items: Array<Object>,\n entryDate: ISO_DATE | null,\n modelOptions?: ModelOptions,\n): Array<ContentLinkModel> =>\n items.map((item) => {\n const link = new ContentLinkModel(\n {\n ...item,\n section: item._id,\n },\n entryDate,\n modelOptions,\n );\n\n if (item.items) {\n link.items = getItems(item.items, entryDate, modelOptions);\n }\n if (item.sections) {\n link.items = getItems(item.sections, entryDate, modelOptions);\n }\n\n return link;\n });\n\n/**\n * Content detail model\n */\nexport default class ContentTOCModel extends ResourceModel {\n _contentType: ContentTypeModel | null = null;\n _filterCollection: FilterCollection;\n\n /**\n */\n get type(): string {\n return \"ContentTOC\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ContentTOCModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return data.contributions?.resourcetype === \"ContentTOC\";\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const contentTypeLink = this.links.getLinkByKey(\"contenttype\");\n\n if (contentTypeLink) {\n return [contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.contentType = models.find((model) => model.type === \"ContentType\");\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n */\n get abbreviation(): string | null {\n return this.getData(\"abbreviation\");\n }\n\n /**\n * Getting the self link of this list\n */\n get selfhref(): Href {\n const href = new Href(this.selflink.href);\n\n this.filterCollection.forEach((filter) => {\n filter.params.forEach((param) => {\n if (param.value) {\n href.setParameter(param.name, param.value);\n } else {\n href.removeParameter(param.name);\n }\n });\n });\n\n return href;\n }\n\n /**\n * Get related concepts link\n */\n get relatedConceptsHref(): Href | null {\n const relatedConceptsLink = this.links.getLinkByKey(\"relatedConcepts\");\n\n if (relatedConceptsLink) {\n const { href } = relatedConceptsLink;\n href.addParameter(\"entryDate\", this.entryDate);\n return href;\n }\n\n return null;\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return new ContentLinkModel(this.data, this.entryDate, this.modelOptions);\n }\n\n /**\n * Get sub items of toc\n */\n get items(): Array<ContentLinkModel> {\n if (this.data.items) {\n return getItems(this.data.items, this.entryDate, this.modelOptions);\n }\n\n if (this.data.sections) {\n return getItems(this.data.sections, this.entryDate, this.modelOptions);\n }\n\n return [];\n }\n\n /**\n */\n get sections(): Array<SectionModel> {\n if (this.data.sections) {\n return this.data.sections.map(\n (section) =>\n new SectionModel(section, this.entryDate, this.modelOptions),\n );\n }\n return [];\n }\n\n /**\n * get categories of content\n */\n get categories(): Array<ContentLinkModel> {\n if (this.data.categories) {\n return this.data.categories.map(\n (category) => new ContentLinkModel(category, null, this.modelOptions),\n );\n }\n\n return [];\n }\n\n /**\n * Retrieve content type model\n */\n get contentType(): ContentTypeModel | null {\n return this._contentType;\n }\n\n /**\n */\n set contentType(contentType: ?ModularUIModel) {\n this._contentType =\n contentType instanceof ContentTypeModel ? contentType : null;\n }\n\n /**\n * Retrieve available filters on concept toc\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection) {\n this._filterCollection = new FilterCollection(\n this.data.filter,\n {\n filter: this.contributions.filter.filter((filter) => {\n const [key] = Object.keys(filter);\n return has(this.data?.filter, key);\n }),\n },\n this.modelOptions,\n );\n }\n\n return this._filterCollection;\n }\n\n /**\n * Retrieve modelcatalog.js of content toc\n */\n get entryDate(): ISO_DATE | null {\n const timeversionFilter = this.filterCollection.getFilterByAttributeKey(\n TIMEVERSION_FILTER_NAME,\n );\n\n const date = timeversionFilter?.value;\n if (typeof date === \"string\") {\n return date;\n }\n return null;\n }\n\n /**\n */\n get isCompleteSource(): boolean {\n const completeFilter =\n this.filterCollection.getFilterByAttributeKey(\"complete\");\n return completeFilter?.value === \"true\";\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
9
9
  var _BaseFilterModel = _interopRequireDefault(require("../filters/BaseFilterModel"));
10
10
  var _exceptions = require("../../exceptions");
11
+ var _createAttribute = _interopRequireDefault(require("../attributes/_createAttribute"));
11
12
  /**
12
13
  * Assignment filter consists of two filters: assignment type and user filter
13
14
  */
@@ -30,25 +31,12 @@ class AssignmentFilterModel extends _BaseFilterModel.default {
30
31
  return this.data.name;
31
32
  }
32
33
 
33
- /**
34
- * Getting key of the list these filters apply to
35
- */
36
- get listkey() {
37
- return this._listKey;
38
- }
39
-
40
- /**
41
- * Set key of list this filter belongs to
42
- */
43
- set listkey(key) {
44
- this._listKey = key;
45
- }
46
-
47
34
  /**
48
35
  */
49
36
  get contextid() {
50
37
  return this.getContribution("contextid", "");
51
38
  }
39
+
52
40
  /**
53
41
  * Creates an assignmenttype model when assignmenttype json is present
54
42
  */
@@ -65,10 +53,11 @@ class AssignmentFilterModel extends _BaseFilterModel.default {
65
53
  }
66
54
  const assignmentTypeContributions = {
67
55
  ...this.contributions[key],
56
+ type: "choice",
68
57
  enumerated: true,
69
58
  optionMode: assignmentTypeData._links ? "lookup" : "static"
70
59
  };
71
- return this.createAttribute("choice", assignmentTypeData.name || assignmentTypeData.param, assignmentTypeData, assignmentTypeContributions);
60
+ return (0, _createAttribute.default)(assignmentTypeData.name || assignmentTypeData.param, assignmentTypeData, assignmentTypeContributions, this.modelOptions);
72
61
  }
73
62
 
74
63
  /**
@@ -84,9 +73,11 @@ class AssignmentFilterModel extends _BaseFilterModel.default {
84
73
  }
85
74
  const userContributions = {
86
75
  ...this.contributions[key],
76
+ type: "choice",
77
+ enumerated: true,
87
78
  optionMode: userData._links ? "lookup" : "static"
88
79
  };
89
- return this.createAttribute("choice", userData.name || userData.param, userData, userContributions);
80
+ return (0, _createAttribute.default)(userData.name || userData.param, userData, userContributions, this.modelOptions);
90
81
  }
91
82
 
92
83
  /**
@@ -107,16 +98,38 @@ class AssignmentFilterModel extends _BaseFilterModel.default {
107
98
  * Getting the parameters of this filter
108
99
  */
109
100
  get params() {
110
- if (this.assignmenttype && this.user) {
111
- return [{
112
- name: this.assignmenttype.name,
113
- value: this.assignmenttype.value
114
- }, {
115
- name: this.user.name,
116
- value: this.user.value
117
- }];
118
- }
119
- return [];
101
+ return [{
102
+ name: this.assignmenttype.name,
103
+ value: this.assignmenttype.value
104
+ }, {
105
+ name: this.user.name,
106
+ value: this.user.value
107
+ }];
108
+ }
109
+
110
+ /**
111
+ */
112
+ get value() {
113
+ return {
114
+ [this.assignmenttype.name]: this.assignmenttype.value,
115
+ [this.user.name]: this.user.value
116
+ };
117
+ }
118
+
119
+ /**
120
+ */
121
+ get inputvalue() {
122
+ return {
123
+ [this.assignmenttype.name]: this.assignmenttype.inputvalue,
124
+ [this.user.name]: this.user.inputvalue
125
+ };
126
+ }
127
+
128
+ /**
129
+ * Indicates if the filter has a value.
130
+ */
131
+ hasValue() {
132
+ return this.assignmenttype.value !== null && this.assignmenttype.value !== "" || this.user.value !== null && this.user.value !== "";
120
133
  }
121
134
 
122
135
  /**
@@ -156,6 +169,21 @@ class AssignmentFilterModel extends _BaseFilterModel.default {
156
169
  get isValid() {
157
170
  return this.assignmenttype != null && this.assignmenttype.isValid && this.user != null && this.user.isValid;
158
171
  }
172
+
173
+ /**
174
+ */
175
+ get readonlyvalue() {
176
+ return {
177
+ [this.assignmenttype.name]: this.assignmenttype.readonlyvalue,
178
+ [this.user.name]: this.user.readonlyvalue
179
+ };
180
+ }
181
+
182
+ /**
183
+ */
184
+ get formdata() {
185
+ return this.value;
186
+ }
159
187
  }
160
188
  exports.default = AssignmentFilterModel;
161
189
  //# sourceMappingURL=AssignmentFilterModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssignmentFilterModel.js","names":["_BaseFilterModel","_interopRequireDefault","require","_exceptions","AssignmentFilterModel","BaseFilterModel","constructor","data","contributions","modelOptions","_defineProperty2","default","_assignmenttype","createAssignmentTypeModel","_user","createUserModel","key","name","listkey","_listKey","contextid","getContribution","assignmentTypeData","IllegalStateException","dynamicschema","assignmentTypeContributions","enumerated","optionMode","_links","createAttribute","param","userData","userContributions","assignmenttype","user","params","value","reset","update","attribute","isActive","initvalue","isValid","exports"],"sources":["../../../src/models/filters/AssignmentFilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\n\nimport type { AttributeType, ModelOptions } from \"../types\";\nimport { IllegalStateException } from \"../../exceptions\";\n/**\n * Assignment filter consists of two filters: assignment type and user filter\n */\nexport default class AssignmentFilterModel extends BaseFilterModel {\n _listKey: string;\n _assignmenttype: ?AttributeType;\n _user: ?AttributeType;\n\n /**\n * Construct an assignment filter\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this._assignmenttype = this.createAssignmentTypeModel();\n this._user = this.createUserModel();\n }\n\n /**\n */\n get key(): ?string {\n return this.data.name;\n }\n\n /**\n * Getting key of the list these filters apply to\n */\n get listkey(): string {\n return this._listKey;\n }\n\n /**\n * Set key of list this filter belongs to\n */\n set listkey(key: string) {\n this._listKey = key;\n }\n\n /**\n */\n get contextid(): string {\n return this.getContribution(\"contextid\", \"\");\n }\n /**\n * Creates an assignmenttype model when assignmenttype json is present\n */\n createAssignmentTypeModel(): ?AttributeType {\n const key = `${this.contextid}ASSIGNMENTTYPE`;\n const assignmentTypeData = this.data[key];\n\n if (typeof assignmentTypeData === \"undefined\") {\n throw new IllegalStateException(\n `Missing assignment type data for ${key}`,\n );\n }\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n assignmentTypeData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const assignmentTypeContributions = {\n ...this.contributions[key],\n enumerated: true,\n optionMode: assignmentTypeData._links ? \"lookup\" : \"static\",\n };\n\n return this.createAttribute(\n \"choice\",\n assignmentTypeData.name || assignmentTypeData.param,\n assignmentTypeData,\n assignmentTypeContributions,\n );\n }\n\n /**\n * Creates an assignmenttype model when userkey json is present\n */\n createUserModel(): ?AttributeType {\n const key = `${this.contextid}USERKEY`;\n const userData = this.data[key];\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n userData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const userContributions = {\n ...this.contributions[key],\n optionMode: userData._links ? \"lookup\" : \"static\",\n };\n\n return this.createAttribute(\n \"choice\",\n userData.name || userData.param,\n userData,\n userContributions,\n );\n }\n\n /**\n * The assignment filter consists of two part. This method return the assignment type attribute\n */\n get assignmenttype(): ?AttributeType {\n return this._assignmenttype;\n }\n\n /**\n * The assignment filter consists of two part. This method return the user identifier attribute\n */\n get user(): ?AttributeType {\n return this._user;\n }\n\n /**\n * Getting the parameters of this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (this.assignmenttype && this.user) {\n return [\n {\n name: this.assignmenttype.name,\n value: this.assignmenttype.value,\n },\n {\n name: this.user.name,\n value: this.user.value,\n },\n ];\n }\n\n return [];\n }\n\n /**\n * Reset the values within the filter\n */\n reset(): AssignmentFilterModel {\n if (this.assignmenttype) {\n this.assignmenttype.reset();\n }\n if (this.user) {\n this.user.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter\n */\n update(attribute: AttributeType, value: string) {\n if (this.user != null && this.user.key === attribute.key) {\n this.user.update(value);\n } else if (\n this.assignmenttype != null &&\n this.assignmenttype.key === attribute.key\n ) {\n this.assignmenttype.update(value);\n }\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return (\n (this.assignmenttype != null && this.assignmenttype.initvalue !== null) ||\n (this.user != null && this.user.initvalue !== null)\n );\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return (\n this.assignmenttype != null &&\n this.assignmenttype.isValid &&\n this.user != null &&\n this.user.isValid\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AssignmentFilterModel.js","names":["_BaseFilterModel","_interopRequireDefault","require","_exceptions","_createAttribute","AssignmentFilterModel","BaseFilterModel","constructor","data","contributions","modelOptions","_defineProperty2","default","_assignmenttype","createAssignmentTypeModel","_user","createUserModel","key","name","contextid","getContribution","assignmentTypeData","IllegalStateException","dynamicschema","assignmentTypeContributions","type","enumerated","optionMode","_links","createAttribute","param","userData","userContributions","assignmenttype","user","params","value","inputvalue","hasValue","reset","update","attribute","isActive","initvalue","isValid","readonlyvalue","formdata","exports"],"sources":["../../../src/models/filters/AssignmentFilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\n\nimport type { AttributeType, ModelOptions } from \"../types\";\nimport { IllegalStateException } from \"../../exceptions\";\nimport createAttribute from \"../attributes/_createAttribute\";\n/**\n * Assignment filter consists of two filters: assignment type and user filter\n */\nexport default class AssignmentFilterModel extends BaseFilterModel {\n _listKey: string;\n _assignmenttype: AttributeType;\n _user: AttributeType;\n\n /**\n * Construct an assignment filter\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this._assignmenttype = this.createAssignmentTypeModel();\n this._user = this.createUserModel();\n }\n\n /**\n */\n get key(): ?string {\n return this.data.name;\n }\n\n /**\n */\n get contextid(): string {\n return this.getContribution(\"contextid\", \"\");\n }\n\n /**\n * Creates an assignmenttype model when assignmenttype json is present\n */\n createAssignmentTypeModel(): AttributeType {\n const key = `${this.contextid}ASSIGNMENTTYPE`;\n const assignmentTypeData = this.data[key];\n\n if (typeof assignmentTypeData === \"undefined\") {\n throw new IllegalStateException(\n `Missing assignment type data for ${key}`,\n );\n }\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n assignmentTypeData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const assignmentTypeContributions = {\n ...this.contributions[key],\n type: \"choice\",\n enumerated: true,\n optionMode: assignmentTypeData._links ? \"lookup\" : \"static\",\n };\n\n return createAttribute(\n assignmentTypeData.name || assignmentTypeData.param,\n assignmentTypeData,\n assignmentTypeContributions,\n this.modelOptions,\n );\n }\n\n /**\n * Creates an assignmenttype model when userkey json is present\n */\n createUserModel(): AttributeType {\n const key = `${this.contextid}USERKEY`;\n const userData = this.data[key];\n\n if (this.data.dynamicschema && this.data.dynamicschema[key]) {\n userData.dynamicschema = {\n [key]: this.data.dynamicschema[key],\n };\n }\n\n const userContributions = {\n ...this.contributions[key],\n type: \"choice\",\n enumerated: true,\n optionMode: userData._links ? \"lookup\" : \"static\",\n };\n\n return createAttribute(\n userData.name || userData.param,\n userData,\n userContributions,\n this.modelOptions,\n );\n }\n\n /**\n * The assignment filter consists of two part. This method return the assignment type attribute\n */\n get assignmenttype(): AttributeType {\n return this._assignmenttype;\n }\n\n /**\n * The assignment filter consists of two part. This method return the user identifier attribute\n */\n get user(): AttributeType {\n return this._user;\n }\n\n /**\n * Getting the parameters of this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n return [\n {\n name: this.assignmenttype.name,\n value: this.assignmenttype.value,\n },\n {\n name: this.user.name,\n value: this.user.value,\n },\n ];\n }\n\n /**\n */\n get value(): { [string]: any } {\n return {\n [this.assignmenttype.name]: this.assignmenttype.value,\n [this.user.name]: this.user.value,\n };\n }\n\n /**\n */\n get inputvalue(): { [string]: any } {\n return {\n [this.assignmenttype.name]: this.assignmenttype.inputvalue,\n [this.user.name]: this.user.inputvalue,\n };\n }\n\n /**\n * Indicates if the filter has a value.\n */\n hasValue(): boolean {\n return (\n (this.assignmenttype.value !== null &&\n this.assignmenttype.value !== \"\") ||\n (this.user.value !== null && this.user.value !== \"\")\n );\n }\n\n /**\n * Reset the values within the filter\n */\n reset(): AssignmentFilterModel {\n if (this.assignmenttype) {\n this.assignmenttype.reset();\n }\n if (this.user) {\n this.user.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter\n */\n update(attribute: AttributeType, value: string) {\n if (this.user != null && this.user.key === attribute.key) {\n this.user.update(value);\n } else if (\n this.assignmenttype != null &&\n this.assignmenttype.key === attribute.key\n ) {\n this.assignmenttype.update(value);\n }\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return (\n (this.assignmenttype != null && this.assignmenttype.initvalue !== null) ||\n (this.user != null && this.user.initvalue !== null)\n );\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return (\n this.assignmenttype != null &&\n this.assignmenttype.isValid &&\n this.user != null &&\n this.user.isValid\n );\n }\n\n /**\n */\n get readonlyvalue(): { [string]: string } {\n return {\n [this.assignmenttype.name]: this.assignmenttype.readonlyvalue,\n [this.user.name]: this.user.readonlyvalue,\n };\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n return this.value;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,9 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
9
9
  var _BaseModel = _interopRequireDefault(require("../base/BaseModel"));
10
- var _createAttribute = _interopRequireDefault(require("../attributes/_createAttribute"));
11
10
  var _Constants = require("../../constants/Constants");
12
- var _exceptions = require("../../exceptions");
13
11
  /**
14
12
  * Base class for filters
15
13
  */
@@ -18,10 +16,8 @@ class BaseFilterModel extends _BaseModel.default {
18
16
  */
19
17
  constructor(data, contributions, modelOptions) {
20
18
  super(data, contributions, modelOptions);
21
- (0, _defineProperty2.default)(this, "_attribute", null);
22
19
  (0, _defineProperty2.default)(this, "_context", void 0);
23
20
  (0, _defineProperty2.default)(this, "_listKey", void 0);
24
- this._attribute = this.createAttribute(this.type, this.param, this.data, this.contributions);
25
21
  if (this.contributions.listKey) {
26
22
  this.listkey = this.contributions.listKey;
27
23
  }
@@ -47,19 +43,6 @@ class BaseFilterModel extends _BaseModel.default {
47
43
  }
48
44
  }
49
45
 
50
- /**
51
- * Create attribute through the attribute factory. Create type based on filter key without the filter suffix
52
- */
53
- createAttribute(type, param, data, contributions) {
54
- if (type === "assignment") {
55
- return null;
56
- }
57
- return (0, _createAttribute.default)(param, data, {
58
- ...contributions,
59
- type: type
60
- }, this.modelOptions);
61
- }
62
-
63
46
  /**
64
47
  * Inidiates if filter is multiplechoice
65
48
  */
@@ -126,69 +109,6 @@ class BaseFilterModel extends _BaseModel.default {
126
109
  return this.data.param ?? this.data.name;
127
110
  }
128
111
 
129
- /**
130
- * Get attribute of filter
131
- */
132
- get attribute() {
133
- if (!this._attribute) {
134
- throw new _exceptions.IllegalStateException(`Missing filter attribute on filter model: ${this.label}`);
135
- }
136
- return this._attribute;
137
- }
138
-
139
- /**
140
- * Retrieve the parameters with it's value for this filter
141
- */
142
- get params() {
143
- if (!this.param) {
144
- return [];
145
- }
146
- return [{
147
- name: this.param,
148
- value: this.attribute?.value
149
- }];
150
- }
151
-
152
- /**
153
- * Getting the value of the filter
154
- */
155
- get value() {
156
- return this.attribute?.value;
157
- }
158
-
159
- /**
160
- * Getting the inputvalue of the filter
161
- */
162
- get inputvalue() {
163
- return this.attribute?.inputvalue;
164
- }
165
-
166
- /**
167
- * Indicates if the filter has a value.
168
- */
169
- hasValue() {
170
- return this.value !== null && this.value !== "";
171
- }
172
-
173
- /**
174
- * Reset the value of this filter to undefined
175
- */
176
- reset() {
177
- if (this.attribute) {
178
- this.attribute.reset();
179
- }
180
- return this;
181
- }
182
-
183
- /**
184
- * Update this filter with input name and value
185
- */
186
- update(attribute, value) {
187
- if (this.attribute) {
188
- this.attribute.update(value);
189
- }
190
- }
191
-
192
112
  /**
193
113
  * Inidicates if filter is a quick search filter
194
114
  */
@@ -196,41 +116,12 @@ class BaseFilterModel extends _BaseModel.default {
196
116
  return this.contributions.quicksearch === true;
197
117
  }
198
118
 
199
- /**
200
- * Inidiates if filter is active
201
- */
202
- isActive() {
203
- return this.attribute !== null && this.attribute.initvalue !== null;
204
- }
205
-
206
- /**
207
- * Inidiates if filter is valid
208
- */
209
- get isValid() {
210
- return this.attribute !== null && this.attribute.isValid;
211
- }
212
-
213
- /**
214
- */
215
- get readonlyvalue() {
216
- if (this.attribute) {
217
- return this.attribute.readonlyvalue;
218
- }
219
- return "";
220
- }
221
-
222
119
  /**
223
120
  * Get assistant message
224
121
  */
225
122
  get assistantMessage() {
226
123
  return this.getContribution("assistant");
227
124
  }
228
-
229
- /**
230
- */
231
- get formdata() {
232
- return this.attribute.formdata ?? null;
233
- }
234
125
  }
235
126
  exports.default = BaseFilterModel;
236
127
  //# sourceMappingURL=BaseFilterModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BaseFilterModel.js","names":["_BaseModel","_interopRequireDefault","require","_createAttribute","_Constants","_exceptions","BaseFilterModel","BaseModel","constructor","data","contributions","modelOptions","_defineProperty2","default","_attribute","createAttribute","type","param","listKey","listkey","replace","parameterType","getContribution","PARAMETER_TYPES","BODY","QUERY","isMultiple","context","_context","contextLabel","label","_listKey","key","name","PARAMETER_SEPARATOR","attribute","IllegalStateException","params","value","inputvalue","hasValue","reset","update","isQuickSearch","quicksearch","isActive","initvalue","isValid","readonlyvalue","assistantMessage","formdata","exports"],"sources":["../../../src/models/filters/BaseFilterModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport createAttribute from \"../attributes/_createAttribute\";\nimport {\n PARAMETER_SEPARATOR,\n PARAMETER_TYPES,\n} from \"../../constants/Constants\";\n\nimport type { AttributeType, FilterType, ModelOptions } from \"../types\";\nimport { IllegalStateException } from \"../../exceptions\";\n\n/**\n * Base class for filters\n */\nexport default class BaseFilterModel extends BaseModel {\n _attribute: AttributeType | null = null;\n _context: Object;\n _listKey: string;\n\n /**\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this._attribute = this.createAttribute(\n this.type,\n this.param,\n this.data,\n this.contributions,\n );\n\n if (this.contributions.listKey) {\n this.listkey = this.contributions.listKey;\n }\n }\n\n /**\n * Get the type of a filter.\n */\n get type(): string {\n return this.contributions.type\n ? this.contributions.type.replace(\"filter\", \"\")\n : \"string\";\n }\n\n /**\n * Returns the parameter type, when the filter can only be used in a POST request the type is 'bodyParameter', else 'queryParameter'.\n */\n get parameterType(): $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 * Create attribute through the attribute factory. Create type based on filter key without the filter suffix\n */\n createAttribute(\n type: string,\n param: string,\n data: Object,\n contributions: Object,\n ): AttributeType | null {\n if (type === \"assignment\") {\n return null;\n }\n\n return createAttribute(\n param,\n data,\n {\n ...contributions,\n type: type,\n },\n this.modelOptions,\n );\n }\n\n /**\n * Inidiates if filter is multiplechoice\n */\n get isMultiple(): boolean {\n return this.getContribution(\"multiplechoice\", false);\n }\n\n /**\n * Getting context data\n */\n get context(): Object {\n return this._context;\n }\n\n /**\n * Set context of filter\n */\n set context(context: Object) {\n this._context = context;\n }\n\n /**\n * Getting the context label\n */\n get contextLabel(): string {\n return this.context?.label ?? \"\";\n }\n\n /**\n * Getting key of the list these filters apply to\n */\n get listkey(): string {\n return this._listKey;\n }\n\n /**\n * Set key of list this filter belongs to\n */\n set listkey(key: string) {\n this._listKey = key;\n }\n\n /**\n * Getting the label of the filter\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the name of the filter\n */\n get name(): string {\n if (this.listkey) {\n return this.listkey + PARAMETER_SEPARATOR + this.param;\n }\n\n return this.param;\n }\n\n /**\n * Getting the param name of the filter\n */\n get param(): string {\n return this.data.param ?? this.data.name;\n }\n\n /**\n * Get attribute of filter\n */\n get attribute(): AttributeType {\n if (!this._attribute) {\n throw new IllegalStateException(\n `Missing filter attribute on filter model: ${this.label}`,\n );\n }\n return this._attribute;\n }\n\n /**\n * Retrieve the parameters with it's value for this filter\n */\n get params(): Array<{ name: string, value: ?string }> {\n if (!this.param) {\n return [];\n }\n\n return [\n {\n name: this.param,\n value: this.attribute?.value,\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this.attribute?.value;\n }\n\n /**\n * Getting the inputvalue of the filter\n */\n get inputvalue(): string {\n return this.attribute?.inputvalue;\n }\n\n /**\n * 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(): FilterType {\n if (this.attribute) {\n this.attribute.reset();\n }\n\n return this;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n if (this.attribute) {\n this.attribute.update(value);\n }\n }\n\n /**\n * Inidicates if filter is a quick search filter\n */\n isQuickSearch(): boolean {\n return this.contributions.quicksearch === true;\n }\n\n /**\n * Inidiates if filter is active\n */\n isActive(): boolean {\n return this.attribute !== null && this.attribute.initvalue !== null;\n }\n\n /**\n * Inidiates if filter is valid\n */\n get isValid(): boolean {\n return this.attribute !== null && this.attribute.isValid;\n }\n\n /**\n */\n get readonlyvalue(): string {\n if (this.attribute) {\n return this.attribute.readonlyvalue;\n }\n return \"\";\n }\n\n /**\n * Get assistant message\n */\n get assistantMessage(): string | null {\n return this.getContribution(\"assistant\");\n }\n\n /**\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":"BaseFilterModel.js","names":["_BaseModel","_interopRequireDefault","require","_Constants","BaseFilterModel","BaseModel","constructor","data","contributions","modelOptions","_defineProperty2","default","listKey","listkey","type","replace","parameterType","getContribution","PARAMETER_TYPES","BODY","QUERY","isMultiple","context","_context","contextLabel","label","_listKey","key","name","PARAMETER_SEPARATOR","param","isQuickSearch","quicksearch","assistantMessage","exports"],"sources":["../../../src/models/filters/BaseFilterModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\n\nimport {\n PARAMETER_SEPARATOR,\n PARAMETER_TYPES,\n} from \"../../constants/Constants\";\n\nimport type { ModelOptions } from \"../types\";\n\n/**\n * Base class for filters\n */\nexport default class BaseFilterModel extends BaseModel {\n _context: Object;\n _listKey: string;\n\n /**\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n if (this.contributions.listKey) {\n this.listkey = this.contributions.listKey;\n }\n }\n\n /**\n * Get the type of a filter.\n */\n get type(): string {\n return this.contributions.type\n ? this.contributions.type.replace(\"filter\", \"\")\n : \"string\";\n }\n\n /**\n * Returns the parameter type, when the filter can only be used in a POST request the type is 'bodyParameter', else 'queryParameter'.\n */\n get parameterType(): $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 * Inidiates if filter is multiplechoice\n */\n get isMultiple(): boolean {\n return this.getContribution(\"multiplechoice\", false);\n }\n\n /**\n * Getting context data\n */\n get context(): Object {\n return this._context;\n }\n\n /**\n * Set context of filter\n */\n set context(context: Object) {\n this._context = context;\n }\n\n /**\n * Getting the context label\n */\n get contextLabel(): string {\n return this.context?.label ?? \"\";\n }\n\n /**\n * Getting key of the list these filters apply to\n */\n get listkey(): string {\n return this._listKey;\n }\n\n /**\n * Set key of list this filter belongs to\n */\n set listkey(key: string) {\n this._listKey = key;\n }\n\n /**\n * Getting the label of the filter\n */\n get label(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Getting the name of the filter\n */\n get name(): string {\n if (this.listkey) {\n return this.listkey + PARAMETER_SEPARATOR + this.param;\n }\n\n return this.param;\n }\n\n /**\n * Getting the param name of the filter\n */\n get param(): string {\n return this.data.param ?? this.data.name;\n }\n\n /**\n * Inidicates if filter is a quick search filter\n */\n isQuickSearch(): boolean {\n return this.contributions.quicksearch === true;\n }\n\n /**\n * Get assistant message\n */\n get assistantMessage(): string | null {\n return this.getContribution(\"assistant\");\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAOA;AACA;AACA;AACe,MAAME,eAAe,SAASC,kBAAS,CAAC;EAIrD;AACF;EACEC,WAAWA,CACTC,IAAY,EACZC,aAAqB,EACrBC,YAA2B,EAC3B;IACA,KAAK,CAACF,IAAI,EAAEC,aAAa,EAAEC,YAAY,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAEzC,IAAI,IAAI,CAACH,aAAa,CAACI,OAAO,EAAE;MAC9B,IAAI,CAACC,OAAO,GAAG,IAAI,CAACL,aAAa,CAACI,OAAO;IAC3C;EACF;;EAEA;AACF;AACA;EACE,IAAIE,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACN,aAAa,CAACM,IAAI,GAC1B,IAAI,CAACN,aAAa,CAACM,IAAI,CAACC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,GAC7C,QAAQ;EACd;;EAEA;AACF;AACA;EACE,IAAIC,aAAaA,CAAA,EAAoC;IACnD,MAAMA,aAAa,GAAG,IAAI,CAACC,eAAe,CAAC,eAAe,CAAC;IAC3D,QAAQD,aAAa;MACnB,KAAK,eAAe;QAClB,OAAOE,0BAAe,CAACC,IAAI;MAC7B;QACE,OAAOD,0BAAe,CAACE,KAAK;IAChC;EACF;;EAEA;AACF;AACA;EACE,IAAIC,UAAUA,CAAA,EAAY;IACxB,OAAO,IAAI,CAACJ,eAAe,CAAC,gBAAgB,EAAE,KAAK,CAAC;EACtD;;EAEA;AACF;AACA;EACE,IAAIK,OAAOA,CAAA,EAAW;IACpB,OAAO,IAAI,CAACC,QAAQ;EACtB;;EAEA;AACF;AACA;EACE,IAAID,OAAOA,CAACA,OAAe,EAAE;IAC3B,IAAI,CAACC,QAAQ,GAAGD,OAAO;EACzB;;EAEA;AACF;AACA;EACE,IAAIE,YAAYA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACF,OAAO,EAAEG,KAAK,IAAI,EAAE;EAClC;;EAEA;AACF;AACA;EACE,IAAIZ,OAAOA,CAAA,EAAW;IACpB,OAAO,IAAI,CAACa,QAAQ;EACtB;;EAEA;AACF;AACA;EACE,IAAIb,OAAOA,CAACc,GAAW,EAAE;IACvB,IAAI,CAACD,QAAQ,GAAGC,GAAG;EACrB;;EAEA;AACF;AACA;EACE,IAAIF,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACR,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,IAAIW,IAAIA,CAAA,EAAW;IACjB,IAAI,IAAI,CAACf,OAAO,EAAE;MAChB,OAAO,IAAI,CAACA,OAAO,GAAGgB,8BAAmB,GAAG,IAAI,CAACC,KAAK;IACxD;IAEA,OAAO,IAAI,CAACA,KAAK;EACnB;;EAEA;AACF;AACA;EACE,IAAIA,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACvB,IAAI,CAACuB,KAAK,IAAI,IAAI,CAACvB,IAAI,CAACqB,IAAI;EAC1C;;EAEA;AACF;AACA;EACEG,aAAaA,CAAA,EAAY;IACvB,OAAO,IAAI,CAACvB,aAAa,CAACwB,WAAW,KAAK,IAAI;EAChD;;EAEA;AACF;AACA;EACE,IAAIC,gBAAgBA,CAAA,EAAkB;IACpC,OAAO,IAAI,CAAChB,eAAe,CAAC,WAAW,CAAC;EAC1C;AACF;AAACiB,OAAA,CAAAvB,OAAA,GAAAP,eAAA","ignoreList":[]}
@@ -7,12 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
9
9
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
10
- var _BaseFilterModel = _interopRequireDefault(require("../filters/BaseFilterModel"));
10
+ var _FilterModel = _interopRequireDefault(require("../filters/FilterModel"));
11
11
  var _ChoiceAttributeModel = _interopRequireDefault(require("../attributes/ChoiceAttributeModel"));
12
12
  /**
13
13
  * The concept index model is a special filter used to index all first concept label letters in de modelcatalog.
14
14
  */
15
- class ConceptIndexFilterModel extends _BaseFilterModel.default {
15
+ class ConceptIndexFilterModel extends _FilterModel.default {
16
16
  /**
17
17
  * Construct a filter
18
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ConceptIndexFilterModel.js","names":["_BaseFilterModel","_interopRequireDefault","require","_ChoiceAttributeModel","ConceptIndexFilterModel","BaseFilterModel","constructor","data","contributions","modelOptions","attribute","ChoiceAttributeModel","options","_context","_context2","_context3","selectedValues","_map","default","_filter","call","option","selected","key","hasOptionByCode","forEach","addOption","code","label","exports"],"sources":["../../../src/models/filters/ConceptIndexFilterModel.js"],"sourcesContent":["// @flow\nimport BaseFilterModel from \"../filters/BaseFilterModel\";\nimport ChoiceAttributeModel from \"../attributes/ChoiceAttributeModel\";\n\nimport type { ModelOptions } from \"../types\";\n\n/**\n * The concept index model is a special filter used to index all first concept label letters in de modelcatalog.\n */\nexport default class ConceptIndexFilterModel extends BaseFilterModel {\n /**\n * Construct a filter\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n if (this.attribute instanceof ChoiceAttributeModel) {\n const attribute: ChoiceAttributeModel = this.attribute;\n\n if (attribute && data.options) {\n const selectedValues = data.options\n .filter((option) => option.selected)\n .map((option) => option.key);\n\n data.options\n .filter((option) => !attribute.options.hasOptionByCode(option.key))\n .forEach((option) => {\n attribute.options.addOption(selectedValues, {\n code: option.key,\n label: option.key,\n });\n });\n }\n }\n }\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,gBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAIA;AACA;AACA;AACe,MAAME,uBAAuB,SAASC,wBAAe,CAAC;EACnE;AACF;AACA;EACEC,WAAWA,CACTC,IAAY,EACZC,aAAqB,EACrBC,YAA2B,EAC3B;IACA,KAAK,CAACF,IAAI,EAAEC,aAAa,EAAEC,YAAY,CAAC;IAExC,IAAI,IAAI,CAACC,SAAS,YAAYC,6BAAoB,EAAE;MAClD,MAAMD,SAA+B,GAAG,IAAI,CAACA,SAAS;MAEtD,IAAIA,SAAS,IAAIH,IAAI,CAACK,OAAO,EAAE;QAAA,IAAAC,QAAA,EAAAC,SAAA,EAAAC,SAAA;QAC7B,MAAMC,cAAc,GAAG,IAAAC,IAAA,CAAAC,OAAA,EAAAL,QAAA,OAAAM,OAAA,CAAAD,OAAA,EAAAJ,SAAA,GAAAP,IAAI,CAACK,OAAO,EAAAQ,IAAA,CAAAN,SAAA,EACxBO,MAAM,IAAKA,MAAM,CAACC,QAAQ,CAAC,EAAAF,IAAA,CAAAP,QAAA,EAC9BQ,MAAM,IAAKA,MAAM,CAACE,GAAG,CAAC;QAE9B,IAAAJ,OAAA,CAAAD,OAAA,EAAAH,SAAA,GAAAR,IAAI,CAACK,OAAO,EAAAQ,IAAA,CAAAL,SAAA,EACDM,MAAM,IAAK,CAACX,SAAS,CAACE,OAAO,CAACY,eAAe,CAACH,MAAM,CAACE,GAAG,CAAC,CAAC,CAClEE,OAAO,CAAEJ,MAAM,IAAK;UACnBX,SAAS,CAACE,OAAO,CAACc,SAAS,CAACV,cAAc,EAAE;YAC1CW,IAAI,EAAEN,MAAM,CAACE,GAAG;YAChBK,KAAK,EAAEP,MAAM,CAACE;UAChB,CAAC,CAAC;QACJ,CAAC,CAAC;MACN;IACF;EACF;AACF;AAACM,OAAA,CAAAX,OAAA,GAAAd,uBAAA","ignoreList":[]}
1
+ {"version":3,"file":"ConceptIndexFilterModel.js","names":["_FilterModel","_interopRequireDefault","require","_ChoiceAttributeModel","ConceptIndexFilterModel","FilterModel","constructor","data","contributions","modelOptions","attribute","ChoiceAttributeModel","options","_context","_context2","_context3","selectedValues","_map","default","_filter","call","option","selected","key","hasOptionByCode","forEach","addOption","code","label","exports"],"sources":["../../../src/models/filters/ConceptIndexFilterModel.js"],"sourcesContent":["// @flow\nimport FilterModel from \"../filters/FilterModel\";\nimport ChoiceAttributeModel from \"../attributes/ChoiceAttributeModel\";\n\nimport type { ModelOptions } from \"../types\";\n\n/**\n * The concept index model is a special filter used to index all first concept label letters in de modelcatalog.\n */\nexport default class ConceptIndexFilterModel extends FilterModel {\n /**\n * Construct a filter\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n if (this.attribute instanceof ChoiceAttributeModel) {\n const attribute: ChoiceAttributeModel = this.attribute;\n\n if (attribute && data.options) {\n const selectedValues = data.options\n .filter((option) => option.selected)\n .map((option) => option.key);\n\n data.options\n .filter((option) => !attribute.options.hasOptionByCode(option.key))\n .forEach((option) => {\n attribute.options.addOption(selectedValues, {\n code: option.key,\n label: option.key,\n });\n });\n }\n }\n }\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAIA;AACA;AACA;AACe,MAAME,uBAAuB,SAASC,oBAAW,CAAC;EAC/D;AACF;AACA;EACEC,WAAWA,CACTC,IAAY,EACZC,aAAqB,EACrBC,YAA2B,EAC3B;IACA,KAAK,CAACF,IAAI,EAAEC,aAAa,EAAEC,YAAY,CAAC;IAExC,IAAI,IAAI,CAACC,SAAS,YAAYC,6BAAoB,EAAE;MAClD,MAAMD,SAA+B,GAAG,IAAI,CAACA,SAAS;MAEtD,IAAIA,SAAS,IAAIH,IAAI,CAACK,OAAO,EAAE;QAAA,IAAAC,QAAA,EAAAC,SAAA,EAAAC,SAAA;QAC7B,MAAMC,cAAc,GAAG,IAAAC,IAAA,CAAAC,OAAA,EAAAL,QAAA,OAAAM,OAAA,CAAAD,OAAA,EAAAJ,SAAA,GAAAP,IAAI,CAACK,OAAO,EAAAQ,IAAA,CAAAN,SAAA,EACxBO,MAAM,IAAKA,MAAM,CAACC,QAAQ,CAAC,EAAAF,IAAA,CAAAP,QAAA,EAC9BQ,MAAM,IAAKA,MAAM,CAACE,GAAG,CAAC;QAE9B,IAAAJ,OAAA,CAAAD,OAAA,EAAAH,SAAA,GAAAR,IAAI,CAACK,OAAO,EAAAQ,IAAA,CAAAL,SAAA,EACDM,MAAM,IAAK,CAACX,SAAS,CAACE,OAAO,CAACY,eAAe,CAACH,MAAM,CAACE,GAAG,CAAC,CAAC,CAClEE,OAAO,CAAEJ,MAAM,IAAK;UACnBX,SAAS,CAACE,OAAO,CAACc,SAAS,CAACV,cAAc,EAAE;YAC1CW,IAAI,EAAEN,MAAM,CAACE,GAAG;YAChBK,KAAK,EAAEP,MAAM,CAACE;UAChB,CAAC,CAAC;QACJ,CAAC,CAAC;MACN;IACF;EACF;AACF;AAACM,OAAA,CAAAX,OAAA,GAAAd,uBAAA","ignoreList":[]}