@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.
- package/CHANGELOG.md +26 -0
- package/esm/hooks/useList.js +4 -4
- package/esm/hooks/useList.js.flow +5 -5
- package/esm/hooks/useList.js.map +1 -1
- package/esm/models/concepts/ConceptIndexModel.js +3 -2
- package/esm/models/concepts/ConceptIndexModel.js.flow +5 -4
- package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
- package/esm/models/content/ContentIndexModel.js +7 -1
- package/esm/models/content/ContentIndexModel.js.flow +8 -3
- package/esm/models/content/ContentIndexModel.js.map +1 -1
- package/esm/models/content/ContentModel.js +3 -2
- package/esm/models/content/ContentModel.js.flow +4 -3
- package/esm/models/content/ContentModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js +6 -2
- package/esm/models/content/ContentTOCModel.js.flow +6 -2
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/filters/AssignmentFilterModel.js +54 -26
- package/esm/models/filters/AssignmentFilterModel.js.flow +68 -37
- package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
- package/esm/models/filters/BaseFilterModel.js +0 -110
- package/esm/models/filters/BaseFilterModel.js.flow +2 -133
- package/esm/models/filters/BaseFilterModel.js.map +1 -1
- package/esm/models/filters/ConceptIndexFilterModel.js +2 -2
- package/esm/models/filters/ConceptIndexFilterModel.js.flow +2 -2
- package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/esm/models/filters/FilterModel.js +117 -2
- package/esm/models/filters/FilterModel.js.flow +146 -1
- package/esm/models/filters/FilterModel.js.map +1 -1
- package/esm/models/filters/RangeFilterModel.js +2 -2
- package/esm/models/filters/RangeFilterModel.js.flow +2 -2
- package/esm/models/filters/RangeFilterModel.js.map +1 -1
- package/esm/models/href/Href.js +1 -1
- package/esm/models/href/Href.js.flow +1 -1
- package/esm/models/href/Href.js.map +1 -1
- package/esm/models/list/ListModel.js +5 -1
- package/esm/models/list/ListModel.js.flow +7 -3
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/sorting/SortOptionModel.js +7 -0
- package/esm/models/sorting/SortOptionModel.js.flow +7 -0
- package/esm/models/sorting/SortOptionModel.js.map +1 -1
- package/esm/models/sorting/SortingModel.js +14 -2
- package/esm/models/sorting/SortingModel.js.flow +14 -2
- package/esm/models/sorting/SortingModel.js.map +1 -1
- package/esm/models/types.js.flow +1 -3
- package/esm/models/types.js.map +1 -1
- package/esm/redux/_modularui/ModularUIConnector.js +7 -6
- package/esm/redux/_modularui/ModularUIConnector.js.flow +6 -4
- package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/lib/hooks/useList.js +4 -4
- package/lib/hooks/useList.js.map +1 -1
- package/lib/models/concepts/ConceptIndexModel.js +3 -2
- package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
- package/lib/models/content/ContentIndexModel.js +6 -1
- package/lib/models/content/ContentIndexModel.js.map +1 -1
- package/lib/models/content/ContentModel.js +3 -2
- package/lib/models/content/ContentModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js +6 -2
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/filters/AssignmentFilterModel.js +54 -26
- package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
- package/lib/models/filters/BaseFilterModel.js +0 -109
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/filters/ConceptIndexFilterModel.js +2 -2
- package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/lib/models/filters/FilterModel.js +117 -1
- package/lib/models/filters/FilterModel.js.map +1 -1
- package/lib/models/filters/RangeFilterModel.js +2 -2
- package/lib/models/filters/RangeFilterModel.js.map +1 -1
- package/lib/models/href/Href.js +1 -1
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/list/ListModel.js +5 -1
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/sorting/SortOptionModel.js +7 -0
- package/lib/models/sorting/SortOptionModel.js.map +1 -1
- package/lib/models/sorting/SortingModel.js +14 -2
- package/lib/models/sorting/SortingModel.js.map +1 -1
- package/lib/models/types.js.map +1 -1
- package/lib/redux/_modularui/ModularUIConnector.js +7 -6
- package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/package.json +6 -6
- package/src/hooks/useList.js +5 -5
- package/src/models/concepts/ConceptIndexModel.js +5 -4
- package/src/models/content/ContentIndexModel.js +8 -3
- package/src/models/content/ContentModel.js +4 -3
- package/src/models/content/ContentTOCModel.js +6 -2
- package/src/models/filters/AssignmentFilterModel.js +68 -37
- package/src/models/filters/BaseFilterModel.js +2 -133
- package/src/models/filters/ConceptIndexFilterModel.js +2 -2
- package/src/models/filters/FilterModel.js +146 -1
- package/src/models/filters/RangeFilterModel.js +2 -2
- package/src/models/href/Href.js +1 -1
- package/src/models/list/ListModel.js +7 -3
- package/src/models/sorting/SortOptionModel.js +7 -0
- package/src/models/sorting/SortingModel.js +14 -2
- package/src/models/types.js +1 -3
- 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 {
|
|
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
|
-
|
|
97
|
-
|
|
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","
|
|
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
|
-
|
|
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?.
|
|
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":";;;;;;;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,iBAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,iBAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,KAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAEA,IAAAO,aAAA,GAAAL,sBAAA,CAAAF,OAAA;AAEA,IAAAQ,UAAA,GAAAR,OAAA;AAKA;AACA;AACA;AACA,MAAMS,QAAQ,GAAGA,CACfC,KAAoB,EACpBC,SAA0B,EAC1BC,YAA2B,KAE3B,IAAAC,IAAA,CAAAC,OAAA,EAAAJ,KAAK,EAAAK,IAAA,CAALL,KAAK,EAAMM,IAAI,IAAK;EAClB,MAAMC,IAAI,GAAG,IAAIC,yBAAgB,CAC/B;IACE,GAAGF,IAAI;IACPG,OAAO,EAAEH,IAAI,CAACI;EAChB,CAAC,EACDT,SAAS,EACTC,YACF,CAAC;EAED,IAAII,IAAI,CAACN,KAAK,EAAE;IACdO,IAAI,CAACP,KAAK,GAAGD,QAAQ,CAACO,IAAI,CAACN,KAAK,EAAEC,SAAS,EAAEC,YAAY,CAAC;EAC5D;EACA,IAAII,IAAI,CAACK,QAAQ,EAAE;IACjBJ,IAAI,CAACP,KAAK,GAAGD,QAAQ,CAACO,IAAI,CAACK,QAAQ,EAAEV,SAAS,EAAEC,YAAY,CAAC;EAC/D;EAEA,OAAOK,IAAI;AACb,CAAC,CAAC;;AAEJ;AACA;AACA;AACe,MAAMK,eAAe,SAASC,sBAAa,CAAC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,gBAAA,CAAAZ,OAAA,wBACjB,IAAI;IAAA,IAAAY,gBAAA,CAAAZ,OAAA;EAAA;EAG5C;AACF;EACE,IAAIa,IAAIA,CAAA,EAAW;IACjB,OAAO,YAAY;EACrB;;EAEA;AACF;EACE,WAAWC,SAASA,CAAA,EAAW;IAC7B,OAAO,iBAAiB;EAC1B;;EAEA;AACF;EACE,OAAOC,iBAAiBA,CAACC,IAAuB,EAAW;IACzD,OAAOA,IAAI,CAACC,aAAa,EAAEC,YAAY,KAAK,YAAY;EAC1D;;EAEA;AACF;EACEC,yBAAyBA,CAAA,EAAqB;IAC5C,MAAMC,eAAe,GAAG,IAAI,CAACC,KAAK,CAACC,YAAY,CAAC,aAAa,CAAC;IAE9D,IAAIF,eAAe,EAAE;MACnB,OAAO,CAACA,eAAe,CAAC;IAC1B;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;EACEG,cAAcA,CAACC,MAA6B,EAAE;IAC5C,IAAI,CAACC,WAAW,GAAG,IAAAC,KAAA,CAAA1B,OAAA,EAAAwB,MAAM,EAAAvB,IAAA,CAANuB,MAAM,EAAOG,KAAK,IAAKA,KAAK,CAACd,IAAI,KAAK,aAAa,CAAC;EACzE;;EAEA;AACF;AACA;EACE,IAAIe,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;EAClC;;EAEA;AACF;EACE,IAAIC,YAAYA,CAAA,EAAkB;IAChC,OAAO,IAAI,CAACD,OAAO,CAAC,cAAc,CAAC;EACrC;;EAEA;AACF;AACA;EACE,IAAIE,QAAQA,CAAA,EAAS;IACnB,MAAMC,IAAI,GAAG,IAAIC,aAAI,CAAC,IAAI,CAACC,QAAQ,CAACF,IAAI,CAAC;IAEzC,IAAI,CAACG,gBAAgB,CAACC,OAAO,CAAEC,MAAM,IAAK;MACxCA,MAAM,CAACC,MAAM,CAACF,OAAO,CAAEG,KAAK,IAAK;QAC/B,IAAIA,KAAK,CAACC,KAAK,EAAE;UACfR,IAAI,CAACS,YAAY,CAACF,KAAK,CAACG,IAAI,EAAEH,KAAK,CAACC,KAAK,CAAC;QAC5C,CAAC,MAAM;UACLR,IAAI,CAACW,eAAe,CAACJ,KAAK,CAACG,IAAI,CAAC;QAClC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAOV,IAAI;EACb;;EAEA;AACF;AACA;EACE,IAAIY,mBAAmBA,CAAA,EAAgB;IACrC,MAAMC,mBAAmB,GAAG,IAAI,CAACxB,KAAK,CAACC,YAAY,CAAC,iBAAiB,CAAC;IAEtE,IAAIuB,mBAAmB,EAAE;MACvB,MAAM;QAAEb;MAAK,CAAC,GAAGa,mBAAmB;MACpCb,IAAI,CAACc,YAAY,CAAC,WAAW,EAAE,IAAI,CAACjD,SAAS,CAAC;MAC9C,OAAOmC,IAAI;IACb;IAEA,OAAO,IAAI;EACb;;EAEA;AACF;EACE,IAAIe,eAAeA,CAAA,EAAqB;IACtC,OAAO,IAAI3C,yBAAgB,CAAC,IAAI,CAACY,IAAI,EAAE,IAAI,CAACnB,SAAS,EAAE,IAAI,CAACC,YAAY,CAAC;EAC3E;;EAEA;AACF;AACA;EACE,IAAIF,KAAKA,CAAA,EAA4B;IACnC,IAAI,IAAI,CAACoB,IAAI,CAACpB,KAAK,EAAE;MACnB,OAAOD,QAAQ,CAAC,IAAI,CAACqB,IAAI,CAACpB,KAAK,EAAE,IAAI,CAACC,SAAS,EAAE,IAAI,CAACC,YAAY,CAAC;IACrE;IAEA,IAAI,IAAI,CAACkB,IAAI,CAACT,QAAQ,EAAE;MACtB,OAAOZ,QAAQ,CAAC,IAAI,CAACqB,IAAI,CAACT,QAAQ,EAAE,IAAI,CAACV,SAAS,EAAE,IAAI,CAACC,YAAY,CAAC;IACxE;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;EACE,IAAIS,QAAQA,CAAA,EAAwB;IAClC,IAAI,IAAI,CAACS,IAAI,CAACT,QAAQ,EAAE;MAAA,IAAAyC,QAAA;MACtB,OAAO,IAAAjD,IAAA,CAAAC,OAAA,EAAAgD,QAAA,OAAI,CAAChC,IAAI,CAACT,QAAQ,EAAAN,IAAA,CAAA+C,QAAA,EACtB3C,OAAO,IACN,IAAI4C,qBAAY,CAAC5C,OAAO,EAAE,IAAI,CAACR,SAAS,EAAE,IAAI,CAACC,YAAY,CAC/D,CAAC;IACH;IACA,OAAO,EAAE;EACX;;EAEA;AACF;AACA;EACE,IAAIoD,UAAUA,CAAA,EAA4B;IACxC,IAAI,IAAI,CAAClC,IAAI,CAACkC,UAAU,EAAE;MAAA,IAAAC,SAAA;MACxB,OAAO,IAAApD,IAAA,CAAAC,OAAA,EAAAmD,SAAA,OAAI,CAACnC,IAAI,CAACkC,UAAU,EAAAjD,IAAA,CAAAkD,SAAA,EACxBC,QAAQ,IAAK,IAAIhD,yBAAgB,CAACgD,QAAQ,EAAE,IAAI,EAAE,IAAI,CAACtD,YAAY,CACtE,CAAC;IACH;IAEA,OAAO,EAAE;EACX;;EAEA;AACF;AACA;EACE,IAAI2B,WAAWA,CAAA,EAA4B;IACzC,OAAO,IAAI,CAAC4B,YAAY;EAC1B;;EAEA;AACF;EACE,IAAI5B,WAAWA,CAACA,WAA4B,EAAE;IAC5C,IAAI,CAAC4B,YAAY,GACf5B,WAAW,YAAY6B,yBAAgB,GAAG7B,WAAW,GAAG,IAAI;EAChE;;EAEA;AACF;AACA;EACE,IAAIU,gBAAgBA,CAAA,EAAqB;IACvC,IAAI,CAAC,IAAI,CAACoB,iBAAiB,EAAE;MAAA,IAAAC,SAAA;MAC3B,IAAI,CAACD,iBAAiB,GAAG,IAAIE,yBAAgB,KAAAC,OAAA,CAAA1D,OAAA,EAC3C,IAAI,CAACgB,IAAI,GACT;QACEqB,MAAM,EAAE,IAAAqB,OAAA,CAAA1D,OAAA,EAAAwD,SAAA,OAAAE,OAAA,CAAA1D,OAAA,MAAI,CAACiB,aAAa,GAAAhB,IAAA,CAAAuD,SAAA,EAAgBnB,MAAM,IAAK;UAAA,IAAAsB,SAAA;UACnD,MAAM,CAACC,GAAG,CAAC,GAAG,IAAAC,KAAA,CAAA7D,OAAA,EAAYqC,MAAM,CAAC;UACjC,OAAO,IAAAyB,YAAG,GAAAH,SAAA,GAAC,IAAI,CAAC3C,IAAI,yBAAA0C,OAAA,CAAA1D,OAAA,EAAA2D,SAAA,GAAUC,GAAG,CAAC;QACpC,CAAC;MACH,CAAC,EACD,IAAI,CAAC9D,YACP,CAAC;IACH;IAEA,OAAO,IAAI,CAACyD,iBAAiB;EAC/B;;EAEA;AACF;AACA;EACE,IAAI1D,SAASA,CAAA,EAAoB;IAC/B,MAAMkE,iBAAiB,GAAG,IAAI,CAAC5B,gBAAgB,CAAC6B,uBAAuB,CACrEC,kCACF,CAAC;IAED,OAAOF,iBAAiB,EAAEG,SAAS,EAAE1B,KAAK,IAAI,IAAI;EACpD;;EAEA;AACF;EACE,IAAI2B,gBAAgBA,CAAA,EAAY;IAC9B,MAAMC,cAAc,GAClB,IAAI,CAACjC,gBAAgB,CAAC6B,uBAAuB,CAAC,UAAU,CAAC;IAC3D,OAAOI,cAAc,EAAEF,SAAS,EAAE1B,KAAK,KAAK,MAAM;EACpD;AACF;AAAC6B,OAAA,CAAArE,OAAA,GAAAQ,eAAA","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
|
|
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
|
|
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
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
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
|
|
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
|
|
15
|
+
class ConceptIndexFilterModel extends _FilterModel.default {
|
|
16
16
|
/**
|
|
17
17
|
* Construct a filter
|
|
18
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConceptIndexFilterModel.js","names":["
|
|
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":[]}
|