@beinformed/ui 1.65.24 → 1.65.26
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 +18 -0
- package/esm/builder/mergeLayoutHintConfigurations.js +7 -5
- package/esm/builder/mergeLayoutHintConfigurations.js.flow +12 -5
- package/esm/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/esm/constants/Settings.js +4 -1
- package/esm/constants/Settings.js.flow +3 -3
- package/esm/constants/Settings.js.map +1 -1
- package/esm/hooks/useAuthentication.js +7 -3
- package/esm/hooks/useAuthentication.js.flow +6 -3
- package/esm/hooks/useAuthentication.js.map +1 -1
- package/esm/hooks/useModelCatalog.js +1 -1
- package/esm/hooks/useModelCatalog.js.flow +1 -1
- package/esm/hooks/useModelCatalog.js.map +1 -1
- package/esm/i18n/Locale.js +7 -1
- package/esm/i18n/Locale.js.flow +4 -2
- package/esm/i18n/Locale.js.map +1 -1
- package/esm/models/actions/ActionCollection.js +1 -1
- package/esm/models/actions/ActionCollection.js.flow +3 -3
- package/esm/models/actions/ActionCollection.js.map +1 -1
- package/esm/models/application/ApplicationModel.js +6 -1
- package/esm/models/application/ApplicationModel.js.flow +7 -2
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js +3 -5
- package/esm/models/attributes/ChoiceAttributeModel.js.flow +3 -5
- package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeModel.js +1 -1
- package/esm/models/attributes/CompositeAttributeModel.js.flow +1 -1
- package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/esm/models/attributes/NumberAttributeModel.js +3 -1
- package/esm/models/attributes/NumberAttributeModel.js.flow +2 -1
- package/esm/models/attributes/NumberAttributeModel.js.map +1 -1
- package/esm/models/attributes/StringAttributeModel.js +9 -4
- package/esm/models/attributes/StringAttributeModel.js.flow +7 -4
- package/esm/models/attributes/StringAttributeModel.js.map +1 -1
- package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js +1 -1
- package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.flow +1 -1
- package/esm/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
- package/esm/models/base/BaseModel.js +8 -5
- package/esm/models/base/BaseModel.js.flow +8 -5
- package/esm/models/base/BaseModel.js.map +1 -1
- package/esm/models/base/ResourceModel.js +6 -7
- package/esm/models/base/ResourceModel.js.flow +4 -4
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js +16 -16
- package/esm/models/concepts/ConceptDetailModel.js.flow +16 -19
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/concepts/SourceReferenceCollection.js +1 -1
- package/esm/models/concepts/SourceReferenceCollection.js.flow +1 -2
- package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js +6 -6
- package/esm/models/content/ContentLinkModel.js.flow +6 -6
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/filters/BaseFilterModel.js +3 -5
- package/esm/models/filters/BaseFilterModel.js.flow +4 -5
- package/esm/models/filters/BaseFilterModel.js.map +1 -1
- package/esm/models/filters/StringFilterModel.js +4 -2
- package/esm/models/filters/StringFilterModel.js.flow +3 -2
- package/esm/models/filters/StringFilterModel.js.map +1 -1
- package/esm/models/form/FormModel.js +1 -1
- package/esm/models/form/FormModel.js.flow +1 -2
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js +1 -1
- package/esm/models/form/FormObjectModel.js.flow +2 -3
- package/esm/models/form/FormObjectModel.js.map +1 -1
- package/esm/models/href/Href.js +2 -2
- package/esm/models/href/Href.js.flow +2 -2
- package/esm/models/href/Href.js.map +1 -1
- package/esm/models/index.js +2 -2
- package/esm/models/index.js.flow +1 -2
- package/esm/models/index.js.map +1 -1
- package/esm/models/links/normalizeLinkJSON.js +1 -1
- package/esm/models/links/normalizeLinkJSON.js.flow +1 -1
- package/esm/models/links/normalizeLinkJSON.js.map +1 -1
- package/esm/modularui/Authenticate.js +7 -2
- package/esm/modularui/Authenticate.js.flow +4 -2
- package/esm/modularui/Authenticate.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js +2 -5
- package/esm/modularui/ModularUIRequest.js.flow +2 -6
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/modularui/UploadRequest.js +3 -1
- package/esm/modularui/UploadRequest.js.flow +3 -1
- package/esm/modularui/UploadRequest.js.map +1 -1
- package/esm/react-client/client.js +22 -10
- package/esm/react-client/client.js.flow +17 -11
- package/esm/react-client/client.js.map +1 -1
- package/esm/react-client/contextPath.js +3 -1
- package/esm/react-client/contextPath.js.flow +2 -1
- package/esm/react-client/contextPath.js.map +1 -1
- package/esm/redux/_i18n/I18nReducer.js +1 -4
- package/esm/redux/_i18n/I18nReducer.js.flow +1 -4
- package/esm/redux/_i18n/I18nReducer.js.map +1 -1
- package/esm/redux/_modularui/ModularUIActions.js +1 -4
- package/esm/redux/_modularui/ModularUIActions.js.flow +1 -5
- package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
- package/esm/redux/_modularui/ModularUIConnector.js +3 -4
- package/esm/redux/_modularui/ModularUIConnector.js.flow +2 -1
- package/esm/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/esm/redux/_modularui/ModularUIReducer.js +6 -3
- package/esm/redux/_modularui/ModularUIReducer.js.flow +2 -2
- package/esm/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/esm/redux/actions/Authorization.js +4 -2
- package/esm/redux/actions/Authorization.js.flow +3 -2
- package/esm/redux/actions/Authorization.js.map +1 -1
- package/esm/redux/actions/Preferences.js +4 -4
- package/esm/redux/actions/Preferences.js.flow +6 -10
- package/esm/redux/actions/Preferences.js.map +1 -1
- package/esm/redux/reducers/ModelCatalogReducer.js +7 -9
- package/esm/redux/reducers/ModelCatalogReducer.js.flow +8 -9
- package/esm/redux/reducers/ModelCatalogReducer.js.map +1 -1
- package/esm/redux/store/configureStore.js +6 -1
- package/esm/redux/store/configureStore.js.flow +4 -1
- package/esm/redux/store/configureStore.js.map +1 -1
- package/esm/redux/types.js.flow +10 -1
- package/esm/redux/types.js.map +1 -1
- package/esm/utils/browser/Cache.js +3 -1
- package/esm/utils/browser/Cache.js.flow +2 -1
- package/esm/utils/browser/Cache.js.map +1 -1
- package/esm/utils/browser/__tests__/Cookies.spec.js.flow +2 -1
- package/esm/utils/datetime/DateTimeUtil.js +6 -5
- package/esm/utils/datetime/DateTimeUtil.js.flow +5 -11
- package/esm/utils/datetime/DateTimeUtil.js.map +1 -1
- package/esm/utils/datetime/__tests__/DateTimeFormat.spec.js.flow +0 -6
- package/esm/utils/fetch/universalFetch.js +7 -8
- package/esm/utils/fetch/universalFetch.js.flow +13 -14
- package/esm/utils/fetch/universalFetch.js.map +1 -1
- package/esm/utils/fetch/xhr.js +2 -5
- package/esm/utils/fetch/xhr.js.flow +2 -6
- package/esm/utils/fetch/xhr.js.map +1 -1
- package/esm/utils/helpers/createHref.js +4 -1
- package/esm/utils/helpers/createHref.js.flow +2 -1
- package/esm/utils/helpers/createHref.js.map +1 -1
- package/esm/utils/helpers/createUUID.js +2 -1
- package/esm/utils/helpers/createUUID.js.flow +1 -1
- package/esm/utils/helpers/createUUID.js.map +1 -1
- package/esm/utils/number/parseNumbers.js +6 -3
- package/esm/utils/number/parseNumbers.js.flow +4 -3
- package/esm/utils/number/parseNumbers.js.map +1 -1
- package/lib/builder/mergeLayoutHintConfigurations.js +7 -5
- package/lib/builder/mergeLayoutHintConfigurations.js.map +1 -1
- package/lib/constants/Settings.js +4 -1
- package/lib/constants/Settings.js.map +1 -1
- package/lib/hooks/useAuthentication.js +7 -3
- package/lib/hooks/useAuthentication.js.map +1 -1
- package/lib/hooks/useModelCatalog.js +1 -1
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/lib/i18n/Locale.js +7 -1
- package/lib/i18n/Locale.js.map +1 -1
- package/lib/models/actions/ActionCollection.js +1 -1
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/application/ApplicationModel.js +6 -1
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js +3 -5
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/lib/models/attributes/NumberAttributeModel.js +3 -1
- package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
- package/lib/models/attributes/StringAttributeModel.js +9 -4
- package/lib/models/attributes/StringAttributeModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js +1 -1
- package/lib/models/attributes/input-constraints/DatetimeFormatConstraint.js.map +1 -1
- package/lib/models/base/BaseModel.js +8 -5
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceModel.js +6 -7
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js +16 -16
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js +6 -6
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/filters/BaseFilterModel.js +3 -5
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/filters/StringFilterModel.js +4 -2
- package/lib/models/filters/StringFilterModel.js.map +1 -1
- package/lib/models/form/FormModel.js +1 -1
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js +1 -1
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/href/Href.js +2 -2
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/index.js.map +1 -1
- package/lib/models/links/normalizeLinkJSON.js +1 -1
- package/lib/models/links/normalizeLinkJSON.js.map +1 -1
- package/lib/modularui/Authenticate.js +7 -2
- package/lib/modularui/Authenticate.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js +2 -5
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/UploadRequest.js +3 -1
- package/lib/modularui/UploadRequest.js.map +1 -1
- package/lib/react-client/client.js +22 -10
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-client/contextPath.js +4 -1
- package/lib/react-client/contextPath.js.map +1 -1
- package/lib/redux/_i18n/I18nReducer.js +1 -4
- package/lib/redux/_i18n/I18nReducer.js.map +1 -1
- package/lib/redux/_modularui/ModularUIActions.js +1 -4
- package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
- package/lib/redux/_modularui/ModularUIConnector.js +3 -4
- package/lib/redux/_modularui/ModularUIConnector.js.map +1 -1
- package/lib/redux/_modularui/ModularUIReducer.js +6 -3
- package/lib/redux/_modularui/ModularUIReducer.js.map +1 -1
- package/lib/redux/actions/Authorization.js +4 -2
- package/lib/redux/actions/Authorization.js.map +1 -1
- package/lib/redux/actions/Preferences.js +4 -4
- package/lib/redux/actions/Preferences.js.map +1 -1
- package/lib/redux/reducers/ModelCatalogReducer.js +7 -9
- package/lib/redux/reducers/ModelCatalogReducer.js.map +1 -1
- package/lib/redux/store/configureStore.js +6 -1
- package/lib/redux/store/configureStore.js.map +1 -1
- package/lib/redux/types.js.map +1 -1
- package/lib/utils/browser/Cache.js +3 -1
- package/lib/utils/browser/Cache.js.map +1 -1
- package/lib/utils/datetime/DateTimeUtil.js +6 -5
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/utils/fetch/universalFetch.js +7 -8
- package/lib/utils/fetch/universalFetch.js.map +1 -1
- package/lib/utils/fetch/xhr.js +2 -5
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/createHref.js +4 -1
- package/lib/utils/helpers/createHref.js.map +1 -1
- package/lib/utils/helpers/createUUID.js +3 -1
- package/lib/utils/helpers/createUUID.js.map +1 -1
- package/lib/utils/number/parseNumbers.js +6 -3
- package/lib/utils/number/parseNumbers.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConceptDetailModel.js","names":["_ResourceModel","_interopRequireDefault","require","_ConceptRelationCollection","_SourceReferenceCollection","_ConceptTypeDetailModel","_Constants","ConceptDetailModel","ResourceModel","constructor","modularuiResponse","_defineProperty2","default","_relations","ConceptRelationCollection","data","relations","entryDate","modelOptions","type","modelName","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","conceptTypeLink","links","getLinkByKey","relationsCollectionLinks","relationsCollection","isCacheable","setChildModels","models","errors","conceptTypeModel","_find","call","model","ConceptTypeDetailModel","conceptType","key","getData","selfhref","href","selflink","setParameter","TIMEVERSION_FILTER_NAME","removeParameter","diagramLinks","getLinksByGroup","_conceptType","label","conceptLabel","modelCategory","taxonomyType","formula","labels","_context","labelTypes","_map","labelType","_context2","setting","_id","getLabelElementByIds","ids","_context3","_filter","_includes","conceptProperties","_context4","propertyTypes","propertyType","_context5","properties","property","getConceptPropertiesByIds","_context6","textfragments","_context7","_context9","textFragments","textFragment","_context8","textFragmentConfig","textFragmentTypes","textFragmentType","notConfiguredTextFragments","some","textfragment","getTextFragmentByKeys","keys","_context0","getSourceReferenceCollection","availableLocales","_sourceReferences","sectionReferenceTypes","SourceReferenceCollection","getSourceReferencesForCurrentLanguage","LANGUAGE_POSTFIX_LENGTH","sourceReferences","_context1","_context12","availableLanguagesInSourceReferences","sourceReference","substring","length","currentLanguagePostfix","locale","_context10","_context11","_endsWith","availableLanguages","split","value","isOfConceptType","conceptTypeId","exports"],"sources":["../../../src/models/concepts/ConceptDetailModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ConceptRelationCollection from \"./ConceptRelationCollection\";\nimport SourceReferenceCollection from \"./SourceReferenceCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type {\n ModularUIModel,\n labelsJSON,\n textfragmentJSON,\n propertyJSON,\n} from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type Href from \"../href/Href\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Model for concept details, available through modelcatalog\n */\nexport default class ConceptDetailModel extends ResourceModel {\n _relations: ConceptRelationCollection;\n _conceptType: ?ConceptTypeDetailModel;\n _sourceReferences: SourceReferenceCollection;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this._relations = new ConceptRelationCollection(\n this.data.relations,\n this.entryDate,\n this.modelOptions,\n );\n }\n\n /**\n */\n get type(): string {\n return \"ConceptDetail\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ConceptDetailModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ConceptDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const conceptTypeLink = this.links.getLinkByKey(\"concepttype\");\n const relationsCollectionLinks =\n this.relationsCollection.getInitialChildModelLinks();\n\n if (conceptTypeLink) {\n conceptTypeLink.isCacheable = true;\n return [conceptTypeLink, ...relationsCollectionLinks];\n }\n\n return relationsCollectionLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n // $FlowExpectedError[incompatible-type]\n const conceptTypeModel: ?ConceptTypeDetailModel = models.find(\n (model) => model instanceof ConceptTypeDetailModel,\n );\n\n if (conceptTypeModel) {\n this.conceptType = conceptTypeModel;\n }\n\n this.relationsCollection.setChildModels(models, errors);\n }\n\n /**\n * Retrieve concept detail identifier as key for this model\n */\n get key(): string {\n return this.getData(\"_id\", \"concept\");\n }\n\n /**\n * Getting the self link of this Concept\n */\n get selfhref(): Href {\n const { href } = this.selflink;\n\n if (this.entryDate) {\n href.setParameter(TIMEVERSION_FILTER_NAME, this.entryDate);\n } else {\n href.removeParameter(TIMEVERSION_FILTER_NAME);\n }\n\n return href;\n }\n\n /**\n * Available diagrams for the concept, most of the time just one\n */\n get diagramLinks(): LinkCollection {\n return this.links.getLinksByGroup(\"diagram\");\n }\n\n /**\n * Get conceptType of concept\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n */\n set conceptType(conceptType: ?ConceptTypeDetailModel) {\n this._conceptType = conceptType;\n }\n\n /**\n * Get concept label\n */\n get label(): string {\n return this.data.conceptLabel;\n }\n\n /**\n * Get model category of the concept\n */\n get modelCategory(): string {\n return this.getData(\"modelCategory\", \"\");\n }\n\n /**\n * Get taxonomy type\n */\n get taxonomyType(): string {\n return this.getData(\"taxonomyType\", \"default\");\n }\n\n /**\n * Get concept relations collection\n */\n get relationsCollection(): ConceptRelationCollection {\n return this._relations;\n }\n\n /**\n * Get concept formula\n */\n get formula(): string {\n return this.data.formula;\n }\n\n /**\n * Get additional labels of concept\n */\n get labels(): Array<labelsJSON> {\n return this.conceptType && this.conceptType.labelTypes\n ? this.conceptType.labelTypes.map((labelType) => {\n const setting = this.data.labels\n ? this.data.labels.find((label) => label.type === labelType._id)\n : {};\n\n return {\n ...labelType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get label elements by id\n */\n getLabelElementByIds(ids: Array<string>): Array<labelsJSON> {\n return this.labels.filter((label: labelsJSON) => ids.includes(label._id));\n }\n\n /**\n * Get concept properties\n */\n get conceptProperties(): Array<propertyJSON> {\n return this.conceptType && this.conceptType.propertyTypes\n ? this.conceptType.propertyTypes.map((propertyType) => {\n const setting = this.data.properties\n ? this.data.properties.find(\n (property) => property.type === propertyType._id,\n )\n : {};\n\n return {\n ...propertyType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get concept properties by id\n */\n getConceptPropertiesByIds(ids: Array<string>): Array<propertyJSON> {\n return this.conceptProperties.filter((property) =>\n ids.includes(property._id),\n );\n }\n\n /**\n * Get Text fragments\n */\n get textfragments(): Array<textfragmentJSON> {\n const textFragments = this.data.textFragments\n ? this.data.textFragments.map((textFragment) => {\n const textFragmentConfig =\n this.conceptType &&\n this.conceptType.textFragmentTypes.find(\n (textFragmentType) => textFragment.type === textFragmentType._id,\n );\n\n return {\n ...textFragmentConfig,\n ...textFragment,\n };\n })\n : [];\n\n const notConfiguredTextFragments =\n this.conceptType && this.conceptType.textFragmentTypes\n ? this.conceptType.textFragmentTypes.filter((textFragmentType) => {\n if (!this.data.textFragments) {\n return true;\n }\n\n return !this.data.textFragments.some(\n (textfragment) => textfragment.type === textFragmentType._id,\n );\n })\n : [];\n\n return [...textFragments, ...notConfiguredTextFragments];\n }\n\n /**\n * Get text fragments by id\n */\n getTextFragmentByKeys(keys: Array<string>): Array<textfragmentJSON> {\n return this.textfragments.filter((textfragment) =>\n keys.includes(textfragment.type),\n );\n }\n\n /**\n * Get source reference collection\n */\n getSourceReferenceCollection(\n availableLocales: Array<string> = [],\n ): SourceReferenceCollection {\n if (!this._sourceReferences) {\n let sectionReferenceTypes = [];\n if (this.conceptType && this.conceptType.sectionReferenceTypes) {\n sectionReferenceTypes = this.conceptType.sectionReferenceTypes;\n }\n\n this._sourceReferences = new SourceReferenceCollection(\n this.getSourceReferencesForCurrentLanguage(availableLocales),\n sectionReferenceTypes,\n this.entryDate,\n this.modelOptions,\n );\n }\n\n return this._sourceReferences;\n }\n\n /*\n * Retrieve all sourceReferenceTypes that are valid for the current language\n * Used by sourceRef collection\n */\n /**\n */\n getSourceReferencesForCurrentLanguage(\n availableLocales: Array<string>,\n ): Array<Object> {\n const LANGUAGE_POSTFIX_LENGTH = 3;\n if (this.data.sourceReferences) {\n const availableLanguagesInSourceReferences =\n this.data.sourceReferences.map((sourceReference) =>\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH,\n ),\n );\n\n const currentLanguagePostfix = `_${this.locale}`;\n\n if (\n availableLanguagesInSourceReferences.includes(currentLanguagePostfix)\n ) {\n // return all sourceReferences that end with language that is selected\n return this.data.sourceReferences.filter((sourceReference) =>\n sourceReference.type.endsWith(currentLanguagePostfix),\n );\n }\n\n const availableLanguages = availableLocales.map(\n (locale) => `_${locale.split(\"-\")[0]}`,\n );\n\n // return all sourceReferences that do not end with language postfix\n return this.data.sourceReferences.filter(\n (sourceReference) =>\n !availableLanguages.includes(\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH,\n ),\n ),\n );\n }\n return [];\n }\n\n /**\n * Retrieve modelcatalog.js\n */\n get entryDate(): string | null {\n return this.data.filter?.[TIMEVERSION_FILTER_NAME]?.value ?? null;\n }\n\n /**\n * Indicates if the given concept type id or href exists in the hierarchy of concept types for this concept\n */\n isOfConceptType(conceptTypeId: string): boolean {\n return this.conceptType?.isOfConceptType(conceptTypeId) ?? false;\n }\n}\n"],"mappings":";;;;;;;;;;;;;AACA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,0BAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,0BAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,uBAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAAI,UAAA,GAAAJ,OAAA;AAcA;AACA;AACA;AACe,MAAMK,kBAAkB,SAASC,sBAAa,CAAC;EAK5D;AACF;EACEC,WAAWA,CAACC,iBAAoC,EAAE;IAChD,KAAK,CAACA,iBAAiB,CAAC;IAAC,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAEzB,IAAI,CAACC,UAAU,GAAG,IAAIC,kCAAyB,CAC7C,IAAI,CAACC,IAAI,CAACC,SAAS,EACnB,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,YACP,CAAC;EACH;;EAEA;AACF;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,eAAe;EACxB;;EAEA;AACF;EACE,WAAWC,SAASA,CAAA,EAAW;IAC7B,OAAO,oBAAoB;EAC7B;;EAEA;AACF;EACE,OAAOC,iBAAiBA,CAACN,IAAuB,EAAW;IACzD,OACEA,IAAI,CAACO,aAAa,CAACC,YAAY,IAC/BR,IAAI,CAACO,aAAa,CAACC,YAAY,KAAK,eAAe;EAEvD;;EAEA;AACF;EACEC,yBAAyBA,CAAA,EAAqB;IAC5C,MAAMC,eAAe,GAAG,IAAI,CAACC,KAAK,CAACC,YAAY,CAAC,aAAa,CAAC;IAC9D,MAAMC,wBAAwB,GAC5B,IAAI,CAACC,mBAAmB,CAACL,yBAAyB,CAAC,CAAC;IAEtD,IAAIC,eAAe,EAAE;MACnBA,eAAe,CAACK,WAAW,GAAG,IAAI;MAClC,OAAO,CAACL,eAAe,EAAE,GAAGG,wBAAwB,CAAC;IACvD;IAEA,OAAOA,wBAAwB;EACjC;;EAEA;AACF;EACEG,cAAcA,CAACC,MAA6B,EAAEC,MAA4B,EAAE;IAC1E;IACA,MAAMC,gBAAyC,GAAG,IAAAC,KAAA,CAAAvB,OAAA,EAAAoB,MAAM,EAAAI,IAAA,CAANJ,MAAM,EACrDK,KAAK,IAAKA,KAAK,YAAYC,+BAC9B,CAAC;IAED,IAAIJ,gBAAgB,EAAE;MACpB,IAAI,CAACK,WAAW,GAAGL,gBAAgB;IACrC;IAEA,IAAI,CAACL,mBAAmB,CAACE,cAAc,CAACC,MAAM,EAAEC,MAAM,CAAC;EACzD;;EAEA;AACF;AACA;EACE,IAAIO,GAAGA,CAAA,EAAW;IAChB,OAAO,IAAI,CAACC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;EACvC;;EAEA;AACF;AACA;EACE,IAAIC,QAAQA,CAAA,EAAS;IACnB,MAAM;MAAEC;IAAK,CAAC,GAAG,IAAI,CAACC,QAAQ;IAE9B,IAAI,IAAI,CAAC3B,SAAS,EAAE;MAClB0B,IAAI,CAACE,YAAY,CAACC,kCAAuB,EAAE,IAAI,CAAC7B,SAAS,CAAC;IAC5D,CAAC,MAAM;MACL0B,IAAI,CAACI,eAAe,CAACD,kCAAuB,CAAC;IAC/C;IAEA,OAAOH,IAAI;EACb;;EAEA;AACF;AACA;EACE,IAAIK,YAAYA,CAAA,EAAmB;IACjC,OAAO,IAAI,CAACtB,KAAK,CAACuB,eAAe,CAAC,SAAS,CAAC;EAC9C;;EAEA;AACF;AACA;EACE,IAAIV,WAAWA,CAAA,EAA4B;IACzC,OAAO,IAAI,CAACW,YAAY;EAC1B;;EAEA;AACF;EACE,IAAIX,WAAWA,CAACA,WAAoC,EAAE;IACpD,IAAI,CAACW,YAAY,GAAGX,WAAW;EACjC;;EAEA;AACF;AACA;EACE,IAAIY,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACpC,IAAI,CAACqC,YAAY;EAC/B;;EAEA;AACF;AACA;EACE,IAAIC,aAAaA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACZ,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,IAAIa,YAAYA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACb,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC;EAChD;;EAEA;AACF;AACA;EACE,IAAIZ,mBAAmBA,CAAA,EAA8B;IACnD,OAAO,IAAI,CAAChB,UAAU;EACxB;;EAEA;AACF;AACA;EACE,IAAI0C,OAAOA,CAAA,EAAW;IACpB,OAAO,IAAI,CAACxC,IAAI,CAACwC,OAAO;EAC1B;;EAEA;AACF;AACA;EACE,IAAIC,MAAMA,CAAA,EAAsB;IAAA,IAAAC,QAAA;IAC9B,OAAO,IAAI,CAAClB,WAAW,IAAI,IAAI,CAACA,WAAW,CAACmB,UAAU,GAClD,IAAAC,IAAA,CAAA/C,OAAA,EAAA6C,QAAA,OAAI,CAAClB,WAAW,CAACmB,UAAU,EAAAtB,IAAA,CAAAqB,QAAA,EAAMG,SAAS,IAAK;MAAA,IAAAC,SAAA;MAC7C,MAAMC,OAAO,GAAG,IAAI,CAAC/C,IAAI,CAACyC,MAAM,GAC5B,IAAArB,KAAA,CAAAvB,OAAA,EAAAiD,SAAA,OAAI,CAAC9C,IAAI,CAACyC,MAAM,EAAApB,IAAA,CAAAyB,SAAA,EAAOV,KAAK,IAAKA,KAAK,CAAChC,IAAI,KAAKyC,SAAS,CAACG,GAAG,CAAC,GAC9D,CAAC,CAAC;MAEN,OAAO;QACL,GAAGH,SAAS;QACZ,GAAGE;MACL,CAAC;IACH,CAAC,CAAC,GACF,EAAE;EACR;;EAEA;AACF;AACA;EACEE,oBAAoBA,CAACC,GAAkB,EAAqB;IAAA,IAAAC,SAAA;IAC1D,OAAO,IAAAC,OAAA,CAAAvD,OAAA,EAAAsD,SAAA,OAAI,CAACV,MAAM,EAAApB,IAAA,CAAA8B,SAAA,EAASf,KAAiB,IAAK,IAAAiB,SAAA,CAAAxD,OAAA,EAAAqD,GAAG,EAAA7B,IAAA,CAAH6B,GAAG,EAAUd,KAAK,CAACY,GAAG,CAAC,CAAC;EAC3E;;EAEA;AACF;AACA;EACE,IAAIM,iBAAiBA,CAAA,EAAwB;IAAA,IAAAC,SAAA;IAC3C,OAAO,IAAI,CAAC/B,WAAW,IAAI,IAAI,CAACA,WAAW,CAACgC,aAAa,GACrD,IAAAZ,IAAA,CAAA/C,OAAA,EAAA0D,SAAA,OAAI,CAAC/B,WAAW,CAACgC,aAAa,EAAAnC,IAAA,CAAAkC,SAAA,EAAME,YAAY,IAAK;MAAA,IAAAC,SAAA;MACnD,MAAMX,OAAO,GAAG,IAAI,CAAC/C,IAAI,CAAC2D,UAAU,GAChC,IAAAvC,KAAA,CAAAvB,OAAA,EAAA6D,SAAA,OAAI,CAAC1D,IAAI,CAAC2D,UAAU,EAAAtC,IAAA,CAAAqC,SAAA,EACjBE,QAAQ,IAAKA,QAAQ,CAACxD,IAAI,KAAKqD,YAAY,CAACT,GAC/C,CAAC,GACD,CAAC,CAAC;MAEN,OAAO;QACL,GAAGS,YAAY;QACf,GAAGV;MACL,CAAC;IACH,CAAC,CAAC,GACF,EAAE;EACR;;EAEA;AACF;AACA;EACEc,yBAAyBA,CAACX,GAAkB,EAAuB;IAAA,IAAAY,SAAA;IACjE,OAAO,IAAAV,OAAA,CAAAvD,OAAA,EAAAiE,SAAA,OAAI,CAACR,iBAAiB,EAAAjC,IAAA,CAAAyC,SAAA,EAASF,QAAQ,IAC5C,IAAAP,SAAA,CAAAxD,OAAA,EAAAqD,GAAG,EAAA7B,IAAA,CAAH6B,GAAG,EAAUU,QAAQ,CAACZ,GAAG,CAC3B,CAAC;EACH;;EAEA;AACF;AACA;EACE,IAAIe,aAAaA,CAAA,EAA4B;IAAA,IAAAC,SAAA,EAAAC,SAAA;IAC3C,MAAMC,aAAa,GAAG,IAAI,CAAClE,IAAI,CAACkE,aAAa,GACzC,IAAAtB,IAAA,CAAA/C,OAAA,EAAAmE,SAAA,OAAI,CAAChE,IAAI,CAACkE,aAAa,EAAA7C,IAAA,CAAA2C,SAAA,EAAMG,YAAY,IAAK;MAAA,IAAAC,SAAA;MAC5C,MAAMC,kBAAkB,GACtB,IAAI,CAAC7C,WAAW,IAChB,IAAAJ,KAAA,CAAAvB,OAAA,EAAAuE,SAAA,OAAI,CAAC5C,WAAW,CAAC8C,iBAAiB,EAAAjD,IAAA,CAAA+C,SAAA,EAC/BG,gBAAgB,IAAKJ,YAAY,CAAC/D,IAAI,KAAKmE,gBAAgB,CAACvB,GAC/D,CAAC;MAEH,OAAO;QACL,GAAGqB,kBAAkB;QACrB,GAAGF;MACL,CAAC;IACH,CAAC,CAAC,GACF,EAAE;IAEN,MAAMK,0BAA0B,GAC9B,IAAI,CAAChD,WAAW,IAAI,IAAI,CAACA,WAAW,CAAC8C,iBAAiB,GAClD,IAAAlB,OAAA,CAAAvD,OAAA,EAAAoE,SAAA,OAAI,CAACzC,WAAW,CAAC8C,iBAAiB,EAAAjD,IAAA,CAAA4C,SAAA,EAASM,gBAAgB,IAAK;MAC9D,IAAI,CAAC,IAAI,CAACvE,IAAI,CAACkE,aAAa,EAAE;QAC5B,OAAO,IAAI;MACb;MAEA,OAAO,CAAC,IAAI,CAAClE,IAAI,CAACkE,aAAa,CAACO,IAAI,CACjCC,YAAY,IAAKA,YAAY,CAACtE,IAAI,KAAKmE,gBAAgB,CAACvB,GAC3D,CAAC;IACH,CAAC,CAAC,GACF,EAAE;IAER,OAAO,CAAC,GAAGkB,aAAa,EAAE,GAAGM,0BAA0B,CAAC;EAC1D;;EAEA;AACF;AACA;EACEG,qBAAqBA,CAACC,IAAmB,EAA2B;IAAA,IAAAC,SAAA;IAClE,OAAO,IAAAzB,OAAA,CAAAvD,OAAA,EAAAgF,SAAA,OAAI,CAACd,aAAa,EAAA1C,IAAA,CAAAwD,SAAA,EAASH,YAAY,IAC5C,IAAArB,SAAA,CAAAxD,OAAA,EAAA+E,IAAI,EAAAvD,IAAA,CAAJuD,IAAI,EAAUF,YAAY,CAACtE,IAAI,CACjC,CAAC;EACH;;EAEA;AACF;AACA;EACE0E,4BAA4BA,CAC1BC,gBAA+B,GAAG,EAAE,EACT;IAC3B,IAAI,CAAC,IAAI,CAACC,iBAAiB,EAAE;MAC3B,IAAIC,qBAAqB,GAAG,EAAE;MAC9B,IAAI,IAAI,CAACzD,WAAW,IAAI,IAAI,CAACA,WAAW,CAACyD,qBAAqB,EAAE;QAC9DA,qBAAqB,GAAG,IAAI,CAACzD,WAAW,CAACyD,qBAAqB;MAChE;MAEA,IAAI,CAACD,iBAAiB,GAAG,IAAIE,kCAAyB,CACpD,IAAI,CAACC,qCAAqC,CAACJ,gBAAgB,CAAC,EAC5DE,qBAAqB,EACrB,IAAI,CAAC/E,SAAS,EACd,IAAI,CAACC,YACP,CAAC;IACH;IAEA,OAAO,IAAI,CAAC6E,iBAAiB;EAC/B;;EAEA;AACF;AACA;AACA;EACE;AACF;EACEG,qCAAqCA,CACnCJ,gBAA+B,EAChB;IACf,MAAMK,uBAAuB,GAAG,CAAC;IACjC,IAAI,IAAI,CAACpF,IAAI,CAACqF,gBAAgB,EAAE;MAAA,IAAAC,SAAA,EAAAC,UAAA;MAC9B,MAAMC,oCAAoC,GACxC,IAAA5C,IAAA,CAAA/C,OAAA,EAAAyF,SAAA,OAAI,CAACtF,IAAI,CAACqF,gBAAgB,EAAAhE,IAAA,CAAAiE,SAAA,EAAMG,eAAe,IAC7CA,eAAe,CAACrF,IAAI,CAACsF,SAAS,CAC5BD,eAAe,CAACrF,IAAI,CAACuF,MAAM,GAAGP,uBAChC,CACF,CAAC;MAEH,MAAMQ,sBAAsB,GAAG,IAAI,IAAI,CAACC,MAAM,EAAE;MAEhD,IACE,IAAAxC,SAAA,CAAAxD,OAAA,EAAA2F,oCAAoC,EAAAnE,IAAA,CAApCmE,oCAAoC,EAAUI,sBAAsB,CAAC,EACrE;QAAA,IAAAE,UAAA;QACA;QACA,OAAO,IAAA1C,OAAA,CAAAvD,OAAA,EAAAiG,UAAA,OAAI,CAAC9F,IAAI,CAACqF,gBAAgB,EAAAhE,IAAA,CAAAyE,UAAA,EAASL,eAAe;UAAA,IAAAM,UAAA;UAAA,OACvD,IAAAC,SAAA,CAAAnG,OAAA,EAAAkG,UAAA,GAAAN,eAAe,CAACrF,IAAI,EAAAiB,IAAA,CAAA0E,UAAA,EAAUH,sBAAsB,CAAC;QAAA,CACvD,CAAC;MACH;MAEA,MAAMK,kBAAkB,GAAG,IAAArD,IAAA,CAAA/C,OAAA,EAAAkF,gBAAgB,EAAA1D,IAAA,CAAhB0D,gBAAgB,EACxCc,MAAM,IAAK,IAAIA,MAAM,CAACK,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACtC,CAAC;;MAED;MACA,OAAO,IAAA9C,OAAA,CAAAvD,OAAA,EAAA0F,UAAA,OAAI,CAACvF,IAAI,CAACqF,gBAAgB,EAAAhE,IAAA,CAAAkE,UAAA,EAC9BE,eAAe,IACd,CAAC,IAAApC,SAAA,CAAAxD,OAAA,EAAAoG,kBAAkB,EAAA5E,IAAA,CAAlB4E,kBAAkB,EACjBR,eAAe,CAACrF,IAAI,CAACsF,SAAS,CAC5BD,eAAe,CAACrF,IAAI,CAACuF,MAAM,GAAGP,uBAChC,CACF,CACJ,CAAC;IACH;IACA,OAAO,EAAE;EACX;;EAEA;AACF;AACA;EACE,IAAIlF,SAASA,CAAA,EAAkB;IAC7B,OAAO,IAAAkD,OAAA,CAAAvD,OAAA,MAAI,CAACG,IAAI,IAAU+B,kCAAuB,CAAC,EAAEoE,KAAK,IAAI,IAAI;EACnE;;EAEA;AACF;AACA;EACEC,eAAeA,CAACC,aAAqB,EAAW;IAC9C,OAAO,IAAI,CAAC7E,WAAW,EAAE4E,eAAe,CAACC,aAAa,CAAC,IAAI,KAAK;EAClE;AACF;AAACC,OAAA,CAAAzG,OAAA,GAAAL,kBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ConceptDetailModel.js","names":["_ResourceModel","_interopRequireDefault","require","_ConceptRelationCollection","_SourceReferenceCollection","_ConceptTypeDetailModel","_Constants","ConceptDetailModel","ResourceModel","constructor","modularuiResponse","_defineProperty2","default","_relations","ConceptRelationCollection","data","relations","entryDate","modelOptions","type","modelName","isApplicableModel","contributions","resourcetype","getInitialChildModelLinks","conceptTypeLink","links","getLinkByKey","relationsCollectionLinks","relationsCollection","isCacheable","setChildModels","models","errors","conceptTypeModel","_find","call","model","ConceptTypeDetailModel","conceptType","key","getData","selfhref","href","selflink","setParameter","TIMEVERSION_FILTER_NAME","removeParameter","diagramLinks","getLinksByGroup","_conceptType","label","conceptLabel","modelCategory","taxonomyType","formula","labels","_context","labelTypes","_map","labelType","_context2","setting","_id","getLabelElementByIds","ids","_context3","_filter","_includes","conceptProperties","_context4","propertyTypes","propertyType","_context5","properties","property","getConceptPropertiesByIds","_context6","textfragments","_context7","_context0","textFragments","textFragment","_context8","_context9","textFragmentConfig","Function","bind","textFragmentTypes","textFragmentType","notConfiguredTextFragments","some","textfragment","getTextFragmentByKeys","keys","_context1","getSourceReferenceCollection","availableLocales","_sourceReferences","sectionReferenceTypes","SourceReferenceCollection","getSourceReferencesForCurrentLanguage","LANGUAGE_POSTFIX_LENGTH","sourceReferences","_context10","_context13","availableLanguagesInSourceReferences","sourceReference","substring","length","currentLanguagePostfix","locale","_context11","_context12","_endsWith","availableLanguages","split","value","isOfConceptType","conceptTypeId","exports"],"sources":["../../../src/models/concepts/ConceptDetailModel.js"],"sourcesContent":["// @flow\nimport ResourceModel from \"../base/ResourceModel\";\nimport ConceptRelationCollection from \"./ConceptRelationCollection\";\nimport SourceReferenceCollection from \"./SourceReferenceCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\n\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type {\n ModularUIModel,\n labelsJSON,\n textfragmentJSON,\n propertyJSON,\n} from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type Href from \"../href/Href\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type ErrorResponse from \"../error/ErrorResponse\";\n\n/**\n * Model for concept details, available through modelcatalog\n */\nexport default class ConceptDetailModel extends ResourceModel {\n _relations: ConceptRelationCollection;\n _conceptType: ?ConceptTypeDetailModel;\n _sourceReferences: SourceReferenceCollection;\n\n /**\n */\n constructor(modularuiResponse: ModularUIResponse) {\n super(modularuiResponse);\n\n this._relations = new ConceptRelationCollection(\n this.data.relations,\n this.entryDate,\n this.modelOptions,\n );\n }\n\n /**\n */\n get type(): string {\n return \"ConceptDetail\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ConceptDetailModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ConceptDetail\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const conceptTypeLink = this.links.getLinkByKey(\"concepttype\");\n const relationsCollectionLinks =\n this.relationsCollection.getInitialChildModelLinks();\n\n if (conceptTypeLink) {\n conceptTypeLink.isCacheable = true;\n return [conceptTypeLink, ...relationsCollectionLinks];\n }\n\n return relationsCollectionLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>, errors: Array<ErrorResponse>) {\n // $FlowExpectedError[incompatible-type]\n const conceptTypeModel: ?ConceptTypeDetailModel = models.find(\n (model) => model instanceof ConceptTypeDetailModel,\n );\n\n if (conceptTypeModel) {\n this.conceptType = conceptTypeModel;\n }\n\n this.relationsCollection.setChildModels(models, errors);\n }\n\n /**\n * Retrieve concept detail identifier as key for this model\n */\n get key(): string {\n return this.getData(\"_id\", \"concept\");\n }\n\n /**\n * Getting the self link of this Concept\n */\n get selfhref(): Href {\n const { href } = this.selflink;\n\n if (this.entryDate) {\n href.setParameter(TIMEVERSION_FILTER_NAME, this.entryDate);\n } else {\n href.removeParameter(TIMEVERSION_FILTER_NAME);\n }\n\n return href;\n }\n\n /**\n * Available diagrams for the concept, most of the time just one\n */\n get diagramLinks(): LinkCollection {\n return this.links.getLinksByGroup(\"diagram\");\n }\n\n /**\n * Get conceptType of concept\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n */\n set conceptType(conceptType: ?ConceptTypeDetailModel) {\n this._conceptType = conceptType;\n }\n\n /**\n * Get concept label\n */\n get label(): string {\n return this.data.conceptLabel;\n }\n\n /**\n * Get model category of the concept\n */\n get modelCategory(): string {\n return this.getData(\"modelCategory\", \"\");\n }\n\n /**\n * Get taxonomy type\n */\n get taxonomyType(): string {\n return this.getData(\"taxonomyType\", \"default\");\n }\n\n /**\n * Get concept relations collection\n */\n get relationsCollection(): ConceptRelationCollection {\n return this._relations;\n }\n\n /**\n * Get concept formula\n */\n get formula(): string {\n return this.data.formula;\n }\n\n /**\n * Get additional labels of concept\n */\n get labels(): Array<labelsJSON> {\n return this.conceptType?.labelTypes\n ? this.conceptType.labelTypes.map((labelType) => {\n const setting = this.data.labels\n ? this.data.labels.find((label) => label.type === labelType._id)\n : {};\n\n return {\n ...labelType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get label elements by id\n */\n getLabelElementByIds(ids: Array<string>): Array<labelsJSON> {\n return this.labels.filter((label: labelsJSON) => ids.includes(label._id));\n }\n\n /**\n * Get concept properties\n */\n get conceptProperties(): Array<propertyJSON> {\n return this.conceptType?.propertyTypes\n ? this.conceptType.propertyTypes.map((propertyType) => {\n const setting = this.data.properties\n ? this.data.properties.find(\n (property) => property.type === propertyType._id,\n )\n : {};\n\n return {\n ...propertyType,\n ...setting,\n };\n })\n : [];\n }\n\n /**\n * Get concept properties by id\n */\n getConceptPropertiesByIds(ids: Array<string>): Array<propertyJSON> {\n return this.conceptProperties.filter((property) =>\n ids.includes(property._id),\n );\n }\n\n /**\n * Get Text fragments\n */\n get textfragments(): Array<textfragmentJSON> {\n const textFragments = this.data.textFragments\n ? this.data.textFragments.map((textFragment) => {\n const textFragmentConfig = this.conceptType?.textFragmentTypes.find(\n (textFragmentType) => textFragment.type === textFragmentType._id,\n );\n\n return {\n ...textFragmentConfig,\n ...textFragment,\n };\n })\n : [];\n\n const notConfiguredTextFragments = this.conceptType?.textFragmentTypes\n ? this.conceptType.textFragmentTypes.filter((textFragmentType) => {\n if (!this.data.textFragments) {\n return true;\n }\n\n return !this.data.textFragments.some(\n (textfragment) => textfragment.type === textFragmentType._id,\n );\n })\n : [];\n\n return [...textFragments, ...notConfiguredTextFragments];\n }\n\n /**\n * Get text fragments by id\n */\n getTextFragmentByKeys(keys: Array<string>): Array<textfragmentJSON> {\n return this.textfragments.filter((textfragment) =>\n keys.includes(textfragment.type),\n );\n }\n\n /**\n * Get source reference collection\n */\n getSourceReferenceCollection(\n availableLocales: Array<string> = [],\n ): SourceReferenceCollection {\n if (!this._sourceReferences) {\n let sectionReferenceTypes = [];\n if (this.conceptType?.sectionReferenceTypes) {\n sectionReferenceTypes = this.conceptType.sectionReferenceTypes;\n }\n\n this._sourceReferences = new SourceReferenceCollection(\n this.getSourceReferencesForCurrentLanguage(availableLocales),\n sectionReferenceTypes,\n this.entryDate,\n this.modelOptions,\n );\n }\n\n return this._sourceReferences;\n }\n\n /*\n * Retrieve all sourceReferenceTypes that are valid for the current language\n * Used by sourceRef collection\n */\n /**\n */\n getSourceReferencesForCurrentLanguage(\n availableLocales: Array<string>,\n ): Array<Object> {\n const LANGUAGE_POSTFIX_LENGTH = 3;\n if (this.data.sourceReferences) {\n const availableLanguagesInSourceReferences =\n this.data.sourceReferences.map((sourceReference) =>\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH,\n ),\n );\n\n const currentLanguagePostfix = `_${this.locale}`;\n\n if (\n availableLanguagesInSourceReferences.includes(currentLanguagePostfix)\n ) {\n // return all sourceReferences that end with language that is selected\n return this.data.sourceReferences.filter((sourceReference) =>\n sourceReference.type.endsWith(currentLanguagePostfix),\n );\n }\n\n const availableLanguages = availableLocales.map(\n (locale) => `_${locale.split(\"-\")[0]}`,\n );\n\n // return all sourceReferences that do not end with language postfix\n return this.data.sourceReferences.filter(\n (sourceReference) =>\n !availableLanguages.includes(\n sourceReference.type.substring(\n sourceReference.type.length - LANGUAGE_POSTFIX_LENGTH,\n ),\n ),\n );\n }\n return [];\n }\n\n /**\n * Retrieve modelcatalog.js\n */\n get entryDate(): string | null {\n return this.data.filter?.[TIMEVERSION_FILTER_NAME]?.value ?? null;\n }\n\n /**\n * Indicates if the given concept type id or href exists in the hierarchy of concept types for this concept\n */\n isOfConceptType(conceptTypeId: string): boolean {\n return this.conceptType?.isOfConceptType(conceptTypeId) ?? false;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,7 +20,7 @@ class SourceReferenceCollection extends _BaseCollection.default {
|
|
|
20
20
|
constructor(sourceReferences = [], sectionReferenceTypes = [], entryDate = null, modelOptions) {
|
|
21
21
|
super();
|
|
22
22
|
this.collection = sourceReferences ? (0, _map.default)(sourceReferences).call(sourceReferences, sourceReference => {
|
|
23
|
-
const sectionReferenceType = (0, _find.default)(sectionReferenceTypes).call(sectionReferenceTypes,
|
|
23
|
+
const sectionReferenceType = (0, _find.default)(sectionReferenceTypes).call(sectionReferenceTypes, type => type._id === sourceReference.type);
|
|
24
24
|
return new _SourceReferenceModel.default({
|
|
25
25
|
typeLabel: sectionReferenceType?.label,
|
|
26
26
|
...sourceReference
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceReferenceCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_SourceReferenceModel","SourceReferenceCollection","BaseCollection","constructor","sourceReferences","sectionReferenceTypes","entryDate","modelOptions","collection","_map","default","call","sourceReference","sectionReferenceType","_find","
|
|
1
|
+
{"version":3,"file":"SourceReferenceCollection.js","names":["_BaseCollection","_interopRequireDefault","require","_SourceReferenceModel","SourceReferenceCollection","BaseCollection","constructor","sourceReferences","sectionReferenceTypes","entryDate","modelOptions","collection","_map","default","call","sourceReference","sectionReferenceType","_find","type","_id","SourceReferenceModel","typeLabel","label","byTypes","types","_context","_filter","sourceRef","_includes","exports"],"sources":["../../../src/models/concepts/SourceReferenceCollection.js"],"sourcesContent":["// @flow\nimport BaseCollection from \"../base/BaseCollection\";\nimport SourceReferenceModel from \"./SourceReferenceModel\";\nimport type { ModelOptions } from \"../types\";\n\n/**\n * Source reference collection\n */\nexport default class SourceReferenceCollection extends BaseCollection<SourceReferenceModel> {\n /**\n */\n constructor(\n sourceReferences: Array<Object> = [],\n sectionReferenceTypes: Array<Object> = [],\n entryDate: ?ISO_DATE = null,\n modelOptions?: ModelOptions,\n ) {\n super();\n\n this.collection = sourceReferences\n ? sourceReferences.map((sourceReference) => {\n const sectionReferenceType = sectionReferenceTypes.find(\n (type) => type._id === sourceReference.type,\n );\n return new SourceReferenceModel(\n { typeLabel: sectionReferenceType?.label, ...sourceReference },\n entryDate,\n modelOptions,\n );\n })\n : [];\n }\n\n /**\n */\n byTypes(types: string): Array<SourceReferenceModel> {\n return this.filter((sourceRef) => types.includes(sourceRef.type));\n }\n}\n"],"mappings":";;;;;;;;;;;AACA,IAAAA,eAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAGA;AACA;AACA;AACe,MAAME,yBAAyB,SAASC,uBAAc,CAAuB;EAC1F;AACF;EACEC,WAAWA,CACTC,gBAA+B,GAAG,EAAE,EACpCC,qBAAoC,GAAG,EAAE,EACzCC,SAAoB,GAAG,IAAI,EAC3BC,YAA2B,EAC3B;IACA,KAAK,CAAC,CAAC;IAEP,IAAI,CAACC,UAAU,GAAGJ,gBAAgB,GAC9B,IAAAK,IAAA,CAAAC,OAAA,EAAAN,gBAAgB,EAAAO,IAAA,CAAhBP,gBAAgB,EAAMQ,eAAe,IAAK;MACxC,MAAMC,oBAAoB,GAAG,IAAAC,KAAA,CAAAJ,OAAA,EAAAL,qBAAqB,EAAAM,IAAA,CAArBN,qBAAqB,EAC/CU,IAAI,IAAKA,IAAI,CAACC,GAAG,KAAKJ,eAAe,CAACG,IACzC,CAAC;MACD,OAAO,IAAIE,6BAAoB,CAC7B;QAAEC,SAAS,EAAEL,oBAAoB,EAAEM,KAAK;QAAE,GAAGP;MAAgB,CAAC,EAC9DN,SAAS,EACTC,YACF,CAAC;IACH,CAAC,CAAC,GACF,EAAE;EACR;;EAEA;AACF;EACEa,OAAOA,CAACC,KAAa,EAA+B;IAAA,IAAAC,QAAA;IAClD,OAAO,IAAAC,OAAA,CAAAb,OAAA,EAAAY,QAAA,OAAI,EAAAX,IAAA,CAAAW,QAAA,EAASE,SAAS,IAAK,IAAAC,SAAA,CAAAf,OAAA,EAAAW,KAAK,EAAAV,IAAA,CAALU,KAAK,EAAUG,SAAS,CAACT,IAAI,CAAC,CAAC;EACnE;AACF;AAACW,OAAA,CAAAhB,OAAA,GAAAT,yBAAA","ignoreList":[]}
|
|
@@ -115,11 +115,11 @@ class ContentLinkModel extends _BaseModel.default {
|
|
|
115
115
|
const selfHref = new _Href.default(this.data._links.self.href, "", this.modelOptions);
|
|
116
116
|
const href = selfHref.path;
|
|
117
117
|
const sourceId = this.section ? href.substring(startURI.length, href.lastIndexOf("/")) : href.substring(startURI.length);
|
|
118
|
-
if (this.section
|
|
118
|
+
if (this.section == null) {
|
|
119
|
+
selfHref.path = `${startURI}${encodeURIComponent(sourceId)}`;
|
|
120
|
+
} else {
|
|
119
121
|
const encodedSection = encodeURIComponent(this.section);
|
|
120
122
|
selfHref.path = `${startURI}${encodeURIComponent(sourceId)}/${encodedSection}`;
|
|
121
|
-
} else {
|
|
122
|
-
selfHref.path = `${startURI}${encodeURIComponent(sourceId)}`;
|
|
123
123
|
}
|
|
124
124
|
return selfHref;
|
|
125
125
|
}
|
|
@@ -164,12 +164,12 @@ class ContentLinkModel extends _BaseModel.default {
|
|
|
164
164
|
if (selflink === null) {
|
|
165
165
|
throw new Error(`Could not find self link for ${this.key === null ? "unknown" : this.key}`);
|
|
166
166
|
}
|
|
167
|
-
if (
|
|
167
|
+
if (selflink.href.state) {
|
|
168
|
+
selflink.href.state.fragment = this.fragment;
|
|
169
|
+
} else {
|
|
168
170
|
selflink.href.state = {
|
|
169
171
|
fragment: this.fragment
|
|
170
172
|
};
|
|
171
|
-
} else {
|
|
172
|
-
selflink.href.state.fragment = this.fragment;
|
|
173
173
|
}
|
|
174
174
|
return selflink;
|
|
175
175
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentLinkModel.js","names":["_BaseModel","_interopRequireDefault","require","_Href","_LinkModel","_ContentTypeModel","_Constants","_Settings","_LinkCollection","ContentLinkModel","BaseModel","constructor","data","entryDate","modelOptions","_defineProperty2","default","_entryDate","getInitialChildModelLinks","contentTypeLink","isCacheable","setChildModels","models","href","contentTypeModel","_find","call","model","selfhref","equalsWithParameters","type","contentType","_contentType","ContentTypeModel","key","getData","label","sourceLabel","abbreviation","section","createEncodedHref","startURI","selfHref","Href","_links","self","path","sourceId","substring","length","lastIndexOf","encodedSection","encodeURIComponent","encodedHref","addParameter","TIMEVERSION_FILTER_NAME","links","LinkCollection","Array","isArray","selflink","getLinkByKey","getSetting","_context","hasLinkByKey","_endsWith","hash","Error","state","fragment","contentHref","content","sectionHref","subSectionID","contentTypeHref","sectionFragment","items","_items","exports"],"sources":["../../../src/models/content/ContentLinkModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\nimport LinkModel from \"../links/LinkModel\";\nimport ContentTypeModel from \"./ContentTypeModel\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport { getSetting } from \"../../constants/Settings\";\n\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport type {\n ModularUIModel,\n IModelWithChildModels,\n ModelOptions,\n SectionFragment,\n} from \"../types\";\n\n/**\n * Link to a concept\n */\nexport default class ContentLinkModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _links: ?LinkCollection;\n _entryDate: ?ISO_DATE;\n _contentType: ContentTypeModel | null = null;\n _items: Array<ContentLinkModel>;\n\n /**\n */\n constructor(\n data: Object,\n entryDate: ?ISO_DATE = null,\n modelOptions?: ModelOptions,\n ) {\n super(data, {}, modelOptions);\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n // $FlowFixMe[method-unbinding]\n getInitialChildModelLinks(): Array<LinkModel> {\n if (this.contentTypeLink) {\n this.contentTypeLink.isCacheable = true;\n return [this.contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n // $FlowFixMe[method-unbinding]\n setChildModels(models: Array<ModularUIModel>) {\n if (this.contentTypeLink) {\n const href = this.contentTypeLink.href;\n const contentTypeModel = models.find((model) =>\n model.selfhref.equalsWithParameters(href),\n );\n\n if (contentTypeModel?.type === \"ContentType\") {\n this.contentType = contentTypeModel;\n }\n }\n }\n\n /**\n * Retrieve content type\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 */\n set entryDate(entryDate: ISO_DATE) {\n this._entryDate = entryDate;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this.getData(\"_id\", \"\");\n }\n\n /**\n * Retrieve label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Retrieve the label of the source a link to a section belongs to\n */\n get sourceLabel(): string | null {\n return this.getData(\"sourceLabel\");\n }\n\n /**\n *\n */\n get abbreviation(): string | null {\n return this.getData(\"abbreviation\") || this.getData(\"sourceAbbreviation\");\n }\n\n /**\n */\n get section(): string | null {\n return this.data.section;\n }\n\n /**\n */\n createEncodedHref(): Href {\n const startURI = \"/content/\";\n const selfHref = new Href(\n this.data._links.self.href,\n \"\",\n this.modelOptions,\n );\n const href = selfHref.path;\n\n const sourceId = this.section\n ? href.substring(startURI.length, href.lastIndexOf(\"/\"))\n : href.substring(startURI.length);\n\n if (this.section != null) {\n const encodedSection = encodeURIComponent(this.section);\n selfHref.path = `${startURI}${encodeURIComponent(sourceId)}/${encodedSection}`;\n } else {\n selfHref.path = `${startURI}${encodeURIComponent(sourceId)}`;\n }\n\n return selfHref;\n }\n\n /**\n * Encode the content-identifier of the path to the content resource.\n * This makes it a single uri part, which can be used on routes to make nested routes\n */\n get encodedHref(): Href {\n const href = this.createEncodedHref();\n\n if (this._entryDate !== null) {\n return href.addParameter(TIMEVERSION_FILTER_NAME, this._entryDate);\n }\n\n return href;\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n Array.isArray(this.data._links)\n ? this.data._links[0]\n : this.data._links,\n null,\n this.modelOptions,\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n let selflink = this.links.getLinkByKey(\"self\");\n\n if (getSetting(\"COMPLETE_SOURCE\", false)) {\n if (this.links.hasLinkByKey(\"content\")) {\n selflink = this.links.getLinkByKey(\"content\");\n }\n\n if (\n this.section != null &&\n selflink &&\n !selflink.href.path.endsWith(encodeURIComponent(this.section))\n ) {\n selflink.href.addParameter(\"complete\", \"true\");\n selflink.href.hash = this.section || \"\";\n }\n }\n\n if (selflink === null) {\n throw new Error(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`,\n );\n }\n\n if (!selflink.href.state) {\n selflink.href.state = {\n fragment: this.fragment,\n };\n } else {\n selflink.href.state.fragment = this.fragment;\n }\n\n return selflink;\n }\n\n /**\n */\n get contentHref(): Href {\n let href = this.data._links.self.href;\n if (this.data._links.content) {\n href = new Href(this.data._links.content.href);\n } else if (this.section) {\n const section = encodeURIComponent(this.section);\n if (href.endsWith(section)) {\n href = href.substring(0, href.lastIndexOf(\"/\" + section));\n }\n }\n\n return new Href(href)\n .addParameter(\"complete\", \"true\")\n .addParameter(TIMEVERSION_FILTER_NAME, this._entryDate);\n }\n\n /**\n */\n get sectionHref(): Href | null {\n const section = this.section;\n if (section) {\n const contentHref = this.contentHref;\n const sectionHref = new Href(\n contentHref.path + \"/\" + encodeURIComponent(this.data.section),\n );\n return sectionHref.addParameter(TIMEVERSION_FILTER_NAME, this._entryDate);\n }\n return null;\n }\n\n /**\n * Self href of concept\n */\n get selfhref(): Href {\n if (this._entryDate !== null) {\n return this.selflink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this._entryDate,\n );\n }\n\n return this.selflink.href;\n }\n\n /**\n */\n get subSectionID(): string {\n return this.selfhref.hash;\n }\n\n /**\n */\n get contentTypeLink(): LinkModel | null {\n return this.links.getLinkByKey(\"contenttype\");\n }\n\n /**\n * Concept type href of concept\n */\n get contentTypeHref(): Href | null {\n if (this.contentTypeLink) {\n return this.contentTypeLink.href;\n }\n\n return null;\n }\n\n /**\n */\n get fragment(): SectionFragment | void {\n return this.data.sectionFragment;\n }\n\n /**\n * Children of link model in TOC\n */\n set items(items: Array<ContentLinkModel>) {\n this._items = items;\n }\n\n /**\n */\n get items(): Array<ContentLinkModel> {\n return this._items;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ContentLinkModel.js","names":["_BaseModel","_interopRequireDefault","require","_Href","_LinkModel","_ContentTypeModel","_Constants","_Settings","_LinkCollection","ContentLinkModel","BaseModel","constructor","data","entryDate","modelOptions","_defineProperty2","default","_entryDate","getInitialChildModelLinks","contentTypeLink","isCacheable","setChildModels","models","href","contentTypeModel","_find","call","model","selfhref","equalsWithParameters","type","contentType","_contentType","ContentTypeModel","key","getData","label","sourceLabel","abbreviation","section","createEncodedHref","startURI","selfHref","Href","_links","self","path","sourceId","substring","length","lastIndexOf","encodeURIComponent","encodedSection","encodedHref","addParameter","TIMEVERSION_FILTER_NAME","links","LinkCollection","Array","isArray","selflink","getLinkByKey","getSetting","_context","hasLinkByKey","_endsWith","hash","Error","state","fragment","contentHref","content","sectionHref","subSectionID","contentTypeHref","sectionFragment","items","_items","exports"],"sources":["../../../src/models/content/ContentLinkModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport Href from \"../href/Href\";\nimport LinkModel from \"../links/LinkModel\";\nimport ContentTypeModel from \"./ContentTypeModel\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\nimport { getSetting } from \"../../constants/Settings\";\n\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport type {\n ModularUIModel,\n IModelWithChildModels,\n ModelOptions,\n SectionFragment,\n} from \"../types\";\n\n/**\n * Link to a concept\n */\nexport default class ContentLinkModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _links: ?LinkCollection;\n _entryDate: ?ISO_DATE;\n _contentType: ContentTypeModel | null = null;\n _items: Array<ContentLinkModel>;\n\n /**\n */\n constructor(\n data: Object,\n entryDate: ?ISO_DATE = null,\n modelOptions?: ModelOptions,\n ) {\n super(data, {}, modelOptions);\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n // $FlowFixMe[method-unbinding]\n getInitialChildModelLinks(): Array<LinkModel> {\n if (this.contentTypeLink) {\n this.contentTypeLink.isCacheable = true;\n return [this.contentTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n // $FlowFixMe[method-unbinding]\n setChildModels(models: Array<ModularUIModel>) {\n if (this.contentTypeLink) {\n const href = this.contentTypeLink.href;\n const contentTypeModel = models.find((model) =>\n model.selfhref.equalsWithParameters(href),\n );\n\n if (contentTypeModel?.type === \"ContentType\") {\n this.contentType = contentTypeModel;\n }\n }\n }\n\n /**\n * Retrieve content type\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 */\n set entryDate(entryDate: ISO_DATE) {\n this._entryDate = entryDate;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this.getData(\"_id\", \"\");\n }\n\n /**\n * Retrieve label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Retrieve the label of the source a link to a section belongs to\n */\n get sourceLabel(): string | null {\n return this.getData(\"sourceLabel\");\n }\n\n /**\n *\n */\n get abbreviation(): string | null {\n return this.getData(\"abbreviation\") || this.getData(\"sourceAbbreviation\");\n }\n\n /**\n */\n get section(): string | null {\n return this.data.section;\n }\n\n /**\n */\n createEncodedHref(): Href {\n const startURI = \"/content/\";\n const selfHref = new Href(\n this.data._links.self.href,\n \"\",\n this.modelOptions,\n );\n const href = selfHref.path;\n\n const sourceId = this.section\n ? href.substring(startURI.length, href.lastIndexOf(\"/\"))\n : href.substring(startURI.length);\n\n if (this.section == null) {\n selfHref.path = `${startURI}${encodeURIComponent(sourceId)}`;\n } else {\n const encodedSection = encodeURIComponent(this.section);\n selfHref.path = `${startURI}${encodeURIComponent(sourceId)}/${encodedSection}`;\n }\n\n return selfHref;\n }\n\n /**\n * Encode the content-identifier of the path to the content resource.\n * This makes it a single uri part, which can be used on routes to make nested routes\n */\n get encodedHref(): Href {\n const href = this.createEncodedHref();\n\n if (this._entryDate !== null) {\n return href.addParameter(TIMEVERSION_FILTER_NAME, this._entryDate);\n }\n\n return href;\n }\n\n /**\n * Getting the links of the resource\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n Array.isArray(this.data._links)\n ? this.data._links[0]\n : this.data._links,\n null,\n this.modelOptions,\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n let selflink = this.links.getLinkByKey(\"self\");\n\n if (getSetting(\"COMPLETE_SOURCE\", false)) {\n if (this.links.hasLinkByKey(\"content\")) {\n selflink = this.links.getLinkByKey(\"content\");\n }\n\n if (\n this.section != null &&\n selflink &&\n !selflink.href.path.endsWith(encodeURIComponent(this.section))\n ) {\n selflink.href.addParameter(\"complete\", \"true\");\n selflink.href.hash = this.section || \"\";\n }\n }\n\n if (selflink === null) {\n throw new Error(\n `Could not find self link for ${\n this.key === null ? \"unknown\" : this.key\n }`,\n );\n }\n\n if (selflink.href.state) {\n selflink.href.state.fragment = this.fragment;\n } else {\n selflink.href.state = {\n fragment: this.fragment,\n };\n }\n\n return selflink;\n }\n\n /**\n */\n get contentHref(): Href {\n let href = this.data._links.self.href;\n if (this.data._links.content) {\n href = new Href(this.data._links.content.href);\n } else if (this.section) {\n const section = encodeURIComponent(this.section);\n if (href.endsWith(section)) {\n href = href.substring(0, href.lastIndexOf(\"/\" + section));\n }\n }\n\n return new Href(href)\n .addParameter(\"complete\", \"true\")\n .addParameter(TIMEVERSION_FILTER_NAME, this._entryDate);\n }\n\n /**\n */\n get sectionHref(): Href | null {\n const section = this.section;\n if (section) {\n const contentHref = this.contentHref;\n const sectionHref = new Href(\n contentHref.path + \"/\" + encodeURIComponent(this.data.section),\n );\n return sectionHref.addParameter(TIMEVERSION_FILTER_NAME, this._entryDate);\n }\n return null;\n }\n\n /**\n * Self href of concept\n */\n get selfhref(): Href {\n if (this._entryDate !== null) {\n return this.selflink.href.addParameter(\n TIMEVERSION_FILTER_NAME,\n this._entryDate,\n );\n }\n\n return this.selflink.href;\n }\n\n /**\n */\n get subSectionID(): string {\n return this.selfhref.hash;\n }\n\n /**\n */\n get contentTypeLink(): LinkModel | null {\n return this.links.getLinkByKey(\"contenttype\");\n }\n\n /**\n * Concept type href of concept\n */\n get contentTypeHref(): Href | null {\n if (this.contentTypeLink) {\n return this.contentTypeLink.href;\n }\n\n return null;\n }\n\n /**\n */\n get fragment(): SectionFragment | void {\n return this.data.sectionFragment;\n }\n\n /**\n * Children of link model in TOC\n */\n set items(items: Array<ContentLinkModel>) {\n this._items = items;\n }\n\n /**\n */\n get items(): Array<ContentLinkModel> {\n return this._items;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -41,12 +41,10 @@ class BaseFilterModel extends _BaseModel.default {
|
|
|
41
41
|
*/
|
|
42
42
|
get parameterType() {
|
|
43
43
|
const parameterType = this.getContribution("parameterType");
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
return _Constants.PARAMETER_TYPES.BODY;
|
|
47
|
-
default:
|
|
48
|
-
return _Constants.PARAMETER_TYPES.QUERY;
|
|
44
|
+
if (parameterType === "bodyParameter") {
|
|
45
|
+
return _Constants.PARAMETER_TYPES.BODY;
|
|
49
46
|
}
|
|
47
|
+
return _Constants.PARAMETER_TYPES.QUERY;
|
|
50
48
|
}
|
|
51
49
|
|
|
52
50
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseFilterModel.js","names":["_BaseModel","_interopRequireDefault","require","_Constants","BaseFilterModel","BaseModel","constructor","data","contributions","modelOptions","_defineProperty2","default","listKey","listkey","key","name","type","replace","parameterType","getContribution","PARAMETER_TYPES","BODY","QUERY","isMultiple","context","_context","contextid","contextLabel","label","_listKey","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 */\n get key(): string {\n return this.data.name;\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
|
|
1
|
+
{"version":3,"file":"BaseFilterModel.js","names":["_BaseModel","_interopRequireDefault","require","_Constants","BaseFilterModel","BaseModel","constructor","data","contributions","modelOptions","_defineProperty2","default","listKey","listkey","key","name","type","replace","parameterType","getContribution","PARAMETER_TYPES","BODY","QUERY","isMultiple","context","_context","contextid","contextLabel","label","_listKey","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 */\n get key(): string {\n return this.data.name;\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\n if (parameterType === \"bodyParameter\") {\n return PARAMETER_TYPES.BODY;\n }\n return PARAMETER_TYPES.QUERY;\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 */\n get contextid(): string {\n return this.getContribution(\"contextid\", \"\");\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":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ 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 _trim = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/trim"));
|
|
10
|
+
var _replaceAll = _interopRequireDefault(require("@babel/runtime-corejs3/core-js/instance/replace-all"));
|
|
10
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
11
12
|
var _FilterModel = _interopRequireDefault(require("./FilterModel"));
|
|
12
13
|
/**
|
|
@@ -72,7 +73,7 @@ class StringFilterModel extends _FilterModel.default {
|
|
|
72
73
|
*/
|
|
73
74
|
update(attribute, value) {
|
|
74
75
|
this._isValid = true;
|
|
75
|
-
this._inputvalue = typeof value
|
|
76
|
+
this._inputvalue = typeof value === "string" ? value : value.toString();
|
|
76
77
|
if (this.shouldHandleFormat()) {
|
|
77
78
|
var _context, _context2;
|
|
78
79
|
const values = this.isMultiple ? (0, _map.default)(_context = this._inputvalue.split(",")).call(_context, val => (0, _trim.default)(val).call(val)) : [(0, _trim.default)(_context2 = this._inputvalue).call(_context2)];
|
|
@@ -132,7 +133,8 @@ class StringFilterModel extends _FilterModel.default {
|
|
|
132
133
|
return "";
|
|
133
134
|
}
|
|
134
135
|
if (this.shouldHandleFormat()) {
|
|
135
|
-
|
|
136
|
+
// $FlowIssue
|
|
137
|
+
return (0, _replaceAll.default)(value).call(value, /[^a-z0-9,]/gi, "");
|
|
136
138
|
}
|
|
137
139
|
return value;
|
|
138
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StringFilterModel.js","names":["_FilterModel","_interopRequireDefault","require","StringFilterModel","FilterModel","constructor","data","contributions","modelOptions","_defineProperty2","default","update","attribute","value","_inputvalue","_value","params","param","name","removeFormat","inputvalue","reset","isValid","_isValid","toString","shouldHandleFormat","_context","_context2","values","isMultiple","_map","split","call","val","_trim","outputValues","formattedValue","formatValue","push","validate","join","operator","getContribution","isBSN","layouthint","has","isIBAN","isZipcode","
|
|
1
|
+
{"version":3,"file":"StringFilterModel.js","names":["_FilterModel","_interopRequireDefault","require","StringFilterModel","FilterModel","constructor","data","contributions","modelOptions","_defineProperty2","default","update","attribute","value","_inputvalue","_value","params","param","name","removeFormat","inputvalue","reset","isValid","_isValid","toString","shouldHandleFormat","_context","_context2","values","isMultiple","_map","split","call","val","_trim","outputValues","formattedValue","formatValue","push","validate","join","operator","getContribution","isBSN","layouthint","has","isIBAN","isZipcode","_replaceAll","formdata","exports"],"sources":["../../../src/models/filters/StringFilterModel.js"],"sourcesContent":["// @flow\n\nimport type { AttributeType, IFilter, ModelOptions } from \"../types\";\nimport FilterModel from \"./FilterModel\";\n\n/**\n * StringFilterModel can handle string filters with multiple setting\n */\nexport default class StringFilterModel extends FilterModel implements IFilter {\n _isValid: boolean = true;\n _value: string | null;\n _inputvalue: string;\n\n /**\n */\n constructor(\n data: Object,\n contributions: Object,\n modelOptions?: ModelOptions,\n ) {\n super(data, contributions, modelOptions);\n\n this.update(this.attribute, data.value ?? \"\");\n\n // when formatted value set this to initial input value\n this._inputvalue = this._value ?? \"\";\n }\n\n /**\n * Retrieve the parameters with its 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.removeFormat(this.value),\n },\n ];\n }\n\n /**\n * Getting the value of the filter\n */\n get value(): string | null {\n return this._value;\n }\n\n /**\n */\n get inputvalue(): string {\n return this._inputvalue;\n }\n\n /**\n * Reset the value of this filter to undefined\n */\n reset(): StringFilterModel {\n this._inputvalue = \"\";\n this._value = null;\n\n return this;\n }\n\n /**\n */\n get isValid(): boolean {\n return this._isValid;\n }\n\n /**\n * Update this filter with input name and value\n */\n update(attribute: AttributeType, value: string) {\n this._isValid = true;\n this._inputvalue = typeof value === \"string\" ? value : value.toString();\n\n if (this.shouldHandleFormat()) {\n const values = this.isMultiple\n ? this._inputvalue.split(\",\").map((val) => val.trim())\n : [this._inputvalue.trim()];\n\n const outputValues = [];\n for (const val of values) {\n const formattedValue = this.formatValue(val);\n if (formattedValue !== \"\") {\n outputValues.push(formattedValue);\n\n if (!this.attribute.validate(formattedValue)) {\n this._isValid = false;\n }\n }\n }\n\n this._value = outputValues.join(\",\");\n } else {\n this._value = value;\n }\n }\n\n /**\n */\n get operator(): string {\n return this.getContribution(\"operator\", \"\");\n }\n\n /**\n */\n formatValue(value: string): string {\n if (this.shouldHandleFormat()) {\n return this.attribute.formatValue(value);\n }\n return value;\n }\n\n /**\n */\n isBSN(): boolean {\n return this.layouthint.has(\"bsn\");\n }\n\n /**\n */\n isIBAN(): boolean {\n return this.layouthint.has(\"iban\");\n }\n\n /**\n */\n isZipcode(): boolean {\n return this.layouthint.has(\"zipcode\");\n }\n\n /**\n */\n removeFormat(value: ?string): string {\n if (value == null || value.toString() === \"\") {\n return \"\";\n }\n\n if (this.shouldHandleFormat()) {\n // $FlowIssue\n return value.replaceAll(/[^a-z0-9,]/gi, \"\");\n }\n\n return value;\n }\n\n /**\n */\n shouldHandleFormat(): boolean {\n return (\n (this.operator === \"exactly\" || this.operator === \"isNot\") &&\n (this.isIBAN() || this.isZipcode() || this.isBSN())\n );\n }\n\n /**\n */\n get formdata(): { [string]: any } | null {\n return {\n [this.param]: this.value,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -767,7 +767,7 @@ class FormModel extends _ResourceModel.default {
|
|
|
767
767
|
this.previousEndResultKeys = (0, _map.default)(_context23 = this.endResultFormObjects).call(_context23, endResult => endResult.key);
|
|
768
768
|
|
|
769
769
|
// while we are at the same repeating form object, go a step back
|
|
770
|
-
if (this.currentFormObject
|
|
770
|
+
if (this.currentFormObject?.equals(oldCurrentFormObject, this.currentFormObject.hasFixedNrOfRepeats)) {
|
|
771
771
|
this.setPreviousObject();
|
|
772
772
|
}
|
|
773
773
|
}
|