@beinformed/ui 1.18.2 → 1.18.5
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 +21 -0
- package/esm/constants/Constants.js +1 -0
- package/esm/constants/Constants.js.map +1 -1
- package/esm/constants/Settings.js +10 -3
- package/esm/constants/Settings.js.map +1 -1
- package/esm/hooks/useAuthentication.js +7 -50
- package/esm/hooks/useAuthentication.js.map +1 -1
- package/esm/i18n/Locales.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/form/FormModel.js +3 -1
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/esm/models/list/ListModel.js +1 -1
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/tab/TabModel.js.map +1 -1
- package/esm/modularui/Authenticate.js +100 -21
- package/esm/modularui/Authenticate.js.map +1 -1
- package/esm/redux/actions/Preferences.js +2 -2
- package/esm/redux/actions/Preferences.js.map +1 -1
- package/esm/redux/actions/SignOut.js +6 -2
- package/esm/redux/actions/SignOut.js.map +1 -1
- package/esm/redux/connectors/SignIn.js +3 -2
- package/esm/redux/connectors/SignIn.js.map +1 -1
- package/esm/redux/connectors/SignOut.js +4 -1
- package/esm/redux/connectors/SignOut.js.map +1 -1
- package/esm/redux/reducers/AuthReducer.js +0 -10
- package/esm/redux/reducers/AuthReducer.js.map +1 -1
- package/esm/redux/types.js.map +1 -1
- package/esm/utils/helpers/checkResource.js +2 -0
- package/esm/utils/helpers/checkResource.js.map +1 -1
- package/lib/constants/Constants.js +3 -1
- package/lib/constants/Constants.js.flow +1 -0
- package/lib/constants/Constants.js.map +1 -1
- package/lib/constants/LayoutHints.js.map +1 -1
- package/lib/constants/Settings.js +13 -3
- package/lib/constants/Settings.js.flow +8 -3
- package/lib/constants/Settings.js.map +1 -1
- package/lib/exceptions/FetchException.js.map +1 -1
- package/lib/hooks/__tests__/useAuthentication.spec.js.flow +15 -1
- package/lib/hooks/useAllFormsOnModel.js.map +1 -1
- package/lib/hooks/useAuthentication.js +7 -55
- package/lib/hooks/useAuthentication.js.flow +4 -37
- package/lib/hooks/useAuthentication.js.map +1 -1
- package/lib/hooks/useContent.js.map +1 -1
- package/lib/hooks/useDeepCompareEffect.js.map +1 -1
- package/lib/hooks/useForm.js.map +1 -1
- package/lib/hooks/useI18n.js.map +1 -1
- package/lib/hooks/useModal.js.map +1 -1
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/lib/hooks/useModels.js.map +1 -1
- package/lib/hooks/useModularUI.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/hooks/useModularUIModel.js.map +1 -1
- package/lib/hooks/useModularUIRequest.js.map +1 -1
- package/lib/hooks/useNotification.js.map +1 -1
- package/lib/hooks/usePreference.js.map +1 -1
- package/lib/hooks/useProgressIndicator.js.map +1 -1
- package/lib/hooks/useRouter.js.map +1 -1
- package/lib/i18n/Locale.js.map +1 -1
- package/lib/i18n/Locales.js.map +1 -1
- package/lib/i18n/Message.js.map +1 -1
- package/lib/i18n/withMessage.js.map +1 -1
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/AttributeCollection.js.map +1 -1
- package/lib/models/attributes/AttributeContent.js.map +1 -1
- package/lib/models/attributes/AttributeDataHelper.js.map +1 -1
- package/lib/models/attributes/AttributeModel.js.map +1 -1
- package/lib/models/attributes/AttributeSetModel.js.map +1 -1
- package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/lib/models/attributes/HelptextAttributeModel.js.map +1 -1
- package/lib/models/attributes/MemoAttributeModel.js.map +1 -1
- package/lib/models/attributes/MoneyAttributeModel.js.map +1 -1
- package/lib/models/attributes/NumberAttributeModel.js.map +1 -1
- package/lib/models/attributes/StringAttributeModel.js.map +1 -1
- package/lib/models/attributes/XMLAttributeModel.js.map +1 -1
- package/lib/models/attributes/_createAttribute.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintCollection.js.map +1 -1
- package/lib/models/attributes/input-constraints/ConstraintModel.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeDateFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/DateTimeTimeFormatConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/FileSizeConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/IBANConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberBoundaryConstraint.js.map +1 -1
- package/lib/models/attributes/input-constraints/NumberFormatConstraint.js.map +1 -1
- package/lib/models/base/BaseCollection.js.map +1 -1
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/concepts/BusinessScenarioModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/content/SectionModel.js.map +1 -1
- package/lib/models/content/SubSectionModel.js.map +1 -1
- package/lib/models/contentconfiguration/ContentConfigurationResults.js.map +1 -1
- package/lib/models/detail/DetailModel.js.map +1 -1
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/form/FormModel.js +3 -1
- package/lib/models/form/FormModel.js.flow +1 -1
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/layouthint/LayoutHintCollection.js.map +1 -1
- package/lib/models/links/LinkCollection.js.map +1 -1
- package/lib/models/links/LinkModel.js.map +1 -1
- package/lib/models/list/ListDetailModel.js.map +1 -1
- package/lib/models/list/ListHeaderModel.js.map +1 -1
- package/lib/models/list/ListItemCollection.js.map +1 -1
- package/lib/models/list/ListModel.js +1 -1
- package/lib/models/list/ListModel.js.flow +1 -1
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/list/__tests__/ListModel.spec.js.flow +13 -0
- package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
- package/lib/models/paging/PagingModel.js.map +1 -1
- package/lib/models/panels/GroupingPanelModel.js.map +1 -1
- package/lib/models/parameter/Parameter.js.map +1 -1
- package/lib/models/process/ProcessStatusSettingsModel.js.map +1 -1
- package/lib/models/resolveModel.js.map +1 -1
- package/lib/models/sorting/SortingModel.js.map +1 -1
- package/lib/models/tab/TabModel.js.map +1 -1
- package/lib/models/user/UserProfileModel.js.map +1 -1
- package/lib/models/user/UserServicesModel.js.map +1 -1
- package/lib/modularui/Authenticate.js +102 -21
- package/lib/modularui/Authenticate.js.flow +75 -20
- package/lib/modularui/Authenticate.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/ModularUIResponse.js.map +1 -1
- package/lib/react/ErrorBoundaryFallback.js.map +1 -1
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-client/rehydrate.js.map +1 -1
- package/lib/react-server/__tests__/serverUtil.spec.js.flow +6 -4
- package/lib/react-server/createSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRMinimal.js.map +1 -1
- package/lib/react-server/serverNoSSR.js.map +1 -1
- package/lib/react-server/serverSSR.js.map +1 -1
- package/lib/react-server/serverUtil.js.map +1 -1
- package/lib/react-theme/ThemeProvider.js.map +1 -1
- package/lib/react-theme/createTheme.js.map +1 -1
- package/lib/react-theme/useTheme.js.map +1 -1
- package/lib/react-theme/utils/background.js.map +1 -1
- package/lib/react-theme/utils/colors.js.map +1 -1
- package/lib/react-theme/utils/contrast.js.map +1 -1
- package/lib/react-theme/utils/corners.js.map +1 -1
- package/lib/react-theme/utils/spacers.js.map +1 -1
- package/lib/react-theme/utils/themeProps.js.map +1 -1
- package/lib/redux/_i18n/actions.js.map +1 -1
- package/lib/redux/_i18n/reducer.js.map +1 -1
- package/lib/redux/_modularui/actions.js.map +1 -1
- package/lib/redux/_modularui/connector.js.map +1 -1
- package/lib/redux/_modularui/middleware.js.map +1 -1
- package/lib/redux/_modularui/modularuiUtils.js.map +1 -1
- package/lib/redux/_modularui/reducer.js.map +1 -1
- package/lib/redux/_modularui/selectors.js.map +1 -1
- package/lib/redux/_modularui/withModularUI.js.map +1 -1
- package/lib/redux/_router/connectors.js.map +1 -1
- package/lib/redux/actions/Application.js.map +1 -1
- package/lib/redux/actions/Authorization.js.map +1 -1
- package/lib/redux/actions/Error.js.map +1 -1
- package/lib/redux/actions/Form.js.map +1 -1
- package/lib/redux/actions/FormAttributeSet.js.map +1 -1
- package/lib/redux/actions/FormAttributeSetRepeatable.js.map +1 -1
- package/lib/redux/actions/FormAutosave.js.map +1 -1
- package/lib/redux/actions/FormAutosubmit.js.map +1 -1
- package/lib/redux/actions/FormValidations.js.map +1 -1
- package/lib/redux/actions/Notification.js.map +1 -1
- package/lib/redux/actions/Preferences.js +1 -1
- package/lib/redux/actions/Preferences.js.flow +7 -3
- package/lib/redux/actions/Preferences.js.map +1 -1
- package/lib/redux/actions/SignIn.js.map +1 -1
- package/lib/redux/actions/SignOut.js +6 -1
- package/lib/redux/actions/SignOut.js.flow +9 -5
- package/lib/redux/actions/SignOut.js.map +1 -1
- package/lib/redux/connectors/Application.js.map +1 -1
- package/lib/redux/connectors/Breadcrumb.js.map +1 -1
- package/lib/redux/connectors/CaseView.js.map +1 -1
- package/lib/redux/connectors/ConceptDetail.js.map +1 -1
- package/lib/redux/connectors/ContentBrowser.js.map +1 -1
- package/lib/redux/connectors/ContentDetail.js.map +1 -1
- package/lib/redux/connectors/ContentDetailSection.js.map +1 -1
- package/lib/redux/connectors/Form.js.map +1 -1
- package/lib/redux/connectors/FormAttributeSet.js.map +1 -1
- package/lib/redux/connectors/ListDetail.js.map +1 -1
- package/lib/redux/connectors/Modal.js.map +1 -1
- package/lib/redux/connectors/ModelCatalog.js.map +1 -1
- package/lib/redux/connectors/Notification.js.map +1 -1
- package/lib/redux/connectors/PanelRenderer.js.map +1 -1
- package/lib/redux/connectors/Preferences.js.map +1 -1
- package/lib/redux/connectors/Progress.js.map +1 -1
- package/lib/redux/connectors/ProgressIndicator.js.map +1 -1
- package/lib/redux/connectors/QuickSearch.js.map +1 -1
- package/lib/redux/connectors/SignIn.js +3 -5
- package/lib/redux/connectors/SignIn.js.flow +1 -6
- package/lib/redux/connectors/SignIn.js.map +1 -1
- package/lib/redux/connectors/SignOut.js +5 -1
- package/lib/redux/connectors/SignOut.js.flow +2 -1
- package/lib/redux/connectors/SignOut.js.map +1 -1
- package/lib/redux/connectors/Tab.js.map +1 -1
- package/lib/redux/reducers/AuthReducer.js +0 -11
- package/lib/redux/reducers/AuthReducer.js.flow +0 -11
- package/lib/redux/reducers/AuthReducer.js.map +1 -1
- package/lib/redux/reducers/__tests__/AuthReducer.spec.js.flow +0 -9
- package/lib/redux/store/configureStore.js.map +1 -1
- package/lib/redux/types.js.flow +0 -1
- package/lib/redux/types.js.map +1 -1
- package/lib/utils/browser/Cookies.js.map +1 -1
- package/lib/utils/datetime/DateTimeUtil.js.map +1 -1
- package/lib/utils/fetch/universalFetch.js.map +1 -1
- package/lib/utils/fetch/xhr.js.map +1 -1
- package/lib/utils/helpers/checkResource.js +2 -0
- package/lib/utils/helpers/checkResource.js.flow +3 -0
- package/lib/utils/helpers/checkResource.js.map +1 -1
- package/lib/utils/helpers/objects.js.map +1 -1
- package/lib/utils/helpers/sanitizeHtml.js.map +1 -1
- package/lib/utils/helpers/text.js.map +1 -1
- package/lib/utils/number/formatValue.js.map +1 -1
- package/lib/utils/number/parseNumbers.js.map +1 -1
- package/package.json +22 -22
- package/src/constants/Constants.js +1 -0
- package/src/constants/Settings.js +8 -3
- package/src/hooks/__tests__/useAuthentication.spec.js +15 -1
- package/src/hooks/useAuthentication.js +4 -37
- package/src/models/form/FormModel.js +1 -1
- package/src/models/list/ListModel.js +1 -1
- package/src/models/list/__tests__/ListModel.spec.js +13 -0
- package/src/models/list/__tests__/related-contributions.json +42 -0
- package/src/models/list/__tests__/related-data.json +32 -0
- package/src/modularui/Authenticate.js +75 -20
- package/src/react-server/__tests__/serverUtil.spec.js +6 -4
- package/src/redux/actions/Preferences.js +7 -3
- package/src/redux/actions/SignOut.js +9 -5
- package/src/redux/connectors/SignIn.js +1 -6
- package/src/redux/connectors/SignOut.js +2 -1
- package/src/redux/reducers/AuthReducer.js +0 -11
- package/src/redux/reducers/__tests__/AuthReducer.spec.js +0 -9
- package/src/redux/types.js +0 -1
- package/src/utils/helpers/checkResource.js +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IBANConstraint.js","names":["IBANConstraint","value","IBAN","isValid"],"sources":["../../../../src/models/attributes/input-constraints/IBANConstraint.js"],"sourcesContent":["// @flow\nimport IBAN from \"iban\";\n\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass IBANConstraint implements IConstraintModel {\n /**\n */\n get id(): string {\n return \"Constraint.IBAN.InvalidFormat\";\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must be a valid IBAN number\";\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n validate(value: string): any {\n return IBAN.isValid(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default IBANConstraint;\n"],"mappings":";;;;;;;;;;;;;AACA;;AAIA;AACA;IACMA,c;;;;;;;;IACJ;AACF;IACE,eAAiB;MACf,OAAO,+BAAP;IACD;IAED;AACF;;;;WACE,yBAAyB;MACvB,OAAO,IAAP;IACD;IAED;AACF;;;;SACE,eAA6B;MAC3B,OAAO,6BAAP;IACD;IAED;AACF;;;;SACE,eAA0B;MACxB,OAAO,EAAP;IACD;IAED;AACF;;;;WACE,kBAASC,KAAT,EAA6B;MAC3B,OAAOC,
|
|
1
|
+
{"version":3,"file":"IBANConstraint.js","names":["IBANConstraint","value","IBAN","isValid"],"sources":["../../../../src/models/attributes/input-constraints/IBANConstraint.js"],"sourcesContent":["// @flow\nimport IBAN from \"iban\";\n\nimport type { IConstraintModel } from \"../../types\";\n\n/**\n */\nclass IBANConstraint implements IConstraintModel {\n /**\n */\n get id(): string {\n return \"Constraint.IBAN.InvalidFormat\";\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n return \"Must be a valid IBAN number\";\n }\n\n /**\n */\n get parameters(): { ... } {\n return {};\n }\n\n /**\n */\n validate(value: string): any {\n return IBAN.isValid(value);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default IBANConstraint;\n"],"mappings":";;;;;;;;;;;;;AACA;;AAIA;AACA;IACMA,c;;;;;;;;IACJ;AACF;IACE,eAAiB;MACf,OAAO,+BAAP;IACD;IAED;AACF;;;;WACE,yBAAyB;MACvB,OAAO,IAAP;IACD;IAED;AACF;;;;SACE,eAA6B;MAC3B,OAAO,6BAAP;IACD;IAED;AACF;;;;SACE,eAA0B;MACxB,OAAO,EAAP;IACD;IAED;AACF;;;;WACE,kBAASC,KAAT,EAA6B;MAC3B,OAAOC,aAAA,CAAKC,OAAL,CAAaF,KAAb,CAAP;IACD;IAED;AACF;;;;SACE,eAAqC;MACnC,OAAO,KAAP;IACD;;;;;eAGYD,c"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberBoundaryConstraint.js","names":["INEXACT_NUMBER_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","NumberBoundaryConstraint","minNumber","maxNumber","groupingSeparator","decimalSeparator","format","_format","_groupingSeparator","_decimalSeparator","_minNumber","_maxNumber","id","value","parsedNumber","isNaN","isSameOrAboveMinNumber","isSameOrBelowMaxNumber","isExactNumber","isBetweenNumbers"],"sources":["../../../../src/models/attributes/input-constraints/NumberBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport formatValue from \"../../../utils/number/formatValue\";\nimport { parseToNumber } from \"../../../utils/number/parseNumbers\";\n\nimport type { IConstraintModel } from \"../../types\";\n\nconst INEXACT_NUMBER_ID = \"Constraint.Number.InexactNumber\";\nconst OUT_OF_RANGE_ID = \"Constraint.Number.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Number.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Number.AboveMaximum\";\n\n/**\n */\nclass NumberBoundaryConstraint implements IConstraintModel {\n _minNumber: ?number;\n _maxNumber: ?number;\n _groupingSeparator: string = \",\";\n _decimalSeparator: string = \".\";\n _format: string = \"\";\n\n /**\n */\n constructor(\n minNumber: ?number = null,\n maxNumber: ?number = null,\n groupingSeparator: string,\n decimalSeparator: string,\n format: string | null\n ) {\n this._format = format ?? \"\";\n this._groupingSeparator = groupingSeparator;\n this._decimalSeparator = decimalSeparator;\n this._minNumber = minNumber;\n this._maxNumber = maxNumber;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minNumber !== null &&\n this.maxNumber !== null &&\n this.minNumber === this.maxNumber\n ) {\n return INEXACT_NUMBER_ID;\n } else if (this.minNumber !== null && this.maxNumber !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minNumber !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxNumber !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Number.NoBoundaryConstraint\";\n }\n\n /**\n */\n get minNumber(): ?number {\n return this._minNumber;\n }\n\n /**\n */\n get maxNumber(): ?number {\n return this._maxNumber;\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get groupingSeparator(): string {\n return this._groupingSeparator;\n }\n\n /**\n */\n get decimalSeparator(): string {\n return this._decimalSeparator;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_NUMBER_ID:\n return \"Number must be precisely ${min-number}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-number} and ${max-number}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"The number must be larger than ${min-number}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"The number must be smaller than ${max-number}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): {\n \"max-number\": null | string,\n \"min-number\": null | string,\n } {\n return {\n \"min-number\":\n this.minNumber === null\n ? null\n : formatValue(\n this.minNumber,\n this.format,\n this.groupingSeparator,\n this.decimalSeparator\n ),\n \"max-number\":\n this.maxNumber === null\n ? null\n : formatValue(\n this.maxNumber,\n this.format,\n this.groupingSeparator,\n this.decimalSeparator\n ),\n };\n }\n\n /**\n */\n isExactNumber(value: string): boolean {\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n return parsedNumber === this.minNumber;\n }\n\n /**\n */\n isSameOrAboveMinNumber(value: string): boolean {\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n\n if (isNaN(parsedNumber) || parsedNumber == null) {\n return false;\n }\n\n return this.minNumber != null && parsedNumber >= this.minNumber;\n }\n\n /**\n */\n isSameOrBelowMaxNumber(value: string): boolean {\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n\n if (isNaN(parsedNumber) || parsedNumber == null) {\n return false;\n }\n\n return this.maxNumber != null && parsedNumber <= this.maxNumber;\n }\n\n /**\n */\n isBetweenNumbers(value: string): boolean {\n return (\n this.isSameOrAboveMinNumber(value) && this.isSameOrBelowMaxNumber(value)\n );\n }\n\n /**\n */\n validate(value: string): boolean {\n switch (this.id) {\n case INEXACT_NUMBER_ID:\n return this.isExactNumber(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenNumbers(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAboveMinNumber(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBelowMaxNumber(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default NumberBoundaryConstraint;\n"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AAIA,IAAMA,iBAAiB,GAAG,iCAA1B;AACA,IAAMC,eAAe,GAAG,8BAAxB;AACA,IAAMC,gBAAgB,GAAG,gCAAzB;AACA,IAAMC,gBAAgB,GAAG,gCAAzB;AAEA;AACA;;IACMC,wB;EAOJ;AACF;EACE,oCAME;IAAA,IALAC,SAKA,uEALqB,IAKrB;IAAA,IAJAC,SAIA,uEAJqB,IAIrB;IAAA,IAHAC,iBAGA;IAAA,IAFAC,gBAEA;IAAA,IADAC,MACA;IAAA;IAAA;IAAA;IAAA,0DAZ2B,GAY3B;IAAA,yDAX0B,GAW1B;IAAA,+CAVgB,EAUhB;IACA,KAAKC,OAAL,GAAeD,MAAf,aAAeA,MAAf,cAAeA,MAAf,GAAyB,EAAzB;IACA,KAAKE,kBAAL,GAA0BJ,iBAA1B;IACA,KAAKK,iBAAL,GAAyBJ,gBAAzB;IACA,KAAKK,UAAL,GAAkBR,SAAlB;IACA,KAAKS,UAAL,GAAkBR,SAAlB;EACD;EAED;AACF;;;;;SACE,eAAiB;MACf,IACE,KAAKD,SAAL,KAAmB,IAAnB,IACA,KAAKC,SAAL,KAAmB,IADnB,IAEA,KAAKD,SAAL,KAAmB,KAAKC,SAH1B,EAIE;QACA,OAAON,iBAAP;MACD,CAND,MAMO,IAAI,KAAKK,SAAL,KAAmB,IAAnB,IAA2B,KAAKC,SAAL,KAAmB,IAAlD,EAAwD;QAC7D,OAAOL,eAAP;MACD,CAFM,MAEA,IAAI,KAAKI,SAAL,KAAmB,IAAvB,EAA6B;QAClC,OAAOH,gBAAP;MACD,CAFM,MAEA,IAAI,KAAKI,SAAL,KAAmB,IAAvB,EAA6B;QAClC,OAAOH,gBAAP;MACD;;MAED,OAAO,wCAAP;IACD;IAED;AACF;;;;SACE,eAAyB;MACvB,OAAO,KAAKU,UAAZ;IACD;IAED;AACF;;;;SACE,eAAyB;MACvB,OAAO,KAAKC,UAAZ;IACD;IAED;AACF;;;;SACE,eAAqB;MACnB,OAAO,KAAKJ,OAAZ;IACD;IAED;AACF;;;;SACE,eAAgC;MAC9B,OAAO,KAAKC,kBAAZ;IACD;IAED;AACF;;;;SACE,eAA+B;MAC7B,OAAO,KAAKC,iBAAZ;IACD;IAED;AACF;;;;WACE,yBAAyB;MACvB,OAAO,IAAP;IACD;IAED;AACF;;;;SACE,eAA6B;MAC3B,QAAQ,KAAKG,EAAb;QACE,KAAKf,iBAAL;UACE,OAAO,wCAAP;QAAiD;;QACnD,KAAKC,eAAL;UACE,OAAO,iDAAP;QAA0D;;QAC5D,KAAKC,gBAAL;UACE,OAAO,8CAAP;QAAuD;;QACzD,KAAKC,gBAAL;UACE,OAAO,+CAAP;QAAwD;;QAC1D;UACE,OAAO,EAAP;MAVJ;IAYD;IAED;AACF;;;;SACE,eAGE;MACA,OAAO;QACL,cACE,KAAKE,SAAL,KAAmB,IAAnB,GACI,IADJ,GAEI,
|
|
1
|
+
{"version":3,"file":"NumberBoundaryConstraint.js","names":["INEXACT_NUMBER_ID","OUT_OF_RANGE_ID","BELOW_MINIMUM_ID","ABOVE_MAXIMUM_ID","NumberBoundaryConstraint","minNumber","maxNumber","groupingSeparator","decimalSeparator","format","_format","_groupingSeparator","_decimalSeparator","_minNumber","_maxNumber","id","formatValue","value","parsedNumber","parseToNumber","isNaN","isSameOrAboveMinNumber","isSameOrBelowMaxNumber","isExactNumber","isBetweenNumbers"],"sources":["../../../../src/models/attributes/input-constraints/NumberBoundaryConstraint.js"],"sourcesContent":["// @flow\nimport formatValue from \"../../../utils/number/formatValue\";\nimport { parseToNumber } from \"../../../utils/number/parseNumbers\";\n\nimport type { IConstraintModel } from \"../../types\";\n\nconst INEXACT_NUMBER_ID = \"Constraint.Number.InexactNumber\";\nconst OUT_OF_RANGE_ID = \"Constraint.Number.OutOfRange\";\nconst BELOW_MINIMUM_ID = \"Constraint.Number.BelowMinimum\";\nconst ABOVE_MAXIMUM_ID = \"Constraint.Number.AboveMaximum\";\n\n/**\n */\nclass NumberBoundaryConstraint implements IConstraintModel {\n _minNumber: ?number;\n _maxNumber: ?number;\n _groupingSeparator: string = \",\";\n _decimalSeparator: string = \".\";\n _format: string = \"\";\n\n /**\n */\n constructor(\n minNumber: ?number = null,\n maxNumber: ?number = null,\n groupingSeparator: string,\n decimalSeparator: string,\n format: string | null\n ) {\n this._format = format ?? \"\";\n this._groupingSeparator = groupingSeparator;\n this._decimalSeparator = decimalSeparator;\n this._minNumber = minNumber;\n this._maxNumber = maxNumber;\n }\n\n /**\n */\n get id(): string {\n if (\n this.minNumber !== null &&\n this.maxNumber !== null &&\n this.minNumber === this.maxNumber\n ) {\n return INEXACT_NUMBER_ID;\n } else if (this.minNumber !== null && this.maxNumber !== null) {\n return OUT_OF_RANGE_ID;\n } else if (this.minNumber !== null) {\n return BELOW_MINIMUM_ID;\n } else if (this.maxNumber !== null) {\n return ABOVE_MAXIMUM_ID;\n }\n\n return \"Constraint.Number.NoBoundaryConstraint\";\n }\n\n /**\n */\n get minNumber(): ?number {\n return this._minNumber;\n }\n\n /**\n */\n get maxNumber(): ?number {\n return this._maxNumber;\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get groupingSeparator(): string {\n return this._groupingSeparator;\n }\n\n /**\n */\n get decimalSeparator(): string {\n return this._decimalSeparator;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n switch (this.id) {\n case INEXACT_NUMBER_ID:\n return \"Number must be precisely ${min-number}\"; // NOSONAR\n case OUT_OF_RANGE_ID:\n return \"Must be between ${min-number} and ${max-number}\"; // NOSONAR\n case BELOW_MINIMUM_ID:\n return \"The number must be larger than ${min-number}\"; // NOSONAR\n case ABOVE_MAXIMUM_ID:\n return \"The number must be smaller than ${max-number}\"; // NOSONAR\n default:\n return \"\";\n }\n }\n\n /**\n */\n get parameters(): {\n \"max-number\": null | string,\n \"min-number\": null | string,\n } {\n return {\n \"min-number\":\n this.minNumber === null\n ? null\n : formatValue(\n this.minNumber,\n this.format,\n this.groupingSeparator,\n this.decimalSeparator\n ),\n \"max-number\":\n this.maxNumber === null\n ? null\n : formatValue(\n this.maxNumber,\n this.format,\n this.groupingSeparator,\n this.decimalSeparator\n ),\n };\n }\n\n /**\n */\n isExactNumber(value: string): boolean {\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n return parsedNumber === this.minNumber;\n }\n\n /**\n */\n isSameOrAboveMinNumber(value: string): boolean {\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n\n if (isNaN(parsedNumber) || parsedNumber == null) {\n return false;\n }\n\n return this.minNumber != null && parsedNumber >= this.minNumber;\n }\n\n /**\n */\n isSameOrBelowMaxNumber(value: string): boolean {\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n\n if (isNaN(parsedNumber) || parsedNumber == null) {\n return false;\n }\n\n return this.maxNumber != null && parsedNumber <= this.maxNumber;\n }\n\n /**\n */\n isBetweenNumbers(value: string): boolean {\n return (\n this.isSameOrAboveMinNumber(value) && this.isSameOrBelowMaxNumber(value)\n );\n }\n\n /**\n */\n validate(value: string): boolean {\n switch (this.id) {\n case INEXACT_NUMBER_ID:\n return this.isExactNumber(value);\n case OUT_OF_RANGE_ID:\n return this.isBetweenNumbers(value);\n case BELOW_MINIMUM_ID:\n return this.isSameOrAboveMinNumber(value);\n case ABOVE_MAXIMUM_ID:\n return this.isSameOrBelowMaxNumber(value);\n default:\n return true;\n }\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default NumberBoundaryConstraint;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberFormatConstraint.js","names":["INVALID_INTEGER_ID","NumberFormatConstraint","groupingSeparator","decimalSeparator","format","_decimalSeparator","_groupingSeparator","_format","maxDigits","DecimalFormat","maxFrac","id","value","Math","floor","stringValue","split","length","isNaN","numberOfDigits","getNumberOfDigits","parseFloat","isFinite","toString","parsedNumber","isInteger","isValidDecimal"],"sources":["../../../../src/models/attributes/input-constraints/NumberFormatConstraint.js"],"sourcesContent":["// @flow\nimport DecimalFormat from \"../../../utils/number/DecimalFormat\";\nimport {\n parseNumberToString,\n parseToNumber,\n} from \"../../../utils/number/parseNumbers\";\n\nimport type { IConstraintModel } from \"../../types\";\n\nconst INVALID_INTEGER_ID = \"Constraint.Number.InvalidInteger\";\n\n/**\n */\nclass NumberFormatConstraint implements IConstraintModel {\n _decimalSeparator: string = \",\";\n _groupingSeparator: string = \".\";\n _format: string = \"0\";\n\n /**\n */\n constructor(\n groupingSeparator: string,\n decimalSeparator: string,\n format: string | null\n ) {\n this._decimalSeparator = decimalSeparator;\n this._groupingSeparator = groupingSeparator;\n this._format = format ?? \"0\";\n }\n\n /**\n */\n get id(): string {\n if (this.maxDigits === 0) {\n return INVALID_INTEGER_ID;\n }\n\n return \"Constraint.Number.InvalidDecimal\";\n }\n\n /**\n */\n get decimalSeparator(): string {\n return this._decimalSeparator;\n }\n\n /**\n */\n get groupingSeparator(): string {\n return this._groupingSeparator;\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get maxDigits(): number {\n return this.format ? new DecimalFormat(this.format).maxFrac : 0;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n if (this.id === INVALID_INTEGER_ID) {\n return \"Must be a whole number\";\n }\n\n return \"The value is not correct numeric format\";\n }\n\n /**\n */\n get parameters(): { \"max-digits\": number } {\n return {\n \"max-digits\": this.maxDigits,\n };\n }\n\n /**\n */\n isInteger(value: number): boolean {\n return Number.isInteger(value);\n }\n\n /**\n */\n getNumberOfDigits(value: number): number {\n if (Math.floor(value) === value) {\n return 0;\n }\n\n const stringValue = parseNumberToString(value);\n return stringValue.split(\".\")[1].length;\n }\n\n /**\n */\n isValidDecimal(value: number): boolean {\n if (isNaN(value)) {\n return false;\n }\n\n const numberOfDigits = this.getNumberOfDigits(value);\n\n return (\n !isNaN(parseFloat(value)) &&\n isFinite(value) &&\n numberOfDigits <= this.maxDigits\n );\n }\n\n /**\n */\n validate(value: string | number): boolean {\n if (\n this.maxDigits === 0 &&\n this.decimalSeparator !== \"\" &&\n value.toString().includes(this.decimalSeparator)\n ) {\n return false;\n }\n\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n\n if (this.id === INVALID_INTEGER_ID) {\n return this.isInteger(parsedNumber);\n }\n\n return this.isValidDecimal(parsedNumber);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default NumberFormatConstraint;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;;AACA;;AAOA,IAAMA,kBAAkB,GAAG,kCAA3B;AAEA;AACA;;IACMC,sB;EAKJ;AACF;EACE,gCACEC,iBADF,EAEEC,gBAFF,EAGEC,MAHF,EAIE;IAAA;IAAA,yDAV0B,GAU1B;IAAA,0DAT2B,GAS3B;IAAA,+CARgB,GAQhB;IACA,KAAKC,iBAAL,GAAyBF,gBAAzB;IACA,KAAKG,kBAAL,GAA0BJ,iBAA1B;IACA,KAAKK,OAAL,GAAeH,MAAf,aAAeA,MAAf,cAAeA,MAAf,GAAyB,GAAzB;EACD;EAED;AACF;;;;;SACE,eAAiB;MACf,IAAI,KAAKI,SAAL,KAAmB,CAAvB,EAA0B;QACxB,OAAOR,kBAAP;MACD;;MAED,OAAO,kCAAP;IACD;IAED;AACF;;;;SACE,eAA+B;MAC7B,OAAO,KAAKK,iBAAZ;IACD;IAED;AACF;;;;SACE,eAAgC;MAC9B,OAAO,KAAKC,kBAAZ;IACD;IAED;AACF;;;;SACE,eAAqB;MACnB,OAAO,KAAKC,OAAZ;IACD;IAED;AACF;;;;SACE,eAAwB;MACtB,OAAO,KAAKH,MAAL,GAAc,IAAIK,sBAAJ,CAAkB,KAAKL,MAAvB,EAA+BM,OAA7C,GAAuD,CAA9D;IACD;IAED;AACF;;;;WACE,yBAAyB;MACvB,OAAO,IAAP;IACD;IAED;AACF;;;;SACE,eAA6B;MAC3B,IAAI,KAAKC,EAAL,KAAYX,kBAAhB,EAAoC;QAClC,OAAO,wBAAP;MACD;;MAED,OAAO,yCAAP;IACD;IAED;AACF;;;;SACE,eAA2C;MACzC,OAAO;QACL,cAAc,KAAKQ;MADd,CAAP;IAGD;IAED;AACF;;;;WACE,mBAAUI,KAAV,EAAkC;MAChC,OAAO,wBAAiBA,KAAjB,CAAP;IACD;IAED;AACF;;;;WACE,2BAAkBA,KAAlB,EAAyC;MACvC,IAAIC,IAAI,CAACC,KAAL,CAAWF,KAAX,MAAsBA,KAA1B,EAAiC;QAC/B,OAAO,CAAP;MACD;;MAED,IAAMG,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"NumberFormatConstraint.js","names":["INVALID_INTEGER_ID","NumberFormatConstraint","groupingSeparator","decimalSeparator","format","_decimalSeparator","_groupingSeparator","_format","maxDigits","DecimalFormat","maxFrac","id","value","Math","floor","stringValue","parseNumberToString","split","length","isNaN","numberOfDigits","getNumberOfDigits","parseFloat","isFinite","toString","parsedNumber","parseToNumber","isInteger","isValidDecimal"],"sources":["../../../../src/models/attributes/input-constraints/NumberFormatConstraint.js"],"sourcesContent":["// @flow\nimport DecimalFormat from \"../../../utils/number/DecimalFormat\";\nimport {\n parseNumberToString,\n parseToNumber,\n} from \"../../../utils/number/parseNumbers\";\n\nimport type { IConstraintModel } from \"../../types\";\n\nconst INVALID_INTEGER_ID = \"Constraint.Number.InvalidInteger\";\n\n/**\n */\nclass NumberFormatConstraint implements IConstraintModel {\n _decimalSeparator: string = \",\";\n _groupingSeparator: string = \".\";\n _format: string = \"0\";\n\n /**\n */\n constructor(\n groupingSeparator: string,\n decimalSeparator: string,\n format: string | null\n ) {\n this._decimalSeparator = decimalSeparator;\n this._groupingSeparator = groupingSeparator;\n this._format = format ?? \"0\";\n }\n\n /**\n */\n get id(): string {\n if (this.maxDigits === 0) {\n return INVALID_INTEGER_ID;\n }\n\n return \"Constraint.Number.InvalidDecimal\";\n }\n\n /**\n */\n get decimalSeparator(): string {\n return this._decimalSeparator;\n }\n\n /**\n */\n get groupingSeparator(): string {\n return this._groupingSeparator;\n }\n\n /**\n */\n get format(): string {\n return this._format;\n }\n\n /**\n */\n get maxDigits(): number {\n return this.format ? new DecimalFormat(this.format).maxFrac : 0;\n }\n\n /**\n */\n hasValidation(): boolean {\n return true;\n }\n\n /**\n */\n get defaultMessage(): string {\n if (this.id === INVALID_INTEGER_ID) {\n return \"Must be a whole number\";\n }\n\n return \"The value is not correct numeric format\";\n }\n\n /**\n */\n get parameters(): { \"max-digits\": number } {\n return {\n \"max-digits\": this.maxDigits,\n };\n }\n\n /**\n */\n isInteger(value: number): boolean {\n return Number.isInteger(value);\n }\n\n /**\n */\n getNumberOfDigits(value: number): number {\n if (Math.floor(value) === value) {\n return 0;\n }\n\n const stringValue = parseNumberToString(value);\n return stringValue.split(\".\")[1].length;\n }\n\n /**\n */\n isValidDecimal(value: number): boolean {\n if (isNaN(value)) {\n return false;\n }\n\n const numberOfDigits = this.getNumberOfDigits(value);\n\n return (\n !isNaN(parseFloat(value)) &&\n isFinite(value) &&\n numberOfDigits <= this.maxDigits\n );\n }\n\n /**\n */\n validate(value: string | number): boolean {\n if (\n this.maxDigits === 0 &&\n this.decimalSeparator !== \"\" &&\n value.toString().includes(this.decimalSeparator)\n ) {\n return false;\n }\n\n const parsedNumber = parseToNumber(\n value,\n this.groupingSeparator,\n this.decimalSeparator\n );\n\n if (this.id === INVALID_INTEGER_ID) {\n return this.isInteger(parsedNumber);\n }\n\n return this.isValidDecimal(parsedNumber);\n }\n\n /**\n */\n get isMandatoryConstraint(): boolean {\n return false;\n }\n}\n\nexport default NumberFormatConstraint;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;;AACA;;AAOA,IAAMA,kBAAkB,GAAG,kCAA3B;AAEA;AACA;;IACMC,sB;EAKJ;AACF;EACE,gCACEC,iBADF,EAEEC,gBAFF,EAGEC,MAHF,EAIE;IAAA;IAAA,yDAV0B,GAU1B;IAAA,0DAT2B,GAS3B;IAAA,+CARgB,GAQhB;IACA,KAAKC,iBAAL,GAAyBF,gBAAzB;IACA,KAAKG,kBAAL,GAA0BJ,iBAA1B;IACA,KAAKK,OAAL,GAAeH,MAAf,aAAeA,MAAf,cAAeA,MAAf,GAAyB,GAAzB;EACD;EAED;AACF;;;;;SACE,eAAiB;MACf,IAAI,KAAKI,SAAL,KAAmB,CAAvB,EAA0B;QACxB,OAAOR,kBAAP;MACD;;MAED,OAAO,kCAAP;IACD;IAED;AACF;;;;SACE,eAA+B;MAC7B,OAAO,KAAKK,iBAAZ;IACD;IAED;AACF;;;;SACE,eAAgC;MAC9B,OAAO,KAAKC,kBAAZ;IACD;IAED;AACF;;;;SACE,eAAqB;MACnB,OAAO,KAAKC,OAAZ;IACD;IAED;AACF;;;;SACE,eAAwB;MACtB,OAAO,KAAKH,MAAL,GAAc,IAAIK,sBAAJ,CAAkB,KAAKL,MAAvB,EAA+BM,OAA7C,GAAuD,CAA9D;IACD;IAED;AACF;;;;WACE,yBAAyB;MACvB,OAAO,IAAP;IACD;IAED;AACF;;;;SACE,eAA6B;MAC3B,IAAI,KAAKC,EAAL,KAAYX,kBAAhB,EAAoC;QAClC,OAAO,wBAAP;MACD;;MAED,OAAO,yCAAP;IACD;IAED;AACF;;;;SACE,eAA2C;MACzC,OAAO;QACL,cAAc,KAAKQ;MADd,CAAP;IAGD;IAED;AACF;;;;WACE,mBAAUI,KAAV,EAAkC;MAChC,OAAO,wBAAiBA,KAAjB,CAAP;IACD;IAED;AACF;;;;WACE,2BAAkBA,KAAlB,EAAyC;MACvC,IAAIC,IAAI,CAACC,KAAL,CAAWF,KAAX,MAAsBA,KAA1B,EAAiC;QAC/B,OAAO,CAAP;MACD;;MAED,IAAMG,WAAW,GAAG,IAAAC,iCAAA,EAAoBJ,KAApB,CAApB;MACA,OAAOG,WAAW,CAACE,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,EAA0BC,MAAjC;IACD;IAED;AACF;;;;WACE,wBAAeN,KAAf,EAAuC;MACrC,IAAIO,KAAK,CAACP,KAAD,CAAT,EAAkB;QAChB,OAAO,KAAP;MACD;;MAED,IAAMQ,cAAc,GAAG,KAAKC,iBAAL,CAAuBT,KAAvB,CAAvB;MAEA,OACE,CAACO,KAAK,CAACG,UAAU,CAACV,KAAD,CAAX,CAAN,IACAW,QAAQ,CAACX,KAAD,CADR,IAEAQ,cAAc,IAAI,KAAKZ,SAHzB;IAKD;IAED;AACF;;;;WACE,kBAASI,KAAT,EAA0C;MAAA;;MACxC,IACE,KAAKJ,SAAL,KAAmB,CAAnB,IACA,KAAKL,gBAAL,KAA0B,EAD1B,IAEA,kCAAAS,KAAK,CAACY,QAAN,mBAA0B,KAAKrB,gBAA/B,CAHF,EAIE;QACA,OAAO,KAAP;MACD;;MAED,IAAMsB,YAAY,GAAG,IAAAC,2BAAA,EACnBd,KADmB,EAEnB,KAAKV,iBAFc,EAGnB,KAAKC,gBAHc,CAArB;;MAMA,IAAI,KAAKQ,EAAL,KAAYX,kBAAhB,EAAoC;QAClC,OAAO,KAAK2B,SAAL,CAAeF,YAAf,CAAP;MACD;;MAED,OAAO,KAAKG,cAAL,CAAoBH,YAApB,CAAP;IACD;IAED;AACF;;;;SACE,eAAqC;MACnC,OAAO,KAAP;IACD;;;;;eAGYxB,sB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseCollection.js","names":["BaseCollection","initCollection","collection","_collection","items","all","Array","isArray","itemIndex","length","hasItems","index","callbackfn","thisArg","some","every","forEach","compareFn","deepcopy"],"sources":["../../../src/models/base/BaseCollection.js"],"sourcesContent":["// @flow\nimport clone from \"lodash/clone\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\n/**\n * Base class for collections of models\n */\nclass BaseCollection<T> {\n _collection: Array<T>;\n\n /**\n * Construct base collection\n */\n constructor(initCollection: Array<T> = []) {\n this.collection = initCollection;\n }\n\n /**\n * Retrieve current collection\n */\n get collection(): Array<T> {\n return this._collection;\n }\n\n /**\n * Replace current collection with a new collection\n */\n set collection(collection: Array<T>) {\n this._collection = collection;\n }\n\n /**\n * Add an other collection, array of items or single item to this collection;\n */\n add(items: BaseCollection<T> | Array<T> | T): BaseCollection<T> {\n if (items instanceof BaseCollection) {\n this.collection = [...this.collection, ...items.all];\n } else if (Array.isArray(items)) {\n // $FlowExpectedError[incompatible-type]\n this.collection = [...this.collection, ...items];\n } else {\n this.collection = [...this.collection, items];\n }\n\n return this;\n }\n\n /**\n * Remove an item from the collection by it's index.\n */\n removeByIndex(itemIndex: number) {\n if (itemIndex > -1) {\n this.collection = [\n ...this.collection.slice(0, itemIndex),\n ...this.collection.slice(itemIndex + 1),\n ];\n }\n }\n\n /**\n * Indicates if the collection has items\n */\n get hasItems(): boolean {\n return this.length > 0;\n }\n\n /**\n * Indicates if collection is empty\n */\n get isEmpty(): boolean {\n return !this.hasItems;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<T> {\n return this.collection;\n }\n\n /**\n * Get the size of this collection\n */\n get size(): number {\n return this.length;\n }\n\n /**\n * Get the size of this collection\n */\n get length(): number {\n return this.collection.length;\n }\n\n /**\n * Return first link in collection\n */\n get first(): T | null {\n return this.collection[0] ?? null;\n }\n\n /**\n */\n get last(): T | null {\n return this.collection[this.collection.length - 1] ?? null;\n }\n\n /**\n */\n get(index: number): T | null {\n return this.collection[index] ?? null;\n }\n\n /**\n * Find item\n */\n find(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): T | null {\n return this.collection.find(callbackfn, thisArg) ?? null;\n }\n\n /**\n * Filter items\n */\n filter(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): Array<T> {\n return this.collection.filter(callbackfn, thisArg);\n }\n\n /**\n * Check if at least one item occurs\n */\n some(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): boolean {\n return this.collection.some(callbackfn, thisArg);\n }\n\n /**\n */\n every(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): boolean {\n return this.collection.every(callbackfn, thisArg);\n }\n\n /**\n */\n map<U>(\n callbackfn: (value: T, index: number, array: Array<T>) => U,\n thisArg?: T\n ): Array<U> {\n return this.collection.map<U, ?T>(callbackfn, thisArg);\n }\n\n /**\n */\n forEach(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ) {\n this.collection.forEach(callbackfn, thisArg);\n }\n\n /**\n */\n sort(compareFn?: (a: T, b: T) => number): Array<T> {\n return this.collection.sort(compareFn);\n }\n\n /**\n * Retrieve an alphabetically sorted array of items\n */\n get sorted(): Array<T> {\n return this.collection.sort();\n }\n\n /**\n * Returns a clone of the model (this is not a deep copy)\n */\n clone(deepcopy: boolean = false): this {\n // deepcopy can be expensive, use with care!\n if (deepcopy) {\n return cloneDeep(this);\n }\n\n return clone(this);\n }\n}\n\nexport default BaseCollection;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BaseCollection.js","names":["BaseCollection","initCollection","collection","_collection","items","all","Array","isArray","itemIndex","length","hasItems","index","callbackfn","thisArg","some","every","forEach","compareFn","deepcopy","cloneDeep","clone"],"sources":["../../../src/models/base/BaseCollection.js"],"sourcesContent":["// @flow\nimport clone from \"lodash/clone\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\n/**\n * Base class for collections of models\n */\nclass BaseCollection<T> {\n _collection: Array<T>;\n\n /**\n * Construct base collection\n */\n constructor(initCollection: Array<T> = []) {\n this.collection = initCollection;\n }\n\n /**\n * Retrieve current collection\n */\n get collection(): Array<T> {\n return this._collection;\n }\n\n /**\n * Replace current collection with a new collection\n */\n set collection(collection: Array<T>) {\n this._collection = collection;\n }\n\n /**\n * Add an other collection, array of items or single item to this collection;\n */\n add(items: BaseCollection<T> | Array<T> | T): BaseCollection<T> {\n if (items instanceof BaseCollection) {\n this.collection = [...this.collection, ...items.all];\n } else if (Array.isArray(items)) {\n // $FlowExpectedError[incompatible-type]\n this.collection = [...this.collection, ...items];\n } else {\n this.collection = [...this.collection, items];\n }\n\n return this;\n }\n\n /**\n * Remove an item from the collection by it's index.\n */\n removeByIndex(itemIndex: number) {\n if (itemIndex > -1) {\n this.collection = [\n ...this.collection.slice(0, itemIndex),\n ...this.collection.slice(itemIndex + 1),\n ];\n }\n }\n\n /**\n * Indicates if the collection has items\n */\n get hasItems(): boolean {\n return this.length > 0;\n }\n\n /**\n * Indicates if collection is empty\n */\n get isEmpty(): boolean {\n return !this.hasItems;\n }\n\n /**\n * Retrieve all items in collection\n */\n get all(): Array<T> {\n return this.collection;\n }\n\n /**\n * Get the size of this collection\n */\n get size(): number {\n return this.length;\n }\n\n /**\n * Get the size of this collection\n */\n get length(): number {\n return this.collection.length;\n }\n\n /**\n * Return first link in collection\n */\n get first(): T | null {\n return this.collection[0] ?? null;\n }\n\n /**\n */\n get last(): T | null {\n return this.collection[this.collection.length - 1] ?? null;\n }\n\n /**\n */\n get(index: number): T | null {\n return this.collection[index] ?? null;\n }\n\n /**\n * Find item\n */\n find(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): T | null {\n return this.collection.find(callbackfn, thisArg) ?? null;\n }\n\n /**\n * Filter items\n */\n filter(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): Array<T> {\n return this.collection.filter(callbackfn, thisArg);\n }\n\n /**\n * Check if at least one item occurs\n */\n some(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): boolean {\n return this.collection.some(callbackfn, thisArg);\n }\n\n /**\n */\n every(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ): boolean {\n return this.collection.every(callbackfn, thisArg);\n }\n\n /**\n */\n map<U>(\n callbackfn: (value: T, index: number, array: Array<T>) => U,\n thisArg?: T\n ): Array<U> {\n return this.collection.map<U, ?T>(callbackfn, thisArg);\n }\n\n /**\n */\n forEach(\n callbackfn: (value: T, index: number, array: Array<T>) => any,\n thisArg?: any\n ) {\n this.collection.forEach(callbackfn, thisArg);\n }\n\n /**\n */\n sort(compareFn?: (a: T, b: T) => number): Array<T> {\n return this.collection.sort(compareFn);\n }\n\n /**\n * Retrieve an alphabetically sorted array of items\n */\n get sorted(): Array<T> {\n return this.collection.sort();\n }\n\n /**\n * Returns a clone of the model (this is not a deep copy)\n */\n clone(deepcopy: boolean = false): this {\n // deepcopy can be expensive, use with care!\n if (deepcopy) {\n return cloneDeep(this);\n }\n\n return clone(this);\n }\n}\n\nexport default BaseCollection;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseModel.js","names":["BaseModel","data","contributions","_data","_contributions","_layouthint","LayoutHintCollection","getContribution","propName","defaultValue","layouthint","length","_connectKey","key","connectKey","deepcopy"],"sources":["../../../src/models/base/BaseModel.js"],"sourcesContent":["// @flow\nimport clone from \"lodash/clone\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\nexport type BaseDehydrateData = {\n +data: Object,\n +contributions: Object,\n connectKey: string,\n ...\n};\n\n/**\n * Base model\n */\nclass BaseModel {\n _data: Object;\n _contributions: Object;\n _layouthint: LayoutHintCollection;\n _connectKey: string;\n\n /**\n * constructor\n */\n constructor(data: Object, contributions: Object) {\n this._data = data;\n this._contributions = contributions;\n this._layouthint = new LayoutHintCollection(\n this.getContribution(\"layouthint\", [])\n );\n }\n\n /**\n * Retrieve data\n */\n get data(): Object {\n return this._data || {};\n }\n\n /**\n */\n getData(propName: string, defaultValue: any = null): any {\n return this.data[propName] ?? defaultValue;\n }\n\n /**\n * Retrieve contributions\n */\n get contributions(): Object {\n return this._contributions || {};\n }\n\n /**\n */\n getContribution(propName: string, defaultValue: any = null): any {\n return this.contributions[propName] ?? defaultValue;\n }\n\n /**\n * Getting the layouthint\n */\n get layouthint(): LayoutHintCollection {\n return this._layouthint;\n }\n\n /**\n * Set the layouthint\n */\n set layouthint(layouthint: Array<string>) {\n this._layouthint = new LayoutHintCollection(layouthint);\n }\n\n /**\n * Indicates if the model has data\n */\n get hasData(): boolean {\n return Object.keys(this.data).length > 0;\n }\n\n /**\n */\n set connectKey(key: string) {\n this._connectKey = key;\n }\n\n /**\n */\n get connectKey(): string {\n return this._connectKey;\n }\n\n /**\n */\n dehydrate(): BaseDehydrateData {\n return {\n data: this._data,\n contributions: this._contributions,\n connectKey: this._connectKey,\n };\n }\n\n /**\n */\n rehydrate(data: Object) {\n this._connectKey = data.connectKey;\n }\n\n /**\n * Returns a clone of the model (this is not a deep copy)\n */\n clone(deepcopy: boolean = false): any {\n // deepcopy can be expensive, use with care!\n if (deepcopy) {\n return cloneDeep(this);\n }\n\n return clone(this);\n }\n}\n\nexport default BaseModel;\n"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AAEA;;AASA;AACA;AACA;IACMA,S;EAMJ;AACF;AACA;EACE,mBAAYC,IAAZ,EAA0BC,aAA1B,EAAiD;IAAA;IAAA;IAAA;IAAA;IAAA;IAC/C,KAAKC,KAAL,GAAaF,IAAb;IACA,KAAKG,cAAL,GAAsBF,aAAtB;IACA,KAAKG,WAAL,GAAmB,IAAIC,6BAAJ,CACjB,KAAKC,eAAL,CAAqB,YAArB,EAAmC,EAAnC,CADiB,CAAnB;EAGD;EAED;AACF;AACA;;;;;SACE,eAAmB;MACjB,OAAO,KAAKJ,KAAL,IAAc,EAArB;IACD;IAED;AACF;;;;WACE,iBAAQK,QAAR,EAAyD;MAAA;;MAAA,IAA/BC,YAA+B,uEAAX,IAAW;MACvD,8BAAO,KAAKR,IAAL,CAAUO,QAAV,CAAP,qEAA8BC,YAA9B;IACD;IAED;AACF;AACA;;;;SACE,eAA4B;MAC1B,OAAO,KAAKL,cAAL,IAAuB,EAA9B;IACD;IAED;AACF;;;;WACE,yBAAgBI,QAAhB,EAAiE;MAAA;;MAAA,IAA/BC,YAA+B,uEAAX,IAAW;MAC/D,gCAAO,KAAKP,aAAL,CAAmBM,QAAnB,CAAP,yEAAuCC,YAAvC;IACD;IAED;AACF;AACA;;;;SACE,eAAuC;MACrC,OAAO,KAAKJ,WAAZ;IACD;IAED;AACF;AACA;;SACE,aAAeK,UAAf,EAA0C;MACxC,KAAKL,WAAL,GAAmB,IAAIC,6BAAJ,CAAyBI,UAAzB,CAAnB;IACD;IAED;AACF;AACA;;;;SACE,eAAuB;MACrB,OAAO,mBAAY,KAAKT,IAAjB,EAAuBU,MAAvB,GAAgC,CAAvC;IACD;IAED;AACF;;;;;IAKE;AACF;IACE,eAAyB;MACvB,OAAO,KAAKC,WAAZ;IACD;IAED;AACF;;SAXE,aAAeC,GAAf,EAA4B;MAC1B,KAAKD,WAAL,GAAmBC,GAAnB;IACD;;;WAUD,qBAA+B;MAC7B,OAAO;QACLZ,IAAI,EAAE,KAAKE,KADN;QAELD,aAAa,EAAE,KAAKE,cAFf;QAGLU,UAAU,EAAE,KAAKF;MAHZ,CAAP;IAKD;IAED;AACF;;;;WACE,mBAAUX,IAAV,EAAwB;MACtB,KAAKW,WAAL,GAAmBX,IAAI,CAACa,UAAxB;IACD;IAED;AACF;AACA;;;;WACE,iBAAsC;MAAA,IAAhCC,QAAgC,uEAAZ,KAAY;;MACpC;MACA,IAAIA,QAAJ,EAAc;QACZ,OAAO,
|
|
1
|
+
{"version":3,"file":"BaseModel.js","names":["BaseModel","data","contributions","_data","_contributions","_layouthint","LayoutHintCollection","getContribution","propName","defaultValue","layouthint","length","_connectKey","key","connectKey","deepcopy","cloneDeep","clone"],"sources":["../../../src/models/base/BaseModel.js"],"sourcesContent":["// @flow\nimport clone from \"lodash/clone\";\nimport cloneDeep from \"lodash/cloneDeep\";\n\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\n\nexport type BaseDehydrateData = {\n +data: Object,\n +contributions: Object,\n connectKey: string,\n ...\n};\n\n/**\n * Base model\n */\nclass BaseModel {\n _data: Object;\n _contributions: Object;\n _layouthint: LayoutHintCollection;\n _connectKey: string;\n\n /**\n * constructor\n */\n constructor(data: Object, contributions: Object) {\n this._data = data;\n this._contributions = contributions;\n this._layouthint = new LayoutHintCollection(\n this.getContribution(\"layouthint\", [])\n );\n }\n\n /**\n * Retrieve data\n */\n get data(): Object {\n return this._data || {};\n }\n\n /**\n */\n getData(propName: string, defaultValue: any = null): any {\n return this.data[propName] ?? defaultValue;\n }\n\n /**\n * Retrieve contributions\n */\n get contributions(): Object {\n return this._contributions || {};\n }\n\n /**\n */\n getContribution(propName: string, defaultValue: any = null): any {\n return this.contributions[propName] ?? defaultValue;\n }\n\n /**\n * Getting the layouthint\n */\n get layouthint(): LayoutHintCollection {\n return this._layouthint;\n }\n\n /**\n * Set the layouthint\n */\n set layouthint(layouthint: Array<string>) {\n this._layouthint = new LayoutHintCollection(layouthint);\n }\n\n /**\n * Indicates if the model has data\n */\n get hasData(): boolean {\n return Object.keys(this.data).length > 0;\n }\n\n /**\n */\n set connectKey(key: string) {\n this._connectKey = key;\n }\n\n /**\n */\n get connectKey(): string {\n return this._connectKey;\n }\n\n /**\n */\n dehydrate(): BaseDehydrateData {\n return {\n data: this._data,\n contributions: this._contributions,\n connectKey: this._connectKey,\n };\n }\n\n /**\n */\n rehydrate(data: Object) {\n this._connectKey = data.connectKey;\n }\n\n /**\n * Returns a clone of the model (this is not a deep copy)\n */\n clone(deepcopy: boolean = false): any {\n // deepcopy can be expensive, use with care!\n if (deepcopy) {\n return cloneDeep(this);\n }\n\n return clone(this);\n }\n}\n\nexport default BaseModel;\n"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AAEA;;AASA;AACA;AACA;IACMA,S;EAMJ;AACF;AACA;EACE,mBAAYC,IAAZ,EAA0BC,aAA1B,EAAiD;IAAA;IAAA;IAAA;IAAA;IAAA;IAC/C,KAAKC,KAAL,GAAaF,IAAb;IACA,KAAKG,cAAL,GAAsBF,aAAtB;IACA,KAAKG,WAAL,GAAmB,IAAIC,6BAAJ,CACjB,KAAKC,eAAL,CAAqB,YAArB,EAAmC,EAAnC,CADiB,CAAnB;EAGD;EAED;AACF;AACA;;;;;SACE,eAAmB;MACjB,OAAO,KAAKJ,KAAL,IAAc,EAArB;IACD;IAED;AACF;;;;WACE,iBAAQK,QAAR,EAAyD;MAAA;;MAAA,IAA/BC,YAA+B,uEAAX,IAAW;MACvD,8BAAO,KAAKR,IAAL,CAAUO,QAAV,CAAP,qEAA8BC,YAA9B;IACD;IAED;AACF;AACA;;;;SACE,eAA4B;MAC1B,OAAO,KAAKL,cAAL,IAAuB,EAA9B;IACD;IAED;AACF;;;;WACE,yBAAgBI,QAAhB,EAAiE;MAAA;;MAAA,IAA/BC,YAA+B,uEAAX,IAAW;MAC/D,gCAAO,KAAKP,aAAL,CAAmBM,QAAnB,CAAP,yEAAuCC,YAAvC;IACD;IAED;AACF;AACA;;;;SACE,eAAuC;MACrC,OAAO,KAAKJ,WAAZ;IACD;IAED;AACF;AACA;;SACE,aAAeK,UAAf,EAA0C;MACxC,KAAKL,WAAL,GAAmB,IAAIC,6BAAJ,CAAyBI,UAAzB,CAAnB;IACD;IAED;AACF;AACA;;;;SACE,eAAuB;MACrB,OAAO,mBAAY,KAAKT,IAAjB,EAAuBU,MAAvB,GAAgC,CAAvC;IACD;IAED;AACF;;;;;IAKE;AACF;IACE,eAAyB;MACvB,OAAO,KAAKC,WAAZ;IACD;IAED;AACF;;SAXE,aAAeC,GAAf,EAA4B;MAC1B,KAAKD,WAAL,GAAmBC,GAAnB;IACD;;;WAUD,qBAA+B;MAC7B,OAAO;QACLZ,IAAI,EAAE,KAAKE,KADN;QAELD,aAAa,EAAE,KAAKE,cAFf;QAGLU,UAAU,EAAE,KAAKF;MAHZ,CAAP;IAKD;IAED;AACF;;;;WACE,mBAAUX,IAAV,EAAwB;MACtB,KAAKW,WAAL,GAAmBX,IAAI,CAACa,UAAxB;IACD;IAED;AACF;AACA;;;;WACE,iBAAsC;MAAA,IAAhCC,QAAgC,uEAAZ,KAAY;;MACpC;MACA,IAAIA,QAAJ,EAAc;QACZ,OAAO,IAAAC,kBAAA,EAAU,IAAV,CAAP;MACD;;MAED,OAAO,IAAAC,eAAA,EAAM,IAAN,CAAP;IACD;;;;;eAGYjB,S"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CaseViewModel.js","names":["CaseViewModel","caseviewData","createTaskGroupCollection","links","getLinksByGroup","all","models","taskGroupModels","i","length","TaskGroupModel","push","taskGroupCollection","add","attributeCollection","getAttributeByLayoutHint","TITLE","casename","value","getContribution","introtext","data","_content","text","message","contributions","Array","isArray","texts","selfLink","getLinkByKey","IllegalStateException","Href","href","allTaskgroupData","getData","allTaskgroupContributions","taskgroup","some","taskgroupContribution","name","taskgroupContributions","create","_taskGroupCollection","taskgroups","TaskGroupCollection","hasItems","resourcetype","DetailModel"],"sources":["../../../src/models/caseview/CaseViewModel.js"],"sourcesContent":["// @flow\nimport DetailModel from \"../detail/DetailModel\";\nimport Href from \"../href/Href\";\nimport TaskGroupCollection from \"../taskgroup/TaskGroupCollection\";\nimport TaskGroupModel from \"../taskgroup/TaskGroupModel\";\n\nimport { TITLE } from \"../../constants/LayoutHints\";\n\nimport IllegalStateException from \"../../exceptions/IllegalStateException\";\n\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Model containing the details of one case.\n */\nexport default class CaseViewModel extends DetailModel {\n _taskGroupCollection: TaskGroupCollection;\n\n /**\n */\n constructor(caseviewData: ModularUIResponse) {\n super(caseviewData);\n\n this.createTaskGroupCollection();\n }\n\n /**\n */\n get type(): string {\n return \"CaseView\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"CaseView\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.links.getLinksByGroup(\"taskgroup\").all;\n }\n\n /**\n * Getting panel links\n */\n get panelLinks(): LinkCollection {\n return this.links.getLinksByGroup(\"panel\");\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n super.setChildModels(models);\n\n const taskGroupModels = [];\n for (let i = 0; i < models.length; i++) {\n if (models[i] instanceof TaskGroupModel) {\n taskGroupModels.push(models[i]);\n }\n }\n\n this.taskGroupCollection.add(taskGroupModels);\n }\n\n /**\n * Getting the case name\n */\n get casename(): ?AttributeType {\n return this.attributeCollection.getAttributeByLayoutHint(TITLE);\n }\n\n /**\n * Retrieve the case label, this can be configured with a case property with the layout hint 'title'\n */\n get label(): string {\n return this.casename ? this.casename.value : \"\";\n }\n\n /**\n * Retrieve the label that was configured on the caseview\n */\n get viewLabel(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Check if an introtext exists for this caseview\n */\n hasIntroText(): boolean {\n return this.introtext !== \"\";\n }\n\n /**\n * Getting the introduction text configured on the case view\n */\n get introtext(): string {\n if (this.data._content) {\n return this.data._content.text.message;\n }\n\n if (this.contributions.text) {\n return this.contributions.text.message ?? this.contributions.text;\n }\n\n if (Array.isArray(this.contributions.texts)) {\n return this.contributions.texts[0].text;\n }\n\n return \"\";\n }\n\n /**\n * Getting the self href\n */\n get selfhref(): Href {\n const selfLink = this.links.getLinkByKey(\"self\");\n\n if (selfLink === null) {\n throw new IllegalStateException(\"No self href available\");\n }\n\n return new Href(selfLink.href);\n }\n\n /**\n */\n createTaskGroupCollection() {\n const allTaskgroupData = this.getData(\"taskgroups\", []);\n const allTaskgroupContributions = this.getContribution(\"taskgroups\", []);\n\n this.taskGroupCollection = allTaskgroupData\n .filter((taskgroup) =>\n allTaskgroupContributions.some(\n (taskgroupContribution) =>\n taskgroupContribution.name === taskgroup.name\n )\n )\n .map((taskgroup) => {\n const taskgroupContributions = allTaskgroupContributions.find(\n (taskgroupContribution) =>\n taskgroupContribution.name === taskgroup.name\n );\n\n return TaskGroupModel.create(\n taskgroup.name,\n taskgroup,\n taskgroupContributions\n );\n });\n }\n\n /**\n * Setting the taskgroup panel collection\n */\n set taskGroupCollection(taskgroups: Array<TaskGroupModel>) {\n this._taskGroupCollection = new TaskGroupCollection(taskgroups);\n }\n\n /**\n * Getting the taskgrouppanels on the tab\n */\n get taskGroupCollection(): TaskGroupCollection {\n return this._taskGroupCollection;\n }\n\n /**\n * Has taskgroups\n */\n hasTaskGroups(): boolean {\n return this.taskGroupCollection && this.taskGroupCollection.hasItems;\n }\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CaseViewModel.js","names":["CaseViewModel","caseviewData","createTaskGroupCollection","links","getLinksByGroup","all","models","taskGroupModels","i","length","TaskGroupModel","push","taskGroupCollection","add","attributeCollection","getAttributeByLayoutHint","TITLE","casename","value","getContribution","introtext","data","_content","text","message","contributions","Array","isArray","texts","selfLink","getLinkByKey","IllegalStateException","Href","href","allTaskgroupData","getData","allTaskgroupContributions","taskgroup","some","taskgroupContribution","name","taskgroupContributions","create","_taskGroupCollection","taskgroups","TaskGroupCollection","hasItems","resourcetype","DetailModel"],"sources":["../../../src/models/caseview/CaseViewModel.js"],"sourcesContent":["// @flow\nimport DetailModel from \"../detail/DetailModel\";\nimport Href from \"../href/Href\";\nimport TaskGroupCollection from \"../taskgroup/TaskGroupCollection\";\nimport TaskGroupModel from \"../taskgroup/TaskGroupModel\";\n\nimport { TITLE } from \"../../constants/LayoutHints\";\n\nimport IllegalStateException from \"../../exceptions/IllegalStateException\";\n\nimport type { ModularUIModel, AttributeType } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkCollection from \"../links/LinkCollection\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Model containing the details of one case.\n */\nexport default class CaseViewModel extends DetailModel {\n _taskGroupCollection: TaskGroupCollection;\n\n /**\n */\n constructor(caseviewData: ModularUIResponse) {\n super(caseviewData);\n\n this.createTaskGroupCollection();\n }\n\n /**\n */\n get type(): string {\n return \"CaseView\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"CaseView\"\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n return this.links.getLinksByGroup(\"taskgroup\").all;\n }\n\n /**\n * Getting panel links\n */\n get panelLinks(): LinkCollection {\n return this.links.getLinksByGroup(\"panel\");\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n super.setChildModels(models);\n\n const taskGroupModels = [];\n for (let i = 0; i < models.length; i++) {\n if (models[i] instanceof TaskGroupModel) {\n taskGroupModels.push(models[i]);\n }\n }\n\n this.taskGroupCollection.add(taskGroupModels);\n }\n\n /**\n * Getting the case name\n */\n get casename(): ?AttributeType {\n return this.attributeCollection.getAttributeByLayoutHint(TITLE);\n }\n\n /**\n * Retrieve the case label, this can be configured with a case property with the layout hint 'title'\n */\n get label(): string {\n return this.casename ? this.casename.value : \"\";\n }\n\n /**\n * Retrieve the label that was configured on the caseview\n */\n get viewLabel(): string {\n return this.getContribution(\"label\", \"\");\n }\n\n /**\n * Check if an introtext exists for this caseview\n */\n hasIntroText(): boolean {\n return this.introtext !== \"\";\n }\n\n /**\n * Getting the introduction text configured on the case view\n */\n get introtext(): string {\n if (this.data._content) {\n return this.data._content.text.message;\n }\n\n if (this.contributions.text) {\n return this.contributions.text.message ?? this.contributions.text;\n }\n\n if (Array.isArray(this.contributions.texts)) {\n return this.contributions.texts[0].text;\n }\n\n return \"\";\n }\n\n /**\n * Getting the self href\n */\n get selfhref(): Href {\n const selfLink = this.links.getLinkByKey(\"self\");\n\n if (selfLink === null) {\n throw new IllegalStateException(\"No self href available\");\n }\n\n return new Href(selfLink.href);\n }\n\n /**\n */\n createTaskGroupCollection() {\n const allTaskgroupData = this.getData(\"taskgroups\", []);\n const allTaskgroupContributions = this.getContribution(\"taskgroups\", []);\n\n this.taskGroupCollection = allTaskgroupData\n .filter((taskgroup) =>\n allTaskgroupContributions.some(\n (taskgroupContribution) =>\n taskgroupContribution.name === taskgroup.name\n )\n )\n .map((taskgroup) => {\n const taskgroupContributions = allTaskgroupContributions.find(\n (taskgroupContribution) =>\n taskgroupContribution.name === taskgroup.name\n );\n\n return TaskGroupModel.create(\n taskgroup.name,\n taskgroup,\n taskgroupContributions\n );\n });\n }\n\n /**\n * Setting the taskgroup panel collection\n */\n set taskGroupCollection(taskgroups: Array<TaskGroupModel>) {\n this._taskGroupCollection = new TaskGroupCollection(taskgroups);\n }\n\n /**\n * Getting the taskgrouppanels on the tab\n */\n get taskGroupCollection(): TaskGroupCollection {\n return this._taskGroupCollection;\n }\n\n /**\n * Has taskgroups\n */\n hasTaskGroups(): boolean {\n return this.taskGroupCollection && this.taskGroupCollection.hasItems;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BusinessScenarioModel.js","names":["BusinessScenarioModel","childModelLinks","scenarioStepLinks","relationsCollection","all","relation","direction","isOfConceptType","concept","concepttypeHref","path","asLinkModel","length","push","models","conceptTypeModel","model","ConceptTypeDetailModel","conceptType","setChildModels","scenarioSteps","i","ConceptDetailModel","selfhref","_scenarioSteps","actors","forEach","scenarioStep","relationsToActor","newRelationToActor","some","actor","key","data","_links","concepttype","href","conceptTypeHref","settingName","pathToKmt","conceptTypeSettings","STEP","PERSONA","SCENARIO","Array","isArray","conceptTypeSetting"],"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"sourcesContent":["// @flow\nimport ConceptDetailModel from \"./ConceptDetailModel\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ConceptLinkModel from \"./ConceptLinkModel\";\n\n/**\n */\nclass BusinessScenarioModel extends ConceptDetailModel {\n _scenarioSteps: Array<ConceptDetailModel>;\n\n /**\n */\n get type(): string {\n return \"BusinessScenario\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return BusinessScenarioModel.isOfConceptType(\n data?.data?._links?.concepttype?.href,\n \"SCENARIO\"\n );\n }\n\n /**\n */\n static isOfConceptType(\n conceptTypeHref: ?string,\n settingName: \"STEP\" | \"PERSONA\" | \"SCENARIO\"\n ): boolean {\n if (!conceptTypeHref) {\n return false;\n }\n\n const pathToKmt = \"/Library/KMTs/Business scenarios.bixml\";\n\n const conceptTypeSettings = {\n STEP: getSetting(\"BUSINESS_SCENARIO_STEP_CONCEPT_TYPE\", [\n `${pathToKmt}/ScenarioStep`,\n ]),\n PERSONA: getSetting(\"BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE\", [\n `${pathToKmt}/Persona`,\n ]),\n SCENARIO: getSetting(\"BUSINESS_SCENARIO_CONCEPT_TYPE\", [\n `${pathToKmt}/BusinessScenario`,\n ]),\n };\n\n return (\n Array.isArray(conceptTypeSettings[settingName]) &&\n conceptTypeSettings[settingName].some((conceptTypeSetting) =>\n conceptTypeHref.endsWith(conceptTypeSetting)\n )\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const childModelLinks = super.getInitialChildModelLinks();\n\n const scenarioStepLinks = this.relationsCollection.all\n .filter(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n \"STEP\"\n )\n )\n .map((relation) => relation.concept.asLinkModel());\n\n if (scenarioStepLinks.length > 0) {\n childModelLinks.push(...scenarioStepLinks);\n }\n\n return childModelLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\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);\n\n const scenarioSteps = [];\n for (let i = 0; i < models.length; i++) {\n const model = models[i];\n\n if (\n model instanceof ConceptDetailModel &&\n BusinessScenarioModel.isOfConceptType(\n model.conceptType?.selfhref.path,\n \"STEP\"\n )\n ) {\n scenarioSteps.push(model);\n }\n }\n\n this.scenarioSteps = scenarioSteps;\n }\n\n /**\n */\n set scenarioSteps(models: Array<ConceptDetailModel>) {\n this._scenarioSteps = models;\n }\n\n /**\n */\n get scenarioSteps(): Array<ConceptDetailModel> {\n return this._scenarioSteps;\n }\n\n /**\n */\n get actors(): Array<ConceptLinkModel> {\n const actors = [];\n\n this.scenarioSteps.forEach((scenarioStep) => {\n const relationsToActor = scenarioStep.relationsCollection.find(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n \"PERSONA\"\n )\n );\n\n const newRelationToActor =\n relationsToActor &&\n !actors.some((actor) => actor.key === relationsToActor.concept.key);\n\n if (relationsToActor && newRelationToActor) {\n actors.push(relationsToActor.concept);\n }\n });\n\n return actors;\n }\n}\n\nexport default BusinessScenarioModel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;;;;;AAOA;AACA;IACMA,qB;;;;;;;;;;;;;;;;;;;;;;;;IAGJ;AACF;IACE,eAAmB;MACjB,OAAO,kBAAP;IACD;IAED;AACF;;;;;IAwCE;AACF;IACE,qCAA8C;MAAA;;MAC5C,IAAMC,eAAe,mIAArB;MAEA,IAAMC,iBAAiB,GAAG,oEAAKC,mBAAL,CAAyBC,GAAzB,kBAEtB,UAACC,QAAD;QAAA;;QAAA,OACEA,QAAQ,CAACC,SAAT,KAAuB,UAAvB,IACAN,qBAAqB,CAACO,eAAtB,0BACEF,QAAQ,CAACG,OAAT,CAAiBC,eADnB,0DACE,sBAAkCC,IADpC,EAEE,MAFF,CAFF;MAAA,CAFsB,mBASnB,UAACL,QAAD;QAAA,OAAcA,QAAQ,CAACG,OAAT,CAAiBG,WAAjB,EAAd;MAAA,CATmB,CAA1B;;MAWA,IAAIT,iBAAiB,CAACU,MAAlB,GAA2B,CAA/B,EAAkC;QAChCX,eAAe,CAACY,IAAhB,OAAAZ,eAAe,mCAASC,iBAAT,EAAf;MACD;;MAED,OAAOD,eAAP;IACD;IAED;AACF;;;;WACE,wBAAea,MAAf,EAA8C;MAC5C;MACA,IAAMC,gBAAyC,GAAG,mBAAAD,MAAM,MAAN,CAAAA,MAAM,EACtD,UAACE,KAAD;QAAA,OAAWA,KAAK,YAAYC,+BAA5B;MAAA,CADsD,CAAxD;;MAIA,IAAIF,gBAAJ,EAAsB;QACpB,KAAKG,WAAL,GAAmBH,gBAAnB;MACD;;MAED,KAAKZ,mBAAL,CAAyBgB,cAAzB,CAAwCL,MAAxC;MAEA,IAAMM,aAAa,GAAG,EAAtB;;MACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,MAAM,CAACF,MAA3B,EAAmCS,CAAC,EAApC,EAAwC;QAAA;;QACtC,IAAML,KAAK,GAAGF,MAAM,CAACO,CAAD,CAApB;;QAEA,IACEL,KAAK,YAAYM,4BAAjB,IACAtB,qBAAqB,CAACO,eAAtB,uBACES,KAAK,CAACE,WADR,uDACE,mBAAmBK,QAAnB,CAA4Bb,IAD9B,EAEE,MAFF,CAFF,EAME;UACAU,aAAa,CAACP,IAAd,CAAmBG,KAAnB;QACD;MACF;;MAED,KAAKI,aAAL,GAAqBA,aAArB;IACD;IAED;AACF;;;;;IAKE;AACF;IACE,eAA+C;MAC7C,OAAO,KAAKI,cAAZ;IACD;IAED;AACF;;SAXE,aAAkBV,MAAlB,EAAqD;MACnD,KAAKU,cAAL,GAAsBV,MAAtB;IACD;;;SAUD,eAAsC;MACpC,IAAMW,MAAM,GAAG,EAAf;MAEA,KAAKL,aAAL,CAAmBM,OAAnB,CAA2B,UAACC,YAAD,EAAkB;QAAA;;QAC3C,IAAMC,gBAAgB,GAAG,+BAAAD,YAAY,CAACxB,mBAAb,kBACvB,UAACE,QAAD;UAAA;;UAAA,OACEA,QAAQ,CAACC,SAAT,KAAuB,UAAvB,IACAN,qBAAqB,CAACO,eAAtB,2BACEF,QAAQ,CAACG,OAAT,CAAiBC,eADnB,2DACE,uBAAkCC,IADpC,EAEE,SAFF,CAFF;QAAA,CADuB,CAAzB;QASA,IAAMmB,kBAAkB,GACtBD,gBAAgB,IAChB,CAACH,MAAM,CAACK,IAAP,CAAY,UAACC,KAAD;UAAA,OAAWA,KAAK,CAACC,GAAN,KAAcJ,gBAAgB,CAACpB,OAAjB,CAAyBwB,GAAlD;QAAA,CAAZ,CAFH;;QAIA,IAAIJ,gBAAgB,IAAIC,kBAAxB,EAA4C;UAC1CJ,MAAM,CAACZ,IAAP,CAAYe,gBAAgB,CAACpB,OAA7B;QACD;MACF,CAjBD;MAmBA,OAAOiB,MAAP;IACD;;;WAnID,2BAAyBQ,IAAzB,EAA2D;MAAA;;MACzD,OAAOjC,qBAAqB,CAACO,eAAtB,CACL0B,IADK,aACLA,IADK,qCACLA,IAAI,CAAEA,IADD,oEACL,WAAYC,MADP,+EACL,kBAAoBC,WADf,0DACL,sBAAiCC,IAD5B,EAEL,UAFK,CAAP;IAID;IAED;AACF;;;;WACE,yBACEC,eADF,EAEEC,WAFF,EAGW;MACT,IAAI,CAACD,eAAL,EAAsB;QACpB,OAAO,KAAP;MACD;;MAED,IAAME,SAAS,GAAG,wCAAlB;MAEA,IAAMC,mBAAmB,GAAG;QAC1BC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"BusinessScenarioModel.js","names":["BusinessScenarioModel","childModelLinks","scenarioStepLinks","relationsCollection","all","relation","direction","isOfConceptType","concept","concepttypeHref","path","asLinkModel","length","push","models","conceptTypeModel","model","ConceptTypeDetailModel","conceptType","setChildModels","scenarioSteps","i","ConceptDetailModel","selfhref","_scenarioSteps","actors","forEach","scenarioStep","relationsToActor","newRelationToActor","some","actor","key","data","_links","concepttype","href","conceptTypeHref","settingName","pathToKmt","conceptTypeSettings","STEP","getSetting","PERSONA","SCENARIO","Array","isArray","conceptTypeSetting"],"sources":["../../../src/models/concepts/BusinessScenarioModel.js"],"sourcesContent":["// @flow\nimport ConceptDetailModel from \"./ConceptDetailModel\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\nimport { getSetting } from \"../../constants/Settings\";\n\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\nimport type ConceptLinkModel from \"./ConceptLinkModel\";\n\n/**\n */\nclass BusinessScenarioModel extends ConceptDetailModel {\n _scenarioSteps: Array<ConceptDetailModel>;\n\n /**\n */\n get type(): string {\n return \"BusinessScenario\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n return BusinessScenarioModel.isOfConceptType(\n data?.data?._links?.concepttype?.href,\n \"SCENARIO\"\n );\n }\n\n /**\n */\n static isOfConceptType(\n conceptTypeHref: ?string,\n settingName: \"STEP\" | \"PERSONA\" | \"SCENARIO\"\n ): boolean {\n if (!conceptTypeHref) {\n return false;\n }\n\n const pathToKmt = \"/Library/KMTs/Business scenarios.bixml\";\n\n const conceptTypeSettings = {\n STEP: getSetting(\"BUSINESS_SCENARIO_STEP_CONCEPT_TYPE\", [\n `${pathToKmt}/ScenarioStep`,\n ]),\n PERSONA: getSetting(\"BUSINESS_SCENARIO_PERSONA_CONCEPT_TYPE\", [\n `${pathToKmt}/Persona`,\n ]),\n SCENARIO: getSetting(\"BUSINESS_SCENARIO_CONCEPT_TYPE\", [\n `${pathToKmt}/BusinessScenario`,\n ]),\n };\n\n return (\n Array.isArray(conceptTypeSettings[settingName]) &&\n conceptTypeSettings[settingName].some((conceptTypeSetting) =>\n conceptTypeHref.endsWith(conceptTypeSetting)\n )\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n const childModelLinks = super.getInitialChildModelLinks();\n\n const scenarioStepLinks = this.relationsCollection.all\n .filter(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n \"STEP\"\n )\n )\n .map((relation) => relation.concept.asLinkModel());\n\n if (scenarioStepLinks.length > 0) {\n childModelLinks.push(...scenarioStepLinks);\n }\n\n return childModelLinks;\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\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);\n\n const scenarioSteps = [];\n for (let i = 0; i < models.length; i++) {\n const model = models[i];\n\n if (\n model instanceof ConceptDetailModel &&\n BusinessScenarioModel.isOfConceptType(\n model.conceptType?.selfhref.path,\n \"STEP\"\n )\n ) {\n scenarioSteps.push(model);\n }\n }\n\n this.scenarioSteps = scenarioSteps;\n }\n\n /**\n */\n set scenarioSteps(models: Array<ConceptDetailModel>) {\n this._scenarioSteps = models;\n }\n\n /**\n */\n get scenarioSteps(): Array<ConceptDetailModel> {\n return this._scenarioSteps;\n }\n\n /**\n */\n get actors(): Array<ConceptLinkModel> {\n const actors = [];\n\n this.scenarioSteps.forEach((scenarioStep) => {\n const relationsToActor = scenarioStep.relationsCollection.find(\n (relation) =>\n relation.direction === \"outgoing\" &&\n BusinessScenarioModel.isOfConceptType(\n relation.concept.concepttypeHref?.path,\n \"PERSONA\"\n )\n );\n\n const newRelationToActor =\n relationsToActor &&\n !actors.some((actor) => actor.key === relationsToActor.concept.key);\n\n if (relationsToActor && newRelationToActor) {\n actors.push(relationsToActor.concept);\n }\n });\n\n return actors;\n }\n}\n\nexport default BusinessScenarioModel;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConceptDetailModel.js","names":["ConceptDetailModel","modularuiResponse","_relations","ConceptRelationCollection","data","relations","entryDate","conceptTypeLink","links","getLinkByKey","relationsCollectionLinks","relationsCollection","getInitialChildModelLinks","isCacheable","models","conceptTypeModel","model","ConceptTypeDetailModel","conceptType","setChildModels","getData","href","selflink","setParameter","TIMEVERSION_FILTER_NAME","removeParameter","_conceptType","conceptLabel","formula","labelTypes","labelType","setting","labels","label","type","_id","ids","propertyTypes","propertyType","properties","property","conceptProperties","textFragments","textFragment","textFragmentConfig","textFragmentTypes","textFragmentType","notConfiguredTextFragments","some","textfragment","keys","textfragments","availableLocales","_sourceReferences","SourceReferenceCollection","getSourceReferencesForCurrentLanguage","LANGUAGE_POSTFIX_LENGTH","sourceReferences","availableLanguagesInSourceReferences","sourceReference","substring","length","currentLanguagePostfix","locale","availableLanguages","split","value","contributions","resourcetype","ResourceModel"],"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\";\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 );\n }\n\n /**\n */\n get type(): string {\n return \"ConceptDetail\";\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>) {\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);\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 * 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 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 this._sourceReferences = new SourceReferenceCollection(\n this.getSourceReferencesForCurrentLanguage(availableLocales),\n this.entryDate\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 entrydate of content toc\n */\n get entryDate(): string | null {\n return this.data.filter?.[TIMEVERSION_FILTER_NAME]?.value ?? null;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConceptDetailModel.js","names":["ConceptDetailModel","modularuiResponse","_relations","ConceptRelationCollection","data","relations","entryDate","conceptTypeLink","links","getLinkByKey","relationsCollectionLinks","relationsCollection","getInitialChildModelLinks","isCacheable","models","conceptTypeModel","model","ConceptTypeDetailModel","conceptType","setChildModels","getData","href","selflink","setParameter","TIMEVERSION_FILTER_NAME","removeParameter","_conceptType","conceptLabel","formula","labelTypes","labelType","setting","labels","label","type","_id","ids","propertyTypes","propertyType","properties","property","conceptProperties","textFragments","textFragment","textFragmentConfig","textFragmentTypes","textFragmentType","notConfiguredTextFragments","some","textfragment","keys","textfragments","availableLocales","_sourceReferences","SourceReferenceCollection","getSourceReferencesForCurrentLanguage","LANGUAGE_POSTFIX_LENGTH","sourceReferences","availableLanguagesInSourceReferences","sourceReference","substring","length","currentLanguagePostfix","locale","availableLanguages","split","value","contributions","resourcetype","ResourceModel"],"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\";\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 );\n }\n\n /**\n */\n get type(): string {\n return \"ConceptDetail\";\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>) {\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);\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 * 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 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 this._sourceReferences = new SourceReferenceCollection(\n this.getSourceReferencesForCurrentLanguage(availableLocales),\n this.entryDate\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 entrydate of content toc\n */\n get entryDate(): string | null {\n return this.data.filter?.[TIMEVERSION_FILTER_NAME]?.value ?? null;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConceptLinkModel.js","names":["ConceptLinkModel","data","entryDate","_entryDate","conceptTypeLink","isCacheable","models","href","conceptTypeModel","model","selfhref","equalsWithParameters","type","conceptType","_conceptType","ConceptTypeDetailModel","_id","label","getData","_links","LinkCollection","Array","isArray","selflink","links","getLinkByKey","Error","key","addParameter","TIMEVERSION_FILTER_NAME","link","LinkModel","create","BaseModel"],"sources":["../../../src/models/concepts/ConceptLinkModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport LinkModel from \"../links/LinkModel\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { IModelWithChildModels, ModularUIModel } from \"../types\";\nimport type Href from \"../href/Href\";\n/**\n * Link to a concept\n */\nexport default class ConceptLinkModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _links: ?LinkCollection;\n _entryDate: ?ISO_DATE;\n _conceptType: ?ConceptTypeDetailModel;\n\n /**\n * Construct ConceptLinkModel\n */\n constructor(data: Object, entryDate: ?ISO_DATE = null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n if (this.conceptTypeLink) {\n this.conceptTypeLink.isCacheable = true;\n return [this.conceptTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (this.conceptTypeLink) {\n const href = this.conceptTypeLink.href;\n const conceptTypeModel = models.find((model) =>\n model.selfhref.equalsWithParameters(href)\n );\n\n if (conceptTypeModel?.type === \"ConceptTypeDetail\") {\n this.conceptType = conceptTypeModel;\n }\n }\n }\n\n /**\n * Retrieve concept type\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n * Set concept type\n */\n set conceptType(conceptType: ?ModularUIModel) {\n this._conceptType =\n conceptType instanceof ConceptTypeDetailModel ? conceptType : null;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this.data._id;\n }\n\n /**\n * Retrieve label\n */\n get label(): string {\n const label = this.getData(\"label\");\n\n if (label) {\n return label;\n }\n\n return this.getData(\"conceptLabel\", \"\");\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) ? this.data._links[0] : this.data._links\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\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 return selflink;\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 conceptTypeLink(): LinkModel | null {\n return this.links.getLinkByKey(\"concepttype\");\n }\n\n /**\n * Concept type href of concept\n */\n get concepttypeHref(): Href | null {\n return this.conceptTypeLink?.href ?? null;\n }\n\n /**\n */\n get taxonomyType(): string {\n return \"default\";\n }\n\n /**\n */\n asLinkModel(): LinkModel {\n const link = LinkModel.create(this.key, this.selfhref.href, this.label);\n link.href = this.selfhref;\n\n return link;\n }\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ConceptLinkModel.js","names":["ConceptLinkModel","data","entryDate","_entryDate","conceptTypeLink","isCacheable","models","href","conceptTypeModel","model","selfhref","equalsWithParameters","type","conceptType","_conceptType","ConceptTypeDetailModel","_id","label","getData","_links","LinkCollection","Array","isArray","selflink","links","getLinkByKey","Error","key","addParameter","TIMEVERSION_FILTER_NAME","link","LinkModel","create","BaseModel"],"sources":["../../../src/models/concepts/ConceptLinkModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport LinkModel from \"../links/LinkModel\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport ConceptTypeDetailModel from \"./ConceptTypeDetailModel\";\nimport { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { IModelWithChildModels, ModularUIModel } from \"../types\";\nimport type Href from \"../href/Href\";\n/**\n * Link to a concept\n */\nexport default class ConceptLinkModel\n extends BaseModel\n implements IModelWithChildModels\n{\n _links: ?LinkCollection;\n _entryDate: ?ISO_DATE;\n _conceptType: ?ConceptTypeDetailModel;\n\n /**\n * Construct ConceptLinkModel\n */\n constructor(data: Object, entryDate: ?ISO_DATE = null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n if (this.conceptTypeLink) {\n this.conceptTypeLink.isCacheable = true;\n return [this.conceptTypeLink];\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n if (this.conceptTypeLink) {\n const href = this.conceptTypeLink.href;\n const conceptTypeModel = models.find((model) =>\n model.selfhref.equalsWithParameters(href)\n );\n\n if (conceptTypeModel?.type === \"ConceptTypeDetail\") {\n this.conceptType = conceptTypeModel;\n }\n }\n }\n\n /**\n * Retrieve concept type\n */\n get conceptType(): ?ConceptTypeDetailModel {\n return this._conceptType;\n }\n\n /**\n * Set concept type\n */\n set conceptType(conceptType: ?ModularUIModel) {\n this._conceptType =\n conceptType instanceof ConceptTypeDetailModel ? conceptType : null;\n }\n\n /**\n * Retrieve key\n */\n get key(): string {\n return this.data._id;\n }\n\n /**\n * Retrieve label\n */\n get label(): string {\n const label = this.getData(\"label\");\n\n if (label) {\n return label;\n }\n\n return this.getData(\"conceptLabel\", \"\");\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) ? this.data._links[0] : this.data._links\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\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 return selflink;\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 conceptTypeLink(): LinkModel | null {\n return this.links.getLinkByKey(\"concepttype\");\n }\n\n /**\n * Concept type href of concept\n */\n get concepttypeHref(): Href | null {\n return this.conceptTypeLink?.href ?? null;\n }\n\n /**\n */\n get taxonomyType(): string {\n return \"default\";\n }\n\n /**\n */\n asLinkModel(): LinkModel {\n const link = LinkModel.create(this.key, this.selfhref.href, this.label);\n link.href = this.selfhref;\n\n return link;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceReferenceModel.js","names":["SourceReferenceModel","sourceReference","entryDate","_sourceReference","_entryDate","section","_links","self","href","replace","content","ContentLinkModel","Href","type","label","sourceLabel","selfhref"],"sources":["../../../src/models/concepts/SourceReferenceModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport ContentLinkModel from \"../content/ContentLinkModel\";\nimport Href from \"../href/Href\";\n\n/**\n */\nclass SourceReferenceModel {\n _sourceReference: Object;\n _entryDate: ?ISO_DATE;\n\n /**\n */\n constructor(sourceReference: Object, entryDate: ?ISO_DATE = null) {\n this._sourceReference = sourceReference;\n this._entryDate = entryDate;\n }\n\n /**\n */\n get link(): ContentLinkModel {\n const section = this._sourceReference._links.self.href.replace(\n `${this._sourceReference._links.content.href}/`,\n \"\"\n );\n\n return new ContentLinkModel(\n {\n ...this._sourceReference,\n section,\n },\n this._entryDate\n );\n }\n\n /**\n */\n get selfhref(): Href {\n return new Href(this._sourceReference._links.self.href);\n }\n\n /**\n */\n get type(): string {\n return this._sourceReference.type;\n }\n\n /**\n */\n get label(): string {\n return this._sourceReference.label;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this._sourceReference.sourceLabel;\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n}\n\nexport default SourceReferenceModel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;;;;;AAEA;AACA;IACMA,oB;EAIJ;AACF;EACE,8BAAYC,eAAZ,EAAkE;IAAA,IAA7BC,SAA6B,uEAAN,IAAM;IAAA;IAAA;IAAA;IAChE,KAAKC,gBAAL,GAAwBF,eAAxB;IACA,KAAKG,UAAL,GAAkBF,SAAlB;EACD;EAED;AACF;;;;;SACE,eAA6B;MAC3B,IAAMG,OAAO,GAAG,KAAKF,gBAAL,CAAsBG,MAAtB,CAA6BC,IAA7B,CAAkCC,IAAlC,CAAuCC,OAAvC,WACX,KAAKN,gBAAL,CAAsBG,MAAtB,CAA6BI,OAA7B,CAAqCF,IAD1B,QAEd,EAFc,CAAhB;;MAKA,OAAO,IAAIG,yBAAJ,iCAEA,KAAKR,gBAFL;QAGHE,OAAO,EAAPA;MAHG,IAKL,KAAKD,UALA,CAAP;IAOD;IAED;AACF;;;;SACE,eAAqB;MACnB,OAAO,IAAIQ,aAAJ,CAAS,KAAKT,gBAAL,CAAsBG,MAAtB,CAA6BC,IAA7B,CAAkCC,IAA3C,CAAP;IACD;IAED;AACF;;;;SACE,eAAmB;MACjB,OAAO,KAAKL,gBAAL,CAAsBU,IAA7B;IACD;IAED;AACF;;;;SACE,eAAoB;MAClB,OAAO,KAAKV,gBAAL,CAAsBW,KAA7B;IACD;IAED;AACF;;;;SACE,eAA0B;MACxB,OAAO,KAAKX,gBAAL,CAAsBY,WAA7B;IACD;IAED;AACF;;;;SACE,eAA4B;MAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"SourceReferenceModel.js","names":["SourceReferenceModel","sourceReference","entryDate","_sourceReference","_entryDate","section","_links","self","href","replace","content","ContentLinkModel","Href","type","label","sourceLabel","createHashFromHref","selfhref"],"sources":["../../../src/models/concepts/SourceReferenceModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport ContentLinkModel from \"../content/ContentLinkModel\";\nimport Href from \"../href/Href\";\n\n/**\n */\nclass SourceReferenceModel {\n _sourceReference: Object;\n _entryDate: ?ISO_DATE;\n\n /**\n */\n constructor(sourceReference: Object, entryDate: ?ISO_DATE = null) {\n this._sourceReference = sourceReference;\n this._entryDate = entryDate;\n }\n\n /**\n */\n get link(): ContentLinkModel {\n const section = this._sourceReference._links.self.href.replace(\n `${this._sourceReference._links.content.href}/`,\n \"\"\n );\n\n return new ContentLinkModel(\n {\n ...this._sourceReference,\n section,\n },\n this._entryDate\n );\n }\n\n /**\n */\n get selfhref(): Href {\n return new Href(this._sourceReference._links.self.href);\n }\n\n /**\n */\n get type(): string {\n return this._sourceReference.type;\n }\n\n /**\n */\n get label(): string {\n return this._sourceReference.label;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this._sourceReference.sourceLabel;\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n}\n\nexport default SourceReferenceModel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;;;;;AAEA;AACA;IACMA,oB;EAIJ;AACF;EACE,8BAAYC,eAAZ,EAAkE;IAAA,IAA7BC,SAA6B,uEAAN,IAAM;IAAA;IAAA;IAAA;IAChE,KAAKC,gBAAL,GAAwBF,eAAxB;IACA,KAAKG,UAAL,GAAkBF,SAAlB;EACD;EAED;AACF;;;;;SACE,eAA6B;MAC3B,IAAMG,OAAO,GAAG,KAAKF,gBAAL,CAAsBG,MAAtB,CAA6BC,IAA7B,CAAkCC,IAAlC,CAAuCC,OAAvC,WACX,KAAKN,gBAAL,CAAsBG,MAAtB,CAA6BI,OAA7B,CAAqCF,IAD1B,QAEd,EAFc,CAAhB;;MAKA,OAAO,IAAIG,yBAAJ,iCAEA,KAAKR,gBAFL;QAGHE,OAAO,EAAPA;MAHG,IAKL,KAAKD,UALA,CAAP;IAOD;IAED;AACF;;;;SACE,eAAqB;MACnB,OAAO,IAAIQ,aAAJ,CAAS,KAAKT,gBAAL,CAAsBG,MAAtB,CAA6BC,IAA7B,CAAkCC,IAA3C,CAAP;IACD;IAED;AACF;;;;SACE,eAAmB;MACjB,OAAO,KAAKL,gBAAL,CAAsBU,IAA7B;IACD;IAED;AACF;;;;SACE,eAAoB;MAClB,OAAO,KAAKV,gBAAL,CAAsBW,KAA7B;IACD;IAED;AACF;;;;SACE,eAA0B;MACxB,OAAO,KAAKX,gBAAL,CAAsBY,WAA7B;IACD;IAED;AACF;;;;SACE,eAA4B;MAC1B,OAAO,IAAAC,8BAAA,EAAmB,KAAKC,QAAxB,CAAP;IACD;;;;;eAGYjB,oB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentLinkModel.js","names":["ContentLinkModel","data","entryDate","_entryDate","contentTypeLink","isCacheable","models","href","contentTypeModel","model","selfhref","equalsWithParameters","type","contentType","_contentType","ContentTypeModel","getData","startURI","_links","self","Href","encodeURIComponent","substring","length","indexOf","section","substr","addParameter","TIMEVERSION_FILTER_NAME","LinkCollection","Array","isArray","selflink","links","getLinkByKey","Error","key","hash","_items","items","BaseModel"],"sources":["../../../src/models/content/ContentLinkModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\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\";\n\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport type { ModularUIModel, IModelWithChildModels } 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(data: Object, entryDate: ?ISO_DATE = null) {\n super(data, {});\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 * 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 startURI = \"/content/\";\n\n const selfhref = this.data._links.self.href;\n const href = has(this.data, \"section\")\n ? new Href(\n `${startURI}${encodeURIComponent(\n selfhref.substring(\n startURI.length,\n selfhref.indexOf(this.data.section) - 1\n )\n )}/${this.getData(\"section\")}`\n )\n : new Href(\n `${startURI}${encodeURIComponent(\n this.data._links.self.href.substr(startURI.length)\n )}`\n );\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) ? this.data._links[0] : this.data._links\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\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 return selflink;\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 * 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;AAIA;AACA;AACA;IACqBA,gB;;;;;EASnB;AACF;EACE,0BAAYC,IAAZ,EAAuD;IAAA;;IAAA,IAA7BC,SAA6B,uEAAN,IAAM;IAAA;IACrD,0BAAMD,IAAN,EAAY,EAAZ;IADqD;IAAA;IAAA,2FALf,IAKe;IAAA;IAGrD,MAAKE,UAAL,GAAkBD,SAAlB;IAHqD;EAItD;EAED;AACF;EACE;;;;;WACA,qCAA8C;MAC5C,IAAI,KAAKE,eAAT,EAA0B;QACxB,KAAKA,eAAL,CAAqBC,WAArB,GAAmC,IAAnC;QACA,OAAO,CAAC,KAAKD,eAAN,CAAP;MACD;;MAED,OAAO,EAAP;IACD;IAED;AACF;IACE;;;;WACA,wBAAeE,MAAf,EAA8C;MAC5C,IAAI,KAAKF,eAAT,EAA0B;QACxB,IAAMG,IAAI,GAAG,KAAKH,eAAL,CAAqBG,IAAlC;QACA,IAAMC,gBAAgB,GAAG,mBAAAF,MAAM,MAAN,CAAAA,MAAM,EAAM,UAACG,KAAD;UAAA,OACnCA,KAAK,CAACC,QAAN,CAAeC,oBAAf,CAAoCJ,IAApC,CADmC;QAAA,CAAN,CAA/B;;QAIA,IAAI,CAAAC,gBAAgB,SAAhB,IAAAA,gBAAgB,WAAhB,YAAAA,gBAAgB,CAAEI,IAAlB,MAA2B,aAA/B,EAA8C;UAC5C,KAAKC,WAAL,GAAmBL,gBAAnB;QACD;MACF;IACF;IAED;AACF;AACA;;;;SACE,eAA4C;MAC1C,OAAO,KAAKM,YAAZ;IACD;IAED;AACF;AACA;;SACE,aAAgBD,WAAhB,EAA8C;MAC5C,KAAKC,YAAL,GACED,WAAW,YAAYE,yBAAvB,GAA0CF,WAA1C,GAAwD,IAD1D;IAED;IAED;AACF;;;;SACE,aAAcX,SAAd,EAAmC;MACjC,KAAKC,UAAL,GAAkBD,SAAlB;IACD;IAED;AACF;AACA;;;;SACE,eAAkB;MAChB,OAAO,KAAKc,OAAL,CAAa,KAAb,EAAoB,EAApB,CAAP;IACD;IAED;AACF;AACA;;;;SACE,eAAoB;MAClB,OAAO,KAAKA,OAAL,CAAa,OAAb,EAAsB,EAAtB,CAAP;IACD;IAED;AACF;AACA;;;;SACE,eAAiC;MAC/B,OAAO,KAAKA,OAAL,CAAa,aAAb,CAAP;IACD;IAED;AACF;AACA;AACA;;;;SACE,eAAwB;MAAA;;MACtB,IAAMC,QAAQ,GAAG,WAAjB;MAEA,IAAMP,QAAQ,GAAG,KAAKT,IAAL,CAAUiB,MAAV,CAAiBC,IAAjB,CAAsBZ,IAAvC;MACA,IAAMA,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"ContentLinkModel.js","names":["ContentLinkModel","data","entryDate","_entryDate","contentTypeLink","isCacheable","models","href","contentTypeModel","model","selfhref","equalsWithParameters","type","contentType","_contentType","ContentTypeModel","getData","startURI","_links","self","has","Href","encodeURIComponent","substring","length","indexOf","section","substr","addParameter","TIMEVERSION_FILTER_NAME","LinkCollection","Array","isArray","selflink","links","getLinkByKey","Error","key","hash","_items","items","BaseModel"],"sources":["../../../src/models/content/ContentLinkModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\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\";\n\nimport LinkCollection from \"../links/LinkCollection\";\n\nimport type { ModularUIModel, IModelWithChildModels } 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(data: Object, entryDate: ?ISO_DATE = null) {\n super(data, {});\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 * 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 startURI = \"/content/\";\n\n const selfhref = this.data._links.self.href;\n const href = has(this.data, \"section\")\n ? new Href(\n `${startURI}${encodeURIComponent(\n selfhref.substring(\n startURI.length,\n selfhref.indexOf(this.data.section) - 1\n )\n )}/${this.getData(\"section\")}`\n )\n : new Href(\n `${startURI}${encodeURIComponent(\n this.data._links.self.href.substr(startURI.length)\n )}`\n );\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) ? this.data._links[0] : this.data._links\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel {\n const selflink = this.links.getLinkByKey(\"self\");\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 return selflink;\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 * 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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentTOCModel.js","names":["getItems","items","entryDate","item","link","ContentLinkModel","section","_id","ContentTOCModel","contentTypeLink","links","getLinkByKey","models","contentType","model","type","getData","href","Href","selflink","filterCollection","forEach","filter","params","param","value","setParameter","name","removeParameter","data","categories","category","_contentType","ContentTypeModel","_filterCollection","FilterCollection","contributions","key","timeversionFilter","getFilterByAttributeKey","TIMEVERSION_FILTER_NAME","attribute","resourcetype","ResourceModel"],"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 { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Get content items recursively\n */\nconst getItems = (items, entryDate): Array<ContentLinkModel> =>\n items.map((item) => {\n const link = new ContentLinkModel(\n {\n ...item,\n section: item._id,\n },\n entryDate\n );\n\n if (item.items) {\n link.items = getItems(item.items, entryDate);\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 isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ContentTOC\"\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 * Get content label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\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 */\n get selfContentLink(): ContentLinkModel {\n return new ContentLinkModel(this.data, this.entryDate);\n }\n\n /**\n * Get sub items of toc\n */\n get items(): Array<ContentLinkModel> {\n return this.data.items ? getItems(this.data.items, this.entryDate) : [];\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)\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(this.data.filter, {\n filter: this.contributions.filter.filter((filter) => {\n const [key] = Object.keys(filter);\n return has(this.data?.filter, key);\n }),\n });\n }\n\n return this._filterCollection;\n }\n\n /**\n * Retrieve entrydate 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"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ContentTOCModel.js","names":["getItems","items","entryDate","item","link","ContentLinkModel","section","_id","ContentTOCModel","contentTypeLink","links","getLinkByKey","models","contentType","model","type","getData","href","Href","selflink","filterCollection","forEach","filter","params","param","value","setParameter","name","removeParameter","data","categories","category","_contentType","ContentTypeModel","_filterCollection","FilterCollection","contributions","key","has","timeversionFilter","getFilterByAttributeKey","TIMEVERSION_FILTER_NAME","attribute","resourcetype","ResourceModel"],"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 { TIMEVERSION_FILTER_NAME } from \"../../constants/Constants\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type { ModularUIResponse } from \"../../modularui\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Get content items recursively\n */\nconst getItems = (items, entryDate): Array<ContentLinkModel> =>\n items.map((item) => {\n const link = new ContentLinkModel(\n {\n ...item,\n section: item._id,\n },\n entryDate\n );\n\n if (item.items) {\n link.items = getItems(item.items, entryDate);\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 isApplicableModel(data: ModularUIResponse): boolean {\n return (\n data.contributions.resourcetype &&\n data.contributions.resourcetype === \"ContentTOC\"\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 * Get content label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\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 */\n get selfContentLink(): ContentLinkModel {\n return new ContentLinkModel(this.data, this.entryDate);\n }\n\n /**\n * Get sub items of toc\n */\n get items(): Array<ContentLinkModel> {\n return this.data.items ? getItems(this.data.items, this.entryDate) : [];\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)\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(this.data.filter, {\n filter: this.contributions.filter.filter((filter) => {\n const [key] = Object.keys(filter);\n return has(this.data?.filter, key);\n }),\n });\n }\n\n return this._filterCollection;\n }\n\n /**\n * Retrieve entrydate 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"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionModel.js","names":["SectionModel","data","entryDate","_entryDate","referred","_selflink","LinkModel","_links","self","selflink","href","type","sourceLabel","id","_id","getData","number","body","childSections","childSection","ContentLinkModel","section","label","_childSections","sections","subSections","subSection","SubSectionModel","selfhref","push","referredChilds","getReferredSections","BaseModel"],"sources":["../../../src/models/content/SectionModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\nimport LinkModel from \"../links/LinkModel\";\n\nimport type Href from \"../href/Href\";\nimport { retrieveText } from \"../../utils\";\n\n/**\n */\nclass SectionModel extends BaseModel {\n _entryDate: ISO_DATE | null;\n _selflink: ?LinkModel;\n _childSections: Array<SectionModel>;\n\n constructor(data: Object, entryDate: ISO_DATE | null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get selflink(): LinkModel {\n if (!this._selflink) {\n this._selflink = new LinkModel(this.data._links?.self);\n }\n return this._selflink;\n }\n\n /**\n */\n get selfhref(): Href {\n return this.selflink.href;\n }\n\n /**\n */\n get entryDate(): ISO_DATE | null {\n return this._entryDate;\n }\n\n /**\n */\n get type(): string {\n return this.data.type;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this.data.sourceLabel;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n */\n get key(): string {\n return this.id;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return retrieveText(this.data.body);\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.data.childSections\n ? this.data.childSections.map(\n (childSection) =>\n new ContentLinkModel(\n {\n section: childSection.id || childSection._id,\n _id: childSection.id || childSection._id,\n label: childSection.label,\n sourceLabel: childSection.sourceLabel,\n _links: childSection._links,\n },\n this.entryDate\n )\n )\n : [];\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return new ContentLinkModel(\n {\n section: this.id,\n _id: this.id,\n label: this.data.label,\n sourceLabel: this.data.sourceLabel,\n _links: this.data._links,\n },\n this.entryDate\n );\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n if (!this._childSections && this.data.childSections) {\n this._childSections = this.data.childSections\n .filter((childSection) => \"body\" in childSection)\n .map((childSection) => new SectionModel(childSection, this.entryDate));\n }\n return this._childSections || [];\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this._childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection)\n )\n : [];\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel | SectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n for (const childSection of this.childSections) {\n if (childSection.referred) {\n sections.push(childSection);\n }\n\n const referredChilds = childSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n\nexport default SectionModel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAGA;;;;;;;;;;;;AAEA;AACA;IACMA,Y;;;;;EAKJ,sBAAYC,IAAZ,EAA0BC,SAA1B,EAAsD;IAAA;;IAAA;IACpD,0BAAMD,IAAN,EAAY,EAAZ;IADoD;IAAA;IAAA;IAGpD,MAAKE,UAAL,GAAkBD,SAAlB;IAHoD;EAIrD;EAED;AACF;;;;;SACE,eAAwB;MACtB,OAAO,KAAKD,IAAL,CAAUG,QAAjB;IACD;IAED;AACF;;;;SACE,eAA0B;MACxB,IAAI,CAAC,KAAKC,SAAV,EAAqB;QAAA;;QACnB,KAAKA,SAAL,GAAiB,IAAIC,kBAAJ,sBAAc,KAAKL,IAAL,CAAUM,MAAxB,sDAAc,kBAAkBC,IAAhC,CAAjB;MACD;;MACD,OAAO,KAAKH,SAAZ;IACD;IAED;AACF;;;;SACE,eAAqB;MACnB,OAAO,KAAKI,QAAL,CAAcC,IAArB;IACD;IAED;AACF;;;;SACE,eAAiC;MAC/B,OAAO,KAAKP,UAAZ;IACD;IAED;AACF;;;;SACE,eAAmB;MACjB,OAAO,KAAKF,IAAL,CAAUU,IAAjB;IACD;IAED;AACF;;;;SACE,eAA0B;MACxB,OAAO,KAAKV,IAAL,CAAUW,WAAjB;IACD;IAED;AACF;;;;SACE,eAAiB;MACf,OAAO,KAAKX,IAAL,CAAUY,EAAV,IAAgB,KAAKZ,IAAL,CAAUa,GAAjC;IACD;IAED;AACF;;;;SACE,eAAkB;MAChB,OAAO,KAAKD,EAAZ;IACD;IAED;AACF;AACA;;;;SACE,eAAoB;MAClB,OAAO,KAAKE,OAAL,CAAa,OAAb,EAAsB,EAAtB,CAAP;IACD;IAED;AACF;AACA;;;;SACE,eAA4B;MAAA;;MAC1B,4BAAO,KAAKd,IAAL,CAAUe,MAAjB,iEAA2B,IAA3B;IACD;IAED;AACF;AACA;;;;SACE,eAAoB;MAClB,OAAO,
|
|
1
|
+
{"version":3,"file":"SectionModel.js","names":["SectionModel","data","entryDate","_entryDate","referred","_selflink","LinkModel","_links","self","selflink","href","type","sourceLabel","id","_id","getData","number","retrieveText","body","childSections","childSection","ContentLinkModel","section","label","_childSections","sections","subSections","subSection","SubSectionModel","createHashFromHref","selfhref","push","referredChilds","getReferredSections","BaseModel"],"sources":["../../../src/models/content/SectionModel.js"],"sourcesContent":["// @flow\nimport BaseModel from \"../base/BaseModel\";\nimport ContentLinkModel from \"./ContentLinkModel\";\nimport SubSectionModel from \"./SubSectionModel\";\n\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\nimport LinkModel from \"../links/LinkModel\";\n\nimport type Href from \"../href/Href\";\nimport { retrieveText } from \"../../utils\";\n\n/**\n */\nclass SectionModel extends BaseModel {\n _entryDate: ISO_DATE | null;\n _selflink: ?LinkModel;\n _childSections: Array<SectionModel>;\n\n constructor(data: Object, entryDate: ISO_DATE | null) {\n super(data, {});\n\n this._entryDate = entryDate;\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get selflink(): LinkModel {\n if (!this._selflink) {\n this._selflink = new LinkModel(this.data._links?.self);\n }\n return this._selflink;\n }\n\n /**\n */\n get selfhref(): Href {\n return this.selflink.href;\n }\n\n /**\n */\n get entryDate(): ISO_DATE | null {\n return this._entryDate;\n }\n\n /**\n */\n get type(): string {\n return this.data.type;\n }\n\n /**\n */\n get sourceLabel(): string {\n return this.data.sourceLabel;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n */\n get key(): string {\n return this.id;\n }\n\n /**\n * Get content label\n */\n get label(): string {\n return this.getData(\"label\", \"\");\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Get content body\n */\n get body(): ?string {\n return retrieveText(this.data.body);\n }\n\n /**\n * Retrieve child section links\n */\n get childSectionLinks(): Array<ContentLinkModel> {\n return this.data.childSections\n ? this.data.childSections.map(\n (childSection) =>\n new ContentLinkModel(\n {\n section: childSection.id || childSection._id,\n _id: childSection.id || childSection._id,\n label: childSection.label,\n sourceLabel: childSection.sourceLabel,\n _links: childSection._links,\n },\n this.entryDate\n )\n )\n : [];\n }\n\n /**\n */\n get selfContentLink(): ContentLinkModel {\n return new ContentLinkModel(\n {\n section: this.id,\n _id: this.id,\n label: this.data.label,\n sourceLabel: this.data.sourceLabel,\n _links: this.data._links,\n },\n this.entryDate\n );\n }\n\n /**\n * Get tree of child sections\n */\n get childSections(): Array<SectionModel> {\n if (!this._childSections && this.data.childSections) {\n this._childSections = this.data.childSections\n .filter((childSection) => \"body\" in childSection)\n .map((childSection) => new SectionModel(childSection, this.entryDate));\n }\n return this._childSections || [];\n }\n\n /**\n * set resolved child sections\n */\n set childSections(sections: Array<SectionModel>) {\n this._childSections = sections || [];\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection)\n )\n : [];\n }\n\n /**\n */\n get referenceHash(): number {\n return createHashFromHref(this.selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel | SectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n for (const childSection of this.childSections) {\n if (childSection.referred) {\n sections.push(childSection);\n }\n\n const referredChilds = childSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n\nexport default SectionModel;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubSectionModel.js","names":["SubSectionModel","data","referred","id","_id","body","getData","number","label","subSections","subSection","_links","LinkCollection","contributions","links","getLinkByKey","selflink","href","hrefs","relatedConceptsHref","push","forEach","relatedConceptsHrefs","relatedConceptsLink","selfhref","Href","sections","referredChilds","getReferredSections","BaseModel"],"sources":["../../../src/models/content/SubSectionModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport Href from \"../href/Href\";\nimport LinkModel from \"../links/LinkModel\";\nimport { retrieveText } from \"../../utils\";\n\n/**\n * Link to a concept\n */\nexport default class SubSectionModel extends BaseModel {\n _links: LinkCollection;\n\n /**\n */\n constructor(data: Object) {\n super(data, {});\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n * Retrieve key of subsection\n */\n get key(): ?string {\n return this.id;\n }\n\n /**\n * Retrieve html body\n */\n get body(): string {\n const body = this.getData(\"body\", \"\");\n return retrieveText(body);\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Retrieve label of section\n */\n get label(): ?string {\n return this.data.label;\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection)\n )\n : [];\n }\n\n /**\n * Retrieve links of section\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n this.data._links,\n this.contributions._links\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel | null {\n return this.links.getLinkByKey(\"self\");\n }\n\n /**\n * Return default self link of resource\n */\n get selfhref(): Href | null {\n return this.selflink ? this.selflink.href : null;\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 return relatedConceptsLink.href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n const selfhref = this.selfhref || new Href();\n\n return createHashFromHref(selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA;AACA;AACA;IACqBA,e;;;;;EAGnB;AACF;EACE,yBAAYC,IAAZ,EAA0B;IAAA;;IAAA;IACxB,0BAAMA,IAAN,EAAY,EAAZ;IADwB;IAAA;EAEzB;EAED;AACF;;;;;SACE,eAAwB;MACtB,OAAO,KAAKA,IAAL,CAAUC,QAAjB;IACD;IAED;AACF;;;;SACE,eAAiB;MACf,OAAO,KAAKD,IAAL,CAAUE,EAAV,IAAgB,KAAKF,IAAL,CAAUG,GAAjC;IACD;IAED;AACF;AACA;;;;SACE,eAAmB;MACjB,OAAO,KAAKD,EAAZ;IACD;IAED;AACF;AACA;;;;SACE,eAAmB;MACjB,IAAME,IAAI,GAAG,KAAKC,OAAL,CAAa,MAAb,EAAqB,EAArB,CAAb;MACA,OAAO,
|
|
1
|
+
{"version":3,"file":"SubSectionModel.js","names":["SubSectionModel","data","referred","id","_id","body","getData","retrieveText","number","label","subSections","subSection","_links","LinkCollection","contributions","links","getLinkByKey","selflink","href","hrefs","relatedConceptsHref","push","forEach","relatedConceptsHrefs","relatedConceptsLink","selfhref","Href","createHashFromHref","sections","referredChilds","getReferredSections","BaseModel"],"sources":["../../../src/models/content/SubSectionModel.js"],"sourcesContent":["// @flow\nimport { createHashFromHref } from \"../../utils/helpers/createHash\";\n\nimport BaseModel from \"../base/BaseModel\";\nimport LinkCollection from \"../links/LinkCollection\";\nimport Href from \"../href/Href\";\nimport LinkModel from \"../links/LinkModel\";\nimport { retrieveText } from \"../../utils\";\n\n/**\n * Link to a concept\n */\nexport default class SubSectionModel extends BaseModel {\n _links: LinkCollection;\n\n /**\n */\n constructor(data: Object) {\n super(data, {});\n }\n\n /**\n */\n get referred(): boolean {\n return this.data.referred;\n }\n\n /**\n */\n get id(): string {\n return this.data.id || this.data._id;\n }\n\n /**\n * Retrieve key of subsection\n */\n get key(): ?string {\n return this.id;\n }\n\n /**\n * Retrieve html body\n */\n get body(): string {\n const body = this.getData(\"body\", \"\");\n return retrieveText(body);\n }\n\n /**\n * Retrieve number of section\n */\n get number(): string | null {\n return this.data.number ?? null;\n }\n\n /**\n * Retrieve label of section\n */\n get label(): ?string {\n return this.data.label;\n }\n\n /**\n * Get sub sections\n */\n get subSections(): Array<SubSectionModel> {\n return this.data.subSections\n ? this.data.subSections.map(\n (subSection) => new SubSectionModel(subSection)\n )\n : [];\n }\n\n /**\n * Retrieve links of section\n */\n get links(): LinkCollection {\n if (!this._links) {\n this._links = new LinkCollection(\n this.data._links,\n this.contributions._links\n );\n }\n\n return this._links;\n }\n\n /**\n * Get self link of model\n */\n get selflink(): LinkModel | null {\n return this.links.getLinkByKey(\"self\");\n }\n\n /**\n * Return default self link of resource\n */\n get selfhref(): Href | null {\n return this.selflink ? this.selflink.href : null;\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 return relatedConceptsLink.href;\n }\n\n return null;\n }\n\n /**\n */\n get referenceHash(): number {\n const selfhref = this.selfhref || new Href();\n\n return createHashFromHref(selfhref);\n }\n\n /**\n */\n getReferredSections(): Array<SubSectionModel> {\n const sections = [];\n\n for (const subSection of this.subSections) {\n if (subSection.referred) {\n sections.push(subSection);\n }\n\n const referredChilds = subSection.getReferredSections();\n sections.push(...referredChilds);\n }\n\n return sections;\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentConfigurationResults.js","names":["ContentConfigurationResults","configuration","_configuration","_layouthint","LayoutHintCollection","layouthint","label","description","message","attributes","all","hint","substring","length","elementKey","ContentConfigurationElements","configElement","getFormConfigElement"],"sources":["../../../src/models/contentconfiguration/ContentConfigurationResults.js"],"sourcesContent":["// @flow\nimport ContentConfigurationElements from \"./ContentConfigurationElements\";\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { isPlainObject } from \"../../utils\";\n\n/**\n */\nclass ContentConfigurationResults {\n _configuration: Object;\n _layouthint: LayoutHintCollection;\n\n /**\n */\n constructor(configuration: Object) {\n this._configuration = configuration || null;\n\n this._layouthint = new LayoutHintCollection(configuration?.layouthint);\n }\n\n /**\n */\n get label(): string | null {\n if (this._configuration === null) {\n return null;\n }\n\n return this._configuration.label;\n }\n\n /**\n */\n get description(): string | null {\n if (this._configuration === null) {\n return null;\n }\n\n const description = this._configuration.description;\n if (isPlainObject(description) && \"message\" in description) {\n return description.message;\n }\n\n return description;\n }\n\n /**\n */\n get attributes(): Array<string> {\n if (this._configuration === null) {\n return [];\n }\n\n // An issue with mapped attributes is giving us the wrong attribute keys in the attributes property\n // as a temporary fix a layouthint with the correct mapped attribute key can be set in the configuration of the end results\n return [\n ...this._configuration.attributes,\n ...this.layouthint.all\n .filter((hint) => hint.includes(\"attribute:\"))\n .map((hint) => hint.substring(\"attribute:\".length)),\n ];\n }\n\n /**\n */\n getFormConfigElement(elementKey: string): ContentConfigurationElements {\n if (this._configuration === null) {\n return new ContentConfigurationElements([]);\n }\n\n const configElement = this._configuration[elementKey];\n\n return new ContentConfigurationElements(configElement);\n }\n\n /**\n */\n get calculatedResultElements(): ContentConfigurationElements {\n return this.getFormConfigElement(\"calculatedResultElements\");\n }\n\n /**\n */\n get positiveResultElements(): ContentConfigurationElements {\n return this.getFormConfigElement(\"positiveResultElements\");\n }\n\n /**\n */\n get negativeResultElements(): ContentConfigurationElements {\n return this.getFormConfigElement(\"negativeResultElements\");\n }\n\n /**\n */\n get resultElements(): ContentConfigurationElements {\n return this.getFormConfigElement(\"resultElements\");\n }\n\n /**\n */\n get layouthint(): LayoutHintCollection {\n return this._layouthint;\n }\n}\n\nexport default ContentConfigurationResults;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;AACA;IACMA,2B;EAIJ;AACF;EACE,qCAAYC,aAAZ,EAAmC;IAAA;IAAA;IAAA;IACjC,KAAKC,cAAL,GAAsBD,aAAa,IAAI,IAAvC;IAEA,KAAKE,WAAL,GAAmB,IAAIC,6BAAJ,CAAyBH,aAAzB,aAAyBA,aAAzB,uBAAyBA,aAAa,CAAEI,UAAxC,CAAnB;EACD;EAED;AACF;;;;;SACE,eAA2B;MACzB,IAAI,KAAKH,cAAL,KAAwB,IAA5B,EAAkC;QAChC,OAAO,IAAP;MACD;;MAED,OAAO,KAAKA,cAAL,CAAoBI,KAA3B;IACD;IAED;AACF;;;;SACE,eAAiC;MAC/B,IAAI,KAAKJ,cAAL,KAAwB,IAA5B,EAAkC;QAChC,OAAO,IAAP;MACD;;MAED,IAAMK,WAAW,GAAG,KAAKL,cAAL,CAAoBK,WAAxC;;MACA,IAAI,
|
|
1
|
+
{"version":3,"file":"ContentConfigurationResults.js","names":["ContentConfigurationResults","configuration","_configuration","_layouthint","LayoutHintCollection","layouthint","label","description","isPlainObject","message","attributes","all","hint","substring","length","elementKey","ContentConfigurationElements","configElement","getFormConfigElement"],"sources":["../../../src/models/contentconfiguration/ContentConfigurationResults.js"],"sourcesContent":["// @flow\nimport ContentConfigurationElements from \"./ContentConfigurationElements\";\nimport LayoutHintCollection from \"../layouthint/LayoutHintCollection\";\nimport { isPlainObject } from \"../../utils\";\n\n/**\n */\nclass ContentConfigurationResults {\n _configuration: Object;\n _layouthint: LayoutHintCollection;\n\n /**\n */\n constructor(configuration: Object) {\n this._configuration = configuration || null;\n\n this._layouthint = new LayoutHintCollection(configuration?.layouthint);\n }\n\n /**\n */\n get label(): string | null {\n if (this._configuration === null) {\n return null;\n }\n\n return this._configuration.label;\n }\n\n /**\n */\n get description(): string | null {\n if (this._configuration === null) {\n return null;\n }\n\n const description = this._configuration.description;\n if (isPlainObject(description) && \"message\" in description) {\n return description.message;\n }\n\n return description;\n }\n\n /**\n */\n get attributes(): Array<string> {\n if (this._configuration === null) {\n return [];\n }\n\n // An issue with mapped attributes is giving us the wrong attribute keys in the attributes property\n // as a temporary fix a layouthint with the correct mapped attribute key can be set in the configuration of the end results\n return [\n ...this._configuration.attributes,\n ...this.layouthint.all\n .filter((hint) => hint.includes(\"attribute:\"))\n .map((hint) => hint.substring(\"attribute:\".length)),\n ];\n }\n\n /**\n */\n getFormConfigElement(elementKey: string): ContentConfigurationElements {\n if (this._configuration === null) {\n return new ContentConfigurationElements([]);\n }\n\n const configElement = this._configuration[elementKey];\n\n return new ContentConfigurationElements(configElement);\n }\n\n /**\n */\n get calculatedResultElements(): ContentConfigurationElements {\n return this.getFormConfigElement(\"calculatedResultElements\");\n }\n\n /**\n */\n get positiveResultElements(): ContentConfigurationElements {\n return this.getFormConfigElement(\"positiveResultElements\");\n }\n\n /**\n */\n get negativeResultElements(): ContentConfigurationElements {\n return this.getFormConfigElement(\"negativeResultElements\");\n }\n\n /**\n */\n get resultElements(): ContentConfigurationElements {\n return this.getFormConfigElement(\"resultElements\");\n }\n\n /**\n */\n get layouthint(): LayoutHintCollection {\n return this._layouthint;\n }\n}\n\nexport default ContentConfigurationResults;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAEA;AACA;IACMA,2B;EAIJ;AACF;EACE,qCAAYC,aAAZ,EAAmC;IAAA;IAAA;IAAA;IACjC,KAAKC,cAAL,GAAsBD,aAAa,IAAI,IAAvC;IAEA,KAAKE,WAAL,GAAmB,IAAIC,6BAAJ,CAAyBH,aAAzB,aAAyBA,aAAzB,uBAAyBA,aAAa,CAAEI,UAAxC,CAAnB;EACD;EAED;AACF;;;;;SACE,eAA2B;MACzB,IAAI,KAAKH,cAAL,KAAwB,IAA5B,EAAkC;QAChC,OAAO,IAAP;MACD;;MAED,OAAO,KAAKA,cAAL,CAAoBI,KAA3B;IACD;IAED;AACF;;;;SACE,eAAiC;MAC/B,IAAI,KAAKJ,cAAL,KAAwB,IAA5B,EAAkC;QAChC,OAAO,IAAP;MACD;;MAED,IAAMK,WAAW,GAAG,KAAKL,cAAL,CAAoBK,WAAxC;;MACA,IAAI,IAAAC,oBAAA,EAAcD,WAAd,KAA8B,aAAaA,WAA/C,EAA4D;QAC1D,OAAOA,WAAW,CAACE,OAAnB;MACD;;MAED,OAAOF,WAAP;IACD;IAED;AACF;;;;SACE,eAAgC;MAAA;;MAC9B,IAAI,KAAKL,cAAL,KAAwB,IAA5B,EAAkC;QAChC,OAAO,EAAP;MACD,CAH6B,CAK9B;MACA;;;MACA,2FACK,KAAKA,cAAL,CAAoBQ,UADzB,oCAEK,oEAAKL,UAAL,CAAgBM,GAAhB,kBACO,UAACC,IAAD;QAAA,OAAU,uBAAAA,IAAI,MAAJ,CAAAA,IAAI,EAAU,YAAV,CAAd;MAAA,CADP,mBAEI,UAACA,IAAD;QAAA,OAAUA,IAAI,CAACC,SAAL,CAAe,aAAaC,MAA5B,CAAV;MAAA,CAFJ,CAFL;IAMD;IAED;AACF;;;;WACE,8BAAqBC,UAArB,EAAuE;MACrE,IAAI,KAAKb,cAAL,KAAwB,IAA5B,EAAkC;QAChC,OAAO,IAAIc,qCAAJ,CAAiC,EAAjC,CAAP;MACD;;MAED,IAAMC,aAAa,GAAG,KAAKf,cAAL,CAAoBa,UAApB,CAAtB;MAEA,OAAO,IAAIC,qCAAJ,CAAiCC,aAAjC,CAAP;IACD;IAED;AACF;;;;SACE,eAA6D;MAC3D,OAAO,KAAKC,oBAAL,CAA0B,0BAA1B,CAAP;IACD;IAED;AACF;;;;SACE,eAA2D;MACzD,OAAO,KAAKA,oBAAL,CAA0B,wBAA1B,CAAP;IACD;IAED;AACF;;;;SACE,eAA2D;MACzD,OAAO,KAAKA,oBAAL,CAA0B,wBAA1B,CAAP;IACD;IAED;AACF;;;;SACE,eAAmD;MACjD,OAAO,KAAKA,oBAAL,CAA0B,gBAA1B,CAAP;IACD;IAED;AACF;;;;SACE,eAAuC;MACrC,OAAO,KAAKf,WAAZ;IACD;;;;;eAGYH,2B"}
|