@beinformed/ui 1.57.2 → 1.57.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/esm/constants/Settings.js +14 -6
- package/esm/constants/Settings.js.map +1 -1
- package/esm/hooks/useAuthentication.js +3 -3
- package/esm/hooks/useAuthentication.js.map +1 -1
- package/esm/hooks/useModelCatalog.js.map +1 -1
- package/esm/hooks/useModularUIBasic.js +1 -1
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/hooks/useModularUIModel.js.map +1 -1
- package/esm/models/actions/ActionCollection.js +2 -3
- package/esm/models/actions/ActionCollection.js.map +1 -1
- package/esm/models/actions/ActionModel.js +13 -23
- package/esm/models/actions/ActionModel.js.map +1 -1
- package/esm/models/application/ApplicationModel.js +1 -1
- package/esm/models/application/ApplicationModel.js.map +1 -1
- package/esm/models/attributes/AttributeCollection.js +6 -3
- package/esm/models/attributes/AttributeCollection.js.map +1 -1
- package/esm/models/attributes/AttributeModel.js +3 -3
- package/esm/models/attributes/AttributeModel.js.map +1 -1
- package/esm/models/attributes/AttributeSetModel.js +7 -4
- package/esm/models/attributes/AttributeSetModel.js.map +1 -1
- package/esm/models/attributes/BooleanAttributeModel.js +6 -3
- package/esm/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeModel.js +6 -3
- package/esm/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js +18 -14
- package/esm/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/esm/models/attributes/ChoiceAttributeOptionModel.js +17 -10
- package/esm/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeChildCollection.js +7 -7
- package/esm/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/esm/models/attributes/CompositeAttributeModel.js +3 -3
- package/esm/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/esm/models/attributes/DatetimeAttributeModel.js +2 -2
- package/esm/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/esm/models/attributes/StringAttributeModel.js +2 -2
- package/esm/models/attributes/StringAttributeModel.js.map +1 -1
- package/esm/models/attributes/_createAttribute.js +2 -2
- package/esm/models/attributes/_createAttribute.js.map +1 -1
- package/esm/models/base/BaseModel.js +27 -1
- package/esm/models/base/BaseModel.js.map +1 -1
- package/esm/models/base/ResourceModel.js +3 -23
- package/esm/models/base/ResourceModel.js.map +1 -1
- package/esm/models/caseview/CaseViewModel.js +1 -1
- package/esm/models/caseview/CaseViewModel.js.map +1 -1
- package/esm/models/concepts/ConceptDetailModel.js +2 -2
- package/esm/models/concepts/ConceptDetailModel.js.map +1 -1
- package/esm/models/concepts/ConceptIndexModel.js +2 -2
- package/esm/models/concepts/ConceptIndexModel.js.map +1 -1
- package/esm/models/concepts/ConceptLinkModel.js +4 -10
- package/esm/models/concepts/ConceptLinkModel.js.map +1 -1
- package/esm/models/concepts/ConceptRelationCollection.js +11 -4
- package/esm/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/esm/models/concepts/ConceptRelationModel.js +8 -1
- package/esm/models/concepts/ConceptRelationModel.js.map +1 -1
- package/esm/models/concepts/SourceReferenceCollection.js +2 -4
- package/esm/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/esm/models/concepts/SourceReferenceModel.js +9 -10
- package/esm/models/concepts/SourceReferenceModel.js.map +1 -1
- package/esm/models/content/ContentIndexModel.js +2 -2
- package/esm/models/content/ContentIndexModel.js.map +1 -1
- package/esm/models/content/ContentLinkModel.js +4 -11
- package/esm/models/content/ContentLinkModel.js.map +1 -1
- package/esm/models/content/ContentModel.js +2 -2
- package/esm/models/content/ContentModel.js.map +1 -1
- package/esm/models/content/ContentTOCModel.js +7 -7
- package/esm/models/content/ContentTOCModel.js.map +1 -1
- package/esm/models/content/SectionModel.js +6 -12
- package/esm/models/content/SectionModel.js.map +1 -1
- package/esm/models/detail/DetailModel.js +9 -3
- package/esm/models/detail/DetailModel.js.map +1 -1
- package/esm/models/error/ErrorResponse.js +8 -10
- package/esm/models/error/ErrorResponse.js.map +1 -1
- package/esm/models/filters/AssignmentFilterModel.js +2 -2
- package/esm/models/filters/AssignmentFilterModel.js.map +1 -1
- package/esm/models/filters/BaseFilterModel.js +3 -3
- package/esm/models/filters/BaseFilterModel.js.map +1 -1
- package/esm/models/filters/ConceptIndexFilterModel.js +2 -3
- package/esm/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/esm/models/filters/FilterCollection.js +8 -7
- package/esm/models/filters/FilterCollection.js.map +1 -1
- package/esm/models/filters/StringFilterModel.js +2 -2
- package/esm/models/filters/StringFilterModel.js.map +1 -1
- package/esm/models/form/FormModel.js +4 -4
- package/esm/models/form/FormModel.js.map +1 -1
- package/esm/models/form/FormObjectModel.js +7 -4
- package/esm/models/form/FormObjectModel.js.map +1 -1
- package/esm/models/grouping/GroupingModel.js +10 -7
- package/esm/models/grouping/GroupingModel.js.map +1 -1
- package/esm/models/href/Href.js +22 -21
- package/esm/models/href/Href.js.map +1 -1
- package/esm/models/links/LinkCollection.js +2 -3
- package/esm/models/links/LinkCollection.js.map +1 -1
- package/esm/models/links/LinkModel.js +7 -7
- package/esm/models/links/LinkModel.js.map +1 -1
- package/esm/models/list/ListDetailModel.js +1 -1
- package/esm/models/list/ListDetailModel.js.map +1 -1
- package/esm/models/list/ListItemCollection.js +1 -1
- package/esm/models/list/ListItemCollection.js.map +1 -1
- package/esm/models/list/ListItemModel.js +3 -3
- package/esm/models/list/ListItemModel.js.map +1 -1
- package/esm/models/list/ListModel.js +3 -3
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/lookup/LookupOptionCollection.js +5 -2
- package/esm/models/lookup/LookupOptionCollection.js.map +1 -1
- package/esm/models/lookup/LookupOptionsModel.js +2 -2
- package/esm/models/lookup/LookupOptionsModel.js.map +1 -1
- package/esm/models/panels/GroupingPanelModel.js +1 -1
- package/esm/models/panels/GroupingPanelModel.js.map +1 -1
- package/esm/models/tab/TabModel.js +2 -2
- package/esm/models/tab/TabModel.js.map +1 -1
- package/esm/models/taskgroup/TaskGroupModel.js +4 -5
- package/esm/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/esm/models/types.js.map +1 -1
- package/esm/models/user/UserProfileModel.js +4 -1
- package/esm/models/user/UserProfileModel.js.map +1 -1
- package/esm/modularui/CaptchaRequest.js +3 -3
- package/esm/modularui/CaptchaRequest.js.map +1 -1
- package/esm/modularui/ModularUIRequest.js +8 -5
- package/esm/modularui/ModularUIRequest.js.map +1 -1
- package/esm/modularui/ModularUIResponse.js +12 -3
- package/esm/modularui/ModularUIResponse.js.map +1 -1
- package/esm/modularui/UploadRequest.js +3 -3
- package/esm/modularui/UploadRequest.js.map +1 -1
- package/esm/react-client/client.js +3 -3
- package/esm/react-client/client.js.map +1 -1
- package/esm/react-server/renderSSRComplete.js +2 -2
- package/esm/react-server/renderSSRComplete.js.map +1 -1
- package/esm/react-server/renderSSRMinimal.js +2 -2
- package/esm/react-server/renderSSRMinimal.js.map +1 -1
- package/esm/redux/_modularui/ModularUIActions.js +8 -2
- package/esm/redux/_modularui/ModularUIActions.js.map +1 -1
- package/esm/redux/_modularui/ModularUIUtils.js +11 -11
- package/esm/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/esm/utils/browser/Cookies.js +3 -3
- package/esm/utils/browser/Cookies.js.map +1 -1
- package/esm/utils/helpers/createHref.js +23 -3
- package/esm/utils/helpers/createHref.js.map +1 -1
- package/esm/utils/helpers/repositoryResource.js +2 -2
- package/esm/utils/helpers/repositoryResource.js.map +1 -1
- package/lib/constants/Settings.js +18 -8
- package/lib/constants/Settings.js.flow +16 -6
- package/lib/constants/Settings.js.map +1 -1
- package/lib/hooks/useAuthentication.js +2 -2
- package/lib/hooks/useAuthentication.js.flow +3 -3
- package/lib/hooks/useAuthentication.js.map +1 -1
- package/lib/hooks/useModelCatalog.js.flow +7 -6
- package/lib/hooks/useModelCatalog.js.map +1 -1
- package/lib/hooks/useModularUIBasic.js +1 -1
- package/lib/hooks/useModularUIBasic.js.flow +1 -1
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/hooks/useModularUIModel.js.flow +16 -11
- package/lib/hooks/useModularUIModel.js.map +1 -1
- package/lib/models/actions/ActionCollection.js +2 -2
- package/lib/models/actions/ActionCollection.js.flow +3 -8
- package/lib/models/actions/ActionCollection.js.map +1 -1
- package/lib/models/actions/ActionModel.js +12 -22
- package/lib/models/actions/ActionModel.js.flow +7 -24
- package/lib/models/actions/ActionModel.js.map +1 -1
- package/lib/models/application/ApplicationModel.js +1 -1
- package/lib/models/application/ApplicationModel.js.flow +1 -2
- package/lib/models/application/ApplicationModel.js.map +1 -1
- package/lib/models/attributes/AttributeCollection.js +6 -3
- package/lib/models/attributes/AttributeCollection.js.flow +12 -4
- package/lib/models/attributes/AttributeCollection.js.map +1 -1
- package/lib/models/attributes/AttributeModel.js +3 -3
- package/lib/models/attributes/AttributeModel.js.flow +8 -2
- package/lib/models/attributes/AttributeModel.js.map +1 -1
- package/lib/models/attributes/AttributeSetModel.js +7 -3
- package/lib/models/attributes/AttributeSetModel.js.flow +11 -3
- package/lib/models/attributes/AttributeSetModel.js.map +1 -1
- package/lib/models/attributes/BooleanAttributeModel.js +6 -3
- package/lib/models/attributes/BooleanAttributeModel.js.flow +8 -4
- package/lib/models/attributes/BooleanAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeModel.js +6 -3
- package/lib/models/attributes/ChoiceAttributeModel.js.flow +13 -4
- package/lib/models/attributes/ChoiceAttributeModel.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js +18 -13
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.flow +30 -28
- package/lib/models/attributes/ChoiceAttributeOptionCollection.js.map +1 -1
- package/lib/models/attributes/ChoiceAttributeOptionModel.js +17 -10
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.flow +30 -11
- package/lib/models/attributes/ChoiceAttributeOptionModel.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js +7 -7
- package/lib/models/attributes/CompositeAttributeChildCollection.js.flow +8 -1
- package/lib/models/attributes/CompositeAttributeChildCollection.js.map +1 -1
- package/lib/models/attributes/CompositeAttributeModel.js +3 -3
- package/lib/models/attributes/CompositeAttributeModel.js.flow +8 -3
- package/lib/models/attributes/CompositeAttributeModel.js.map +1 -1
- package/lib/models/attributes/DatetimeAttributeModel.js +2 -2
- package/lib/models/attributes/DatetimeAttributeModel.js.flow +7 -2
- package/lib/models/attributes/DatetimeAttributeModel.js.map +1 -1
- package/lib/models/attributes/StringAttributeModel.js +2 -2
- package/lib/models/attributes/StringAttributeModel.js.flow +7 -3
- package/lib/models/attributes/StringAttributeModel.js.map +1 -1
- package/lib/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js.flow +1 -1
- package/lib/models/attributes/_createAttribute.js +2 -2
- package/lib/models/attributes/_createAttribute.js.flow +3 -2
- package/lib/models/attributes/_createAttribute.js.map +1 -1
- package/lib/models/base/BaseModel.js +27 -1
- package/lib/models/base/BaseModel.js.flow +31 -1
- package/lib/models/base/BaseModel.js.map +1 -1
- package/lib/models/base/ResourceModel.js +3 -22
- package/lib/models/base/ResourceModel.js.flow +6 -23
- package/lib/models/base/ResourceModel.js.map +1 -1
- package/lib/models/base/__tests__/BaseModel.spec.js.flow +4 -0
- package/lib/models/caseview/CaseViewModel.js +1 -1
- package/lib/models/caseview/CaseViewModel.js.flow +1 -2
- package/lib/models/caseview/CaseViewModel.js.map +1 -1
- package/lib/models/concepts/ConceptDetailModel.js +2 -2
- package/lib/models/concepts/ConceptDetailModel.js.flow +2 -2
- package/lib/models/concepts/ConceptDetailModel.js.map +1 -1
- package/lib/models/concepts/ConceptIndexModel.js +2 -2
- package/lib/models/concepts/ConceptIndexModel.js.flow +9 -6
- package/lib/models/concepts/ConceptIndexModel.js.map +1 -1
- package/lib/models/concepts/ConceptLinkModel.js +4 -10
- package/lib/models/concepts/ConceptLinkModel.js.flow +15 -12
- package/lib/models/concepts/ConceptLinkModel.js.map +1 -1
- package/lib/models/concepts/ConceptRelationCollection.js +11 -4
- package/lib/models/concepts/ConceptRelationCollection.js.flow +17 -3
- package/lib/models/concepts/ConceptRelationCollection.js.map +1 -1
- package/lib/models/concepts/ConceptRelationModel.js +8 -1
- package/lib/models/concepts/ConceptRelationModel.js.flow +18 -2
- package/lib/models/concepts/ConceptRelationModel.js.map +1 -1
- package/lib/models/concepts/SourceReferenceCollection.js +2 -3
- package/lib/models/concepts/SourceReferenceCollection.js.flow +3 -8
- package/lib/models/concepts/SourceReferenceCollection.js.map +1 -1
- package/lib/models/concepts/SourceReferenceModel.js +8 -8
- package/lib/models/concepts/SourceReferenceModel.js.flow +10 -11
- package/lib/models/concepts/SourceReferenceModel.js.map +1 -1
- package/lib/models/content/ContentIndexModel.js +2 -2
- package/lib/models/content/ContentIndexModel.js.flow +10 -5
- package/lib/models/content/ContentIndexModel.js.map +1 -1
- package/lib/models/content/ContentLinkModel.js +4 -10
- package/lib/models/content/ContentLinkModel.js.flow +10 -13
- package/lib/models/content/ContentLinkModel.js.map +1 -1
- package/lib/models/content/ContentModel.js +2 -2
- package/lib/models/content/ContentModel.js.flow +6 -1
- package/lib/models/content/ContentModel.js.map +1 -1
- package/lib/models/content/ContentTOCModel.js +7 -7
- package/lib/models/content/ContentTOCModel.js.flow +19 -11
- package/lib/models/content/ContentTOCModel.js.map +1 -1
- package/lib/models/content/SectionModel.js +6 -11
- package/lib/models/content/SectionModel.js.flow +9 -21
- package/lib/models/content/SectionModel.js.map +1 -1
- package/lib/models/detail/DetailModel.js +9 -3
- package/lib/models/detail/DetailModel.js.flow +3 -4
- package/lib/models/detail/DetailModel.js.map +1 -1
- package/lib/models/error/ErrorResponse.js +7 -9
- package/lib/models/error/ErrorResponse.js.flow +9 -20
- package/lib/models/error/ErrorResponse.js.map +1 -1
- package/lib/models/filters/AssignmentFilterModel.js +2 -2
- package/lib/models/filters/AssignmentFilterModel.js.flow +7 -3
- package/lib/models/filters/AssignmentFilterModel.js.map +1 -1
- package/lib/models/filters/BaseFilterModel.js +3 -3
- package/lib/models/filters/BaseFilterModel.js.flow +16 -7
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/filters/ConceptIndexFilterModel.js +2 -2
- package/lib/models/filters/ConceptIndexFilterModel.js.flow +8 -2
- package/lib/models/filters/ConceptIndexFilterModel.js.map +1 -1
- package/lib/models/filters/FilterCollection.js +8 -7
- package/lib/models/filters/FilterCollection.js.flow +13 -7
- package/lib/models/filters/FilterCollection.js.map +1 -1
- package/lib/models/filters/StringFilterModel.js +2 -2
- package/lib/models/filters/StringFilterModel.js.flow +7 -3
- package/lib/models/filters/StringFilterModel.js.map +1 -1
- package/lib/models/form/FormModel.js +4 -4
- package/lib/models/form/FormModel.js.flow +8 -2
- package/lib/models/form/FormModel.js.map +1 -1
- package/lib/models/form/FormObjectModel.js +7 -4
- package/lib/models/form/FormObjectModel.js.flow +17 -4
- package/lib/models/form/FormObjectModel.js.map +1 -1
- package/lib/models/grouping/GroupingModel.js +10 -7
- package/lib/models/grouping/GroupingModel.js.flow +21 -5
- package/lib/models/grouping/GroupingModel.js.map +1 -1
- package/lib/models/href/Href.js +21 -20
- package/lib/models/href/Href.js.flow +33 -25
- package/lib/models/href/Href.js.map +1 -1
- package/lib/models/href/__tests__/Href.spec.js.flow +16 -14
- package/lib/models/links/LinkCollection.js +2 -3
- package/lib/models/links/LinkCollection.js.flow +3 -3
- package/lib/models/links/LinkCollection.js.map +1 -1
- package/lib/models/links/LinkModel.js +7 -7
- package/lib/models/links/LinkModel.js.flow +8 -15
- package/lib/models/links/LinkModel.js.map +1 -1
- package/lib/models/list/ListDetailModel.js +1 -1
- package/lib/models/list/ListDetailModel.js.flow +6 -1
- package/lib/models/list/ListDetailModel.js.map +1 -1
- package/lib/models/list/ListItemCollection.js +1 -1
- package/lib/models/list/ListItemCollection.js.flow +1 -2
- package/lib/models/list/ListItemCollection.js.map +1 -1
- package/lib/models/list/ListItemModel.js +3 -3
- package/lib/models/list/ListItemModel.js.flow +4 -4
- package/lib/models/list/ListItemModel.js.map +1 -1
- package/lib/models/list/ListModel.js +3 -3
- package/lib/models/list/ListModel.js.flow +12 -8
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/lookup/LookupOptionCollection.js +5 -1
- package/lib/models/lookup/LookupOptionCollection.js.flow +17 -6
- package/lib/models/lookup/LookupOptionCollection.js.map +1 -1
- package/lib/models/lookup/LookupOptionsModel.js +2 -2
- package/lib/models/lookup/LookupOptionsModel.js.flow +2 -0
- package/lib/models/lookup/LookupOptionsModel.js.map +1 -1
- package/lib/models/panels/GroupingPanelModel.js +1 -1
- package/lib/models/panels/GroupingPanelModel.js.flow +1 -2
- package/lib/models/panels/GroupingPanelModel.js.map +1 -1
- package/lib/models/tab/TabModel.js +2 -2
- package/lib/models/tab/TabModel.js.flow +2 -4
- package/lib/models/tab/TabModel.js.map +1 -1
- package/lib/models/taskgroup/TaskGroupModel.js +4 -4
- package/lib/models/taskgroup/TaskGroupModel.js.flow +5 -6
- package/lib/models/taskgroup/TaskGroupModel.js.map +1 -1
- package/lib/models/types.js.flow +5 -0
- package/lib/models/types.js.map +1 -1
- package/lib/models/user/UserProfileModel.js +4 -1
- package/lib/models/user/UserProfileModel.js.flow +1 -0
- package/lib/models/user/UserProfileModel.js.map +1 -1
- package/lib/modularui/CaptchaRequest.js +2 -2
- package/lib/modularui/CaptchaRequest.js.flow +7 -3
- package/lib/modularui/CaptchaRequest.js.map +1 -1
- package/lib/modularui/ModularUIRequest.js +7 -4
- package/lib/modularui/ModularUIRequest.js.flow +8 -5
- package/lib/modularui/ModularUIRequest.js.map +1 -1
- package/lib/modularui/ModularUIResponse.js +11 -2
- package/lib/modularui/ModularUIResponse.js.flow +13 -3
- package/lib/modularui/ModularUIResponse.js.map +1 -1
- package/lib/modularui/UploadRequest.js +2 -2
- package/lib/modularui/UploadRequest.js.flow +7 -3
- package/lib/modularui/UploadRequest.js.map +1 -1
- package/lib/react-client/client.js +2 -2
- package/lib/react-client/client.js.flow +7 -3
- package/lib/react-client/client.js.map +1 -1
- package/lib/react-server/renderSSRComplete.js +1 -1
- package/lib/react-server/renderSSRComplete.js.flow +2 -2
- package/lib/react-server/renderSSRComplete.js.map +1 -1
- package/lib/react-server/renderSSRMinimal.js +1 -1
- package/lib/react-server/renderSSRMinimal.js.flow +2 -2
- package/lib/react-server/renderSSRMinimal.js.map +1 -1
- package/lib/redux/_modularui/ModularUIActions.js +8 -2
- package/lib/redux/_modularui/ModularUIActions.js.flow +8 -7
- package/lib/redux/_modularui/ModularUIActions.js.map +1 -1
- package/lib/redux/_modularui/ModularUIUtils.js +11 -11
- package/lib/redux/_modularui/ModularUIUtils.js.flow +17 -14
- package/lib/redux/_modularui/ModularUIUtils.js.map +1 -1
- package/lib/utils/browser/Cookies.js +2 -2
- package/lib/utils/browser/Cookies.js.flow +3 -3
- package/lib/utils/browser/Cookies.js.map +1 -1
- package/lib/utils/helpers/__tests__/createHref.spec.js.flow +13 -8
- package/lib/utils/helpers/createHref.js +23 -3
- package/lib/utils/helpers/createHref.js.flow +37 -8
- package/lib/utils/helpers/createHref.js.map +1 -1
- package/lib/utils/helpers/repositoryResource.js +1 -1
- package/lib/utils/helpers/repositoryResource.js.flow +2 -2
- package/lib/utils/helpers/repositoryResource.js.map +1 -1
- package/package.json +4 -4
- package/src/constants/Settings.js +16 -6
- package/src/hooks/useAuthentication.js +3 -3
- package/src/hooks/useModelCatalog.js +7 -6
- package/src/hooks/useModularUIBasic.js +1 -1
- package/src/hooks/useModularUIModel.js +16 -11
- package/src/models/actions/ActionCollection.js +3 -8
- package/src/models/actions/ActionModel.js +7 -24
- package/src/models/application/ApplicationModel.js +1 -2
- package/src/models/attributes/AttributeCollection.js +12 -4
- package/src/models/attributes/AttributeModel.js +8 -2
- package/src/models/attributes/AttributeSetModel.js +11 -3
- package/src/models/attributes/BooleanAttributeModel.js +8 -4
- package/src/models/attributes/ChoiceAttributeModel.js +13 -4
- package/src/models/attributes/ChoiceAttributeOptionCollection.js +30 -28
- package/src/models/attributes/ChoiceAttributeOptionModel.js +30 -11
- package/src/models/attributes/CompositeAttributeChildCollection.js +8 -1
- package/src/models/attributes/CompositeAttributeModel.js +8 -3
- package/src/models/attributes/DatetimeAttributeModel.js +7 -2
- package/src/models/attributes/StringAttributeModel.js +7 -3
- package/src/models/attributes/__tests__/ChoiceAttributeOptionModel.spec.js +1 -1
- package/src/models/attributes/_createAttribute.js +3 -2
- package/src/models/base/BaseModel.js +31 -1
- package/src/models/base/ResourceModel.js +6 -23
- package/src/models/base/__tests__/BaseModel.spec.js +4 -0
- package/src/models/caseview/CaseViewModel.js +1 -2
- package/src/models/concepts/ConceptDetailModel.js +2 -2
- package/src/models/concepts/ConceptIndexModel.js +9 -6
- package/src/models/concepts/ConceptLinkModel.js +15 -12
- package/src/models/concepts/ConceptRelationCollection.js +17 -3
- package/src/models/concepts/ConceptRelationModel.js +18 -2
- package/src/models/concepts/SourceReferenceCollection.js +3 -8
- package/src/models/concepts/SourceReferenceModel.js +10 -11
- package/src/models/content/ContentIndexModel.js +10 -5
- package/src/models/content/ContentLinkModel.js +10 -13
- package/src/models/content/ContentModel.js +6 -1
- package/src/models/content/ContentTOCModel.js +19 -11
- package/src/models/content/SectionModel.js +9 -21
- package/src/models/detail/DetailModel.js +3 -4
- package/src/models/error/ErrorResponse.js +9 -20
- package/src/models/filters/AssignmentFilterModel.js +7 -3
- package/src/models/filters/BaseFilterModel.js +16 -7
- package/src/models/filters/ConceptIndexFilterModel.js +8 -2
- package/src/models/filters/FilterCollection.js +13 -7
- package/src/models/filters/StringFilterModel.js +7 -3
- package/src/models/form/FormModel.js +8 -2
- package/src/models/form/FormObjectModel.js +17 -4
- package/src/models/grouping/GroupingModel.js +21 -5
- package/src/models/href/Href.js +33 -25
- package/src/models/href/__tests__/Href.spec.js +16 -14
- package/src/models/links/LinkCollection.js +3 -3
- package/src/models/links/LinkModel.js +8 -15
- package/src/models/list/ListDetailModel.js +6 -1
- package/src/models/list/ListItemCollection.js +1 -2
- package/src/models/list/ListItemModel.js +4 -4
- package/src/models/list/ListModel.js +12 -8
- package/src/models/lookup/LookupOptionCollection.js +17 -6
- package/src/models/lookup/LookupOptionsModel.js +2 -0
- package/src/models/panels/GroupingPanelModel.js +1 -2
- package/src/models/tab/TabModel.js +2 -4
- package/src/models/taskgroup/TaskGroupModel.js +5 -6
- package/src/models/types.js +5 -0
- package/src/models/user/UserProfileModel.js +1 -0
- package/src/modularui/CaptchaRequest.js +7 -3
- package/src/modularui/ModularUIRequest.js +8 -5
- package/src/modularui/ModularUIResponse.js +13 -3
- package/src/modularui/UploadRequest.js +7 -3
- package/src/react-client/client.js +7 -3
- package/src/react-server/renderSSRComplete.js +2 -2
- package/src/react-server/renderSSRMinimal.js +2 -2
- package/src/redux/_modularui/ModularUIActions.js +8 -7
- package/src/redux/_modularui/ModularUIUtils.js +17 -14
- package/src/utils/browser/Cookies.js +3 -3
- package/src/utils/helpers/__tests__/createHref.spec.js +13 -8
- package/src/utils/helpers/createHref.js +37 -8
- package/src/utils/helpers/repositoryResource.js +2 -2
|
@@ -11,6 +11,8 @@ import UserProfileModel from "../models/user/UserProfileModel";
|
|
|
11
11
|
|
|
12
12
|
import { useModularUIBasic } from "./useModularUIBasic";
|
|
13
13
|
|
|
14
|
+
import type Href from "../models/href/Href";
|
|
15
|
+
|
|
14
16
|
type HookOptions = {
|
|
15
17
|
origin?: string,
|
|
16
18
|
contextPath?: string,
|
|
@@ -31,7 +33,10 @@ export const useApplication = (
|
|
|
31
33
|
/**
|
|
32
34
|
* Load a tab by href
|
|
33
35
|
*/
|
|
34
|
-
export const useTab = (
|
|
36
|
+
export const useTab = (
|
|
37
|
+
href: string | Href,
|
|
38
|
+
options?: HookOptions,
|
|
39
|
+
): TabModel | null =>
|
|
35
40
|
useModularUIBasic("tab", href, {
|
|
36
41
|
expectedModels: ["Tab"],
|
|
37
42
|
targetModel: TabModel,
|
|
@@ -42,7 +47,7 @@ export const useTab = (href: string, options?: HookOptions): TabModel | null =>
|
|
|
42
47
|
* Load caseview by href
|
|
43
48
|
*/
|
|
44
49
|
export const useCaseView = (
|
|
45
|
-
href: string,
|
|
50
|
+
href: string | Href,
|
|
46
51
|
options?: HookOptions,
|
|
47
52
|
): CaseViewModel | null =>
|
|
48
53
|
useModularUIBasic("caseview", href, {
|
|
@@ -54,7 +59,7 @@ export const useCaseView = (
|
|
|
54
59
|
/**
|
|
55
60
|
*/
|
|
56
61
|
export const usePanel = (
|
|
57
|
-
href: string,
|
|
62
|
+
href: string | Href,
|
|
58
63
|
options?: HookOptions,
|
|
59
64
|
): ListModel | GroupingPanelModel | DetailModel | null =>
|
|
60
65
|
useModularUIBasic("panel", href, {
|
|
@@ -65,7 +70,7 @@ export const usePanel = (
|
|
|
65
70
|
/**
|
|
66
71
|
*/
|
|
67
72
|
export const useList = (
|
|
68
|
-
href: string,
|
|
73
|
+
href: string | Href,
|
|
69
74
|
options?: HookOptions,
|
|
70
75
|
): ListModel | null =>
|
|
71
76
|
useModularUIBasic("list", href, {
|
|
@@ -77,7 +82,7 @@ export const useList = (
|
|
|
77
82
|
/**
|
|
78
83
|
*/
|
|
79
84
|
export const useListOrDetail = (
|
|
80
|
-
href: string,
|
|
85
|
+
href: string | Href,
|
|
81
86
|
options?: HookOptions,
|
|
82
87
|
): ListModel | DetailModel | null =>
|
|
83
88
|
useModularUIBasic("list", href, {
|
|
@@ -89,7 +94,7 @@ export const useListOrDetail = (
|
|
|
89
94
|
/**
|
|
90
95
|
*/
|
|
91
96
|
export const useListDetail = (
|
|
92
|
-
href: string,
|
|
97
|
+
href: string | Href,
|
|
93
98
|
options?: HookOptions,
|
|
94
99
|
): ListDetailModel | null =>
|
|
95
100
|
useModularUIBasic("listdetail", href, {
|
|
@@ -102,7 +107,7 @@ export const useListDetail = (
|
|
|
102
107
|
/**
|
|
103
108
|
*/
|
|
104
109
|
export const useGroupingPanel = (
|
|
105
|
-
href: string,
|
|
110
|
+
href: string | Href,
|
|
106
111
|
options?: HookOptions,
|
|
107
112
|
): GroupingPanelModel | null =>
|
|
108
113
|
useModularUIBasic("groupingpanel", href, {
|
|
@@ -114,7 +119,7 @@ export const useGroupingPanel = (
|
|
|
114
119
|
/**
|
|
115
120
|
*/
|
|
116
121
|
export const useDetailPanel = (
|
|
117
|
-
href: string,
|
|
122
|
+
href: string | Href,
|
|
118
123
|
options?: HookOptions,
|
|
119
124
|
): DetailModel | null =>
|
|
120
125
|
useModularUIBasic("detailpanel", href, {
|
|
@@ -126,7 +131,7 @@ export const useDetailPanel = (
|
|
|
126
131
|
/**
|
|
127
132
|
*/
|
|
128
133
|
export const useQuicksearch = (
|
|
129
|
-
href: string,
|
|
134
|
+
href: string | Href,
|
|
130
135
|
options?: HookOptions,
|
|
131
136
|
): CaseSearchModel | null =>
|
|
132
137
|
useModularUIBasic("quicksearch", href, {
|
|
@@ -138,7 +143,7 @@ export const useQuicksearch = (
|
|
|
138
143
|
/**
|
|
139
144
|
*/
|
|
140
145
|
export const useSearch = (
|
|
141
|
-
href: string,
|
|
146
|
+
href: string | Href,
|
|
142
147
|
options?: HookOptions,
|
|
143
148
|
): CaseSearchModel | null =>
|
|
144
149
|
useModularUIBasic("search", href, {
|
|
@@ -150,7 +155,7 @@ export const useSearch = (
|
|
|
150
155
|
/**
|
|
151
156
|
*/
|
|
152
157
|
export const useUserProfile = (
|
|
153
|
-
href: string,
|
|
158
|
+
href: string | Href,
|
|
154
159
|
options?: HookOptions,
|
|
155
160
|
): UserProfileModel | null =>
|
|
156
161
|
useModularUIBasic("userprofile", href, {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// @flow
|
|
2
2
|
import BaseCollection from "../base/BaseCollection";
|
|
3
3
|
import ActionModel from "./ActionModel";
|
|
4
|
+
import type { ModelOptions } from "../types";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Collection of actions
|
|
@@ -9,8 +10,7 @@ export default class ActionCollection extends BaseCollection<ActionModel> {
|
|
|
9
10
|
constructor(
|
|
10
11
|
actions?: Object,
|
|
11
12
|
actionsContributions?: Object,
|
|
12
|
-
|
|
13
|
-
contextPath?: string,
|
|
13
|
+
modelOptions?: ModelOptions,
|
|
14
14
|
) {
|
|
15
15
|
super();
|
|
16
16
|
|
|
@@ -28,12 +28,7 @@ export default class ActionCollection extends BaseCollection<ActionModel> {
|
|
|
28
28
|
|
|
29
29
|
if (actionContribution) {
|
|
30
30
|
actionModels.push(
|
|
31
|
-
new ActionModel(
|
|
32
|
-
actionData,
|
|
33
|
-
actionContribution,
|
|
34
|
-
origin,
|
|
35
|
-
contextPath,
|
|
36
|
-
),
|
|
31
|
+
new ActionModel(actionData, actionContribution, modelOptions),
|
|
37
32
|
);
|
|
38
33
|
}
|
|
39
34
|
}
|
|
@@ -7,14 +7,13 @@ import BaseModel from "../base/BaseModel";
|
|
|
7
7
|
import Href from "../href/Href";
|
|
8
8
|
|
|
9
9
|
import {
|
|
10
|
-
getBasePath,
|
|
11
10
|
HTTP_METHODS,
|
|
12
11
|
CREATE_ACTION,
|
|
13
12
|
UPDATE_ACTION,
|
|
14
13
|
DELETE_ACTION,
|
|
15
14
|
} from "../../constants";
|
|
16
15
|
|
|
17
|
-
import type { AttributeType } from "../types";
|
|
16
|
+
import type { AttributeType, ModelOptions } from "../types";
|
|
18
17
|
|
|
19
18
|
/**
|
|
20
19
|
* Defines an Action. For instance an action on the tab 'books', which leads to a form
|
|
@@ -23,23 +22,19 @@ export default class ActionModel extends BaseModel {
|
|
|
23
22
|
_fieldCollection: AttributeCollection;
|
|
24
23
|
_href: Href;
|
|
25
24
|
_icon: string;
|
|
26
|
-
_origin: ?string;
|
|
27
|
-
_contextPath: ?string;
|
|
28
25
|
|
|
29
26
|
constructor(
|
|
30
27
|
data: Object,
|
|
31
28
|
contributions: Object,
|
|
32
|
-
|
|
33
|
-
contextPath?: string,
|
|
29
|
+
modelOptions?: ModelOptions,
|
|
34
30
|
) {
|
|
35
|
-
super(data, contributions);
|
|
31
|
+
super(data, contributions, modelOptions);
|
|
36
32
|
|
|
37
33
|
this._fieldCollection = new AttributeCollection(
|
|
38
34
|
this.data.fields,
|
|
39
35
|
this.contributions.fields,
|
|
36
|
+
{ ...modelOptions, isReadonly: false },
|
|
40
37
|
);
|
|
41
|
-
this._origin = origin;
|
|
42
|
-
this._contextPath = contextPath;
|
|
43
38
|
}
|
|
44
39
|
|
|
45
40
|
/**
|
|
@@ -54,7 +49,7 @@ export default class ActionModel extends BaseModel {
|
|
|
54
49
|
): ActionModel {
|
|
55
50
|
const data = { name, href };
|
|
56
51
|
const contributions = { name, label: label ?? name, type };
|
|
57
|
-
return new ActionModel(data, contributions, origin, contextPath);
|
|
52
|
+
return new ActionModel(data, contributions, { origin, contextPath });
|
|
58
53
|
}
|
|
59
54
|
|
|
60
55
|
/**
|
|
@@ -63,18 +58,6 @@ export default class ActionModel extends BaseModel {
|
|
|
63
58
|
return this.data.href == null;
|
|
64
59
|
}
|
|
65
60
|
|
|
66
|
-
/**
|
|
67
|
-
*/
|
|
68
|
-
get origin(): string {
|
|
69
|
-
return this._origin ?? "";
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
*/
|
|
74
|
-
get contextPath(): string {
|
|
75
|
-
return this._contextPath ?? getBasePath();
|
|
76
|
-
}
|
|
77
|
-
|
|
78
61
|
/**
|
|
79
62
|
* retrieve href of action
|
|
80
63
|
*/
|
|
@@ -84,8 +67,7 @@ export default class ActionModel extends BaseModel {
|
|
|
84
67
|
new Href(
|
|
85
68
|
`${this.data.href}?${this.querystring}`,
|
|
86
69
|
"Form",
|
|
87
|
-
this.
|
|
88
|
-
this.contextPath,
|
|
70
|
+
this.modelOptions,
|
|
89
71
|
)
|
|
90
72
|
);
|
|
91
73
|
}
|
|
@@ -204,6 +186,7 @@ export default class ActionModel extends BaseModel {
|
|
|
204
186
|
return new ProcessStatusSettingsModel(
|
|
205
187
|
this.getData("processStatus", {}),
|
|
206
188
|
this.getContribution("processTask", {}),
|
|
189
|
+
this.modelOptions,
|
|
207
190
|
);
|
|
208
191
|
}
|
|
209
192
|
|
|
@@ -11,7 +11,12 @@ import ContentConfiguration from "../contentconfiguration/ContentConfiguration";
|
|
|
11
11
|
|
|
12
12
|
import { ConfigurationException } from "../../exceptions";
|
|
13
13
|
|
|
14
|
-
import type { AttributeType, FormErrorAnchor } from "../types";
|
|
14
|
+
import type { AttributeType, FormErrorAnchor, ModelOptions } from "../types";
|
|
15
|
+
|
|
16
|
+
type AttributeCollectionOptions = {
|
|
17
|
+
...ModelOptions,
|
|
18
|
+
isReadonly: boolean,
|
|
19
|
+
};
|
|
15
20
|
|
|
16
21
|
/**
|
|
17
22
|
* Collection of attributes
|
|
@@ -20,7 +25,7 @@ class AttributeCollection extends ResourceCollection<AttributeType> {
|
|
|
20
25
|
constructor(
|
|
21
26
|
data: Object | Array<Object> = {},
|
|
22
27
|
contributions: Array<Object> = [],
|
|
23
|
-
|
|
28
|
+
modelOptions?: AttributeCollectionOptions,
|
|
24
29
|
) {
|
|
25
30
|
super();
|
|
26
31
|
|
|
@@ -28,11 +33,14 @@ class AttributeCollection extends ResourceCollection<AttributeType> {
|
|
|
28
33
|
contributions.forEach((contribution) => {
|
|
29
34
|
const [key] = Object.keys(contribution);
|
|
30
35
|
|
|
31
|
-
const attribute = createAttribute(key, data, contribution[key]
|
|
36
|
+
const attribute = createAttribute(key, data, contribution[key], {
|
|
37
|
+
origin: modelOptions?.origin,
|
|
38
|
+
contextPath: modelOptions?.contextPath,
|
|
39
|
+
});
|
|
32
40
|
|
|
33
41
|
if (attribute !== null) {
|
|
34
42
|
// when readonly is not explicitly set in the contributions, follow argument
|
|
35
|
-
if (isReadonly && !has(contribution[key], "readonly")) {
|
|
43
|
+
if (modelOptions?.isReadonly && !has(contribution[key], "readonly")) {
|
|
36
44
|
attribute.readonly = true;
|
|
37
45
|
}
|
|
38
46
|
|
|
@@ -30,6 +30,7 @@ import type {
|
|
|
30
30
|
AttributeType,
|
|
31
31
|
FormErrorAnchor,
|
|
32
32
|
IModelWithChildModels,
|
|
33
|
+
ModelOptions,
|
|
33
34
|
ModularUIModel,
|
|
34
35
|
} from "../types";
|
|
35
36
|
import type LinkModel from "../links/LinkModel";
|
|
@@ -74,8 +75,12 @@ export default class AttributeModel
|
|
|
74
75
|
|
|
75
76
|
/**
|
|
76
77
|
*/
|
|
77
|
-
constructor(
|
|
78
|
-
|
|
78
|
+
constructor(
|
|
79
|
+
attribute: Object,
|
|
80
|
+
attributeContributions: Object,
|
|
81
|
+
modelOptions?: ModelOptions,
|
|
82
|
+
) {
|
|
83
|
+
super(attribute, attributeContributions, modelOptions);
|
|
79
84
|
|
|
80
85
|
if (this.hasContentFromData && this.content.label) {
|
|
81
86
|
this._label = this.content.label;
|
|
@@ -108,6 +113,7 @@ export default class AttributeModel
|
|
|
108
113
|
this._links = new LinkCollection(
|
|
109
114
|
this.data._links,
|
|
110
115
|
this.contributions._links,
|
|
116
|
+
modelOptions,
|
|
111
117
|
);
|
|
112
118
|
}
|
|
113
119
|
|
|
@@ -4,6 +4,8 @@ import { has } from "../../utils/helpers/objects";
|
|
|
4
4
|
import BaseModel from "../base/BaseModel";
|
|
5
5
|
import AttributeCollection from "./AttributeCollection";
|
|
6
6
|
|
|
7
|
+
import type { ModelOptions } from "../types";
|
|
8
|
+
|
|
7
9
|
/**
|
|
8
10
|
*/
|
|
9
11
|
export default class AttributeSetModel extends BaseModel {
|
|
@@ -12,8 +14,13 @@ export default class AttributeSetModel extends BaseModel {
|
|
|
12
14
|
|
|
13
15
|
/**
|
|
14
16
|
*/
|
|
15
|
-
constructor(
|
|
16
|
-
|
|
17
|
+
constructor(
|
|
18
|
+
key: string = "",
|
|
19
|
+
data: Object = {},
|
|
20
|
+
contributions: Object = {},
|
|
21
|
+
modelOptions?: ModelOptions,
|
|
22
|
+
) {
|
|
23
|
+
super(data, contributions, modelOptions);
|
|
17
24
|
|
|
18
25
|
const attributeContributions = this.contributions.attributes
|
|
19
26
|
? this.contributions.attributes.filter((contribution) => {
|
|
@@ -25,7 +32,7 @@ export default class AttributeSetModel extends BaseModel {
|
|
|
25
32
|
this._attributeCollection = new AttributeCollection(
|
|
26
33
|
this.data,
|
|
27
34
|
attributeContributions,
|
|
28
|
-
true,
|
|
35
|
+
{ ...modelOptions, isReadonly: true },
|
|
29
36
|
);
|
|
30
37
|
|
|
31
38
|
this._key = key;
|
|
@@ -77,6 +84,7 @@ export default class AttributeSetModel extends BaseModel {
|
|
|
77
84
|
dynamicschema: this.data.dynamicschema,
|
|
78
85
|
},
|
|
79
86
|
this.contributions.objects[key],
|
|
87
|
+
this.modelOptions,
|
|
80
88
|
);
|
|
81
89
|
}
|
|
82
90
|
|
|
@@ -10,7 +10,7 @@ import ChoiceAttributeOptionModel from "./ChoiceAttributeOptionModel";
|
|
|
10
10
|
import { RENDER_SECTION_LABEL } from "../../constants/LayoutHints";
|
|
11
11
|
import { ATTRIBUTE_WIDTH } from "../../constants";
|
|
12
12
|
|
|
13
|
-
import type { AttributeType } from "../types";
|
|
13
|
+
import type { AttributeType, ModelOptions } from "../types";
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Model for a boolean attribute
|
|
@@ -22,14 +22,18 @@ export default class BooleanAttributeModel extends AttributeModel {
|
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
*/
|
|
25
|
-
constructor(
|
|
26
|
-
|
|
25
|
+
constructor(
|
|
26
|
+
attribute: Object,
|
|
27
|
+
attributeContributions: Object,
|
|
28
|
+
modelOptions?: ModelOptions,
|
|
29
|
+
) {
|
|
30
|
+
super(attribute, attributeContributions, modelOptions);
|
|
27
31
|
|
|
28
32
|
this._referenceDate = this.getData("referenceDate", DateUtil.now());
|
|
29
33
|
this._options = ChoiceAttributeOptionCollection.create(
|
|
30
34
|
attribute,
|
|
31
35
|
attributeContributions,
|
|
32
|
-
this.referenceDate,
|
|
36
|
+
{ ...modelOptions, referenceDate: this.referenceDate },
|
|
33
37
|
);
|
|
34
38
|
}
|
|
35
39
|
|
|
@@ -16,7 +16,12 @@ import {
|
|
|
16
16
|
} from "../../constants/LayoutHints";
|
|
17
17
|
import { ATTRIBUTE_WIDTH } from "../../constants";
|
|
18
18
|
|
|
19
|
-
import type {
|
|
19
|
+
import type {
|
|
20
|
+
ModularUIModel,
|
|
21
|
+
AttributeType,
|
|
22
|
+
FormErrorAnchor,
|
|
23
|
+
ModelOptions,
|
|
24
|
+
} from "../types";
|
|
20
25
|
import type LinkModel from "../links/LinkModel";
|
|
21
26
|
import type ErrorResponse from "../error/ErrorResponse";
|
|
22
27
|
|
|
@@ -31,14 +36,18 @@ export default class ChoiceAttributeModel extends AttributeModel {
|
|
|
31
36
|
/**
|
|
32
37
|
* Constructs a choice attribute
|
|
33
38
|
*/
|
|
34
|
-
constructor(
|
|
35
|
-
|
|
39
|
+
constructor(
|
|
40
|
+
attribute: Object,
|
|
41
|
+
attributeContributions: Object,
|
|
42
|
+
modelOptions?: ModelOptions,
|
|
43
|
+
) {
|
|
44
|
+
super(attribute, attributeContributions, modelOptions);
|
|
36
45
|
|
|
37
46
|
this._referenceDate = this.getData("referenceDate", DateUtil.now());
|
|
38
47
|
this._options = ChoiceAttributeOptionCollection.create(
|
|
39
48
|
attribute,
|
|
40
49
|
attributeContributions,
|
|
41
|
-
this.referenceDate,
|
|
50
|
+
{ ...modelOptions, referenceDate: this.referenceDate },
|
|
42
51
|
);
|
|
43
52
|
|
|
44
53
|
if (this.layouthint.has(SORT_OPTIONS)) {
|
|
@@ -3,14 +3,27 @@ import ResourceCollection from "../base/ResourceCollection";
|
|
|
3
3
|
import ChoiceAttributeOptionModel from "./ChoiceAttributeOptionModel";
|
|
4
4
|
import ListHeaderModel from "../list/ListHeaderModel";
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { getBasePathModularUI } from "../../constants";
|
|
7
7
|
|
|
8
|
+
import { DateUtil } from "../../utils";
|
|
9
|
+
|
|
10
|
+
import type { ChoiceAttributeOptionModelOptions } from "./ChoiceAttributeOptionModel";
|
|
8
11
|
/**
|
|
9
12
|
*/
|
|
10
13
|
class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttributeOptionModel> {
|
|
14
|
+
_modelOptions: ChoiceAttributeOptionModelOptions;
|
|
11
15
|
_headers: Array<ListHeaderModel> = [];
|
|
12
16
|
_sortOptions: boolean = false;
|
|
13
17
|
|
|
18
|
+
constructor(modelOptions?: ChoiceAttributeOptionModelOptions) {
|
|
19
|
+
super();
|
|
20
|
+
this._modelOptions = modelOptions || {
|
|
21
|
+
origin: "",
|
|
22
|
+
contextPath: getBasePathModularUI(),
|
|
23
|
+
referenceDate: DateUtil.now(),
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
|
|
14
27
|
/**
|
|
15
28
|
*/
|
|
16
29
|
set sortOptions(sortOptions: boolean) {
|
|
@@ -34,16 +47,16 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
34
47
|
static create(
|
|
35
48
|
data: Object = {},
|
|
36
49
|
contributions: Object = {},
|
|
37
|
-
|
|
50
|
+
modelOptions?: ChoiceAttributeOptionModelOptions,
|
|
38
51
|
): ChoiceAttributeOptionCollection {
|
|
39
|
-
const collection = new ChoiceAttributeOptionCollection();
|
|
52
|
+
const collection = new ChoiceAttributeOptionCollection(modelOptions);
|
|
40
53
|
|
|
41
54
|
if (contributions.type === "boolean") {
|
|
42
55
|
collection.addBooleanOptions(data.value, contributions);
|
|
43
56
|
} else if (data.dynamicschema != null) {
|
|
44
|
-
collection.addDynamicSchema(data, contributions
|
|
57
|
+
collection.addDynamicSchema(data, contributions);
|
|
45
58
|
} else if (contributions.options != null) {
|
|
46
|
-
collection.addOptions(data, contributions
|
|
59
|
+
collection.addOptions(data, contributions);
|
|
47
60
|
}
|
|
48
61
|
|
|
49
62
|
if (contributions.children != null) {
|
|
@@ -102,22 +115,17 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
102
115
|
addOptions(
|
|
103
116
|
data: Object,
|
|
104
117
|
contributions: Object,
|
|
105
|
-
referenceDate: ISO_DATE = DateUtil.now(),
|
|
106
118
|
): ChoiceAttributeOptionCollection {
|
|
107
119
|
const selectedValues = this.getSelectedOptions(data);
|
|
108
120
|
|
|
109
121
|
contributions.options.forEach((optionContributions) => {
|
|
110
122
|
const optionCode = optionContributions.code || optionContributions.key;
|
|
111
123
|
|
|
112
|
-
this.addOption(
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
optionType: contributions.optionType ?? "generic",
|
|
118
|
-
},
|
|
119
|
-
referenceDate,
|
|
120
|
-
);
|
|
124
|
+
this.addOption(selectedValues, {
|
|
125
|
+
...optionContributions,
|
|
126
|
+
count: this.getOptionCount(optionCode, data.options),
|
|
127
|
+
optionType: contributions.optionType ?? "generic",
|
|
128
|
+
});
|
|
121
129
|
});
|
|
122
130
|
|
|
123
131
|
return this;
|
|
@@ -129,20 +137,15 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
129
137
|
addDynamicSchema(
|
|
130
138
|
data: Object,
|
|
131
139
|
contributions: Object,
|
|
132
|
-
referenceDate: ISO_DATE = DateUtil.now(),
|
|
133
140
|
): ChoiceAttributeOptionCollection {
|
|
134
141
|
const selectedValues = this.getSelectedOptions(data);
|
|
135
142
|
data.dynamicschema.forEach((optionDynamicschema) => {
|
|
136
|
-
this.addOption(
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
elementsContributions: contributions.children,
|
|
143
|
-
},
|
|
144
|
-
referenceDate,
|
|
145
|
-
);
|
|
143
|
+
this.addOption(selectedValues, {
|
|
144
|
+
...optionDynamicschema,
|
|
145
|
+
count: this.getOptionCount(optionDynamicschema.code, data.options),
|
|
146
|
+
optionType: contributions.optionType ?? "generic",
|
|
147
|
+
elementsContributions: contributions.children,
|
|
148
|
+
});
|
|
146
149
|
});
|
|
147
150
|
|
|
148
151
|
return this;
|
|
@@ -189,12 +192,11 @@ class ChoiceAttributeOptionCollection extends ResourceCollection<ChoiceAttribute
|
|
|
189
192
|
addOption(
|
|
190
193
|
data: string | Array<string>,
|
|
191
194
|
contributions: Object,
|
|
192
|
-
referenceDate: ISO_DATE = DateUtil.now(),
|
|
193
195
|
): ChoiceAttributeOptionCollection {
|
|
194
196
|
const optionModel = new ChoiceAttributeOptionModel(
|
|
195
197
|
Array.isArray(data) ? data : [data],
|
|
196
198
|
contributions,
|
|
197
|
-
|
|
199
|
+
this._modelOptions,
|
|
198
200
|
);
|
|
199
201
|
|
|
200
202
|
this.add(optionModel);
|
|
@@ -13,11 +13,20 @@ import AttributeCollection from "./AttributeCollection";
|
|
|
13
13
|
import ConceptDetailModel from "../concepts/ConceptDetailModel";
|
|
14
14
|
import AttributeContent from "./AttributeContent";
|
|
15
15
|
|
|
16
|
-
import type {
|
|
16
|
+
import type {
|
|
17
|
+
IModelWithChildModels,
|
|
18
|
+
ModelOptions,
|
|
19
|
+
ModularUIModel,
|
|
20
|
+
} from "../types";
|
|
17
21
|
import type ListItemModel from "../list/ListItemModel";
|
|
18
22
|
import type LinkModel from "../links/LinkModel";
|
|
19
23
|
import type ErrorResponse from "../error/ErrorResponse";
|
|
20
24
|
|
|
25
|
+
export type ChoiceAttributeOptionModelOptions = {
|
|
26
|
+
...ModelOptions,
|
|
27
|
+
referenceDate: ISO_DATE,
|
|
28
|
+
};
|
|
29
|
+
|
|
21
30
|
/**
|
|
22
31
|
*/
|
|
23
32
|
class ChoiceAttributeOptionModel
|
|
@@ -40,7 +49,7 @@ class ChoiceAttributeOptionModel
|
|
|
40
49
|
constructor(
|
|
41
50
|
selectedValues: Array<string> = [],
|
|
42
51
|
option: Object = {},
|
|
43
|
-
|
|
52
|
+
modelOptions?: ChoiceAttributeOptionModelOptions,
|
|
44
53
|
) {
|
|
45
54
|
super({}, option);
|
|
46
55
|
|
|
@@ -48,14 +57,18 @@ class ChoiceAttributeOptionModel
|
|
|
48
57
|
|
|
49
58
|
this._isSelected = selectedValues.includes(this.code);
|
|
50
59
|
|
|
51
|
-
this._referenceDate = referenceDate;
|
|
60
|
+
this._referenceDate = modelOptions?.referenceDate || DateUtil.now();
|
|
52
61
|
|
|
53
62
|
this._level = 0;
|
|
54
63
|
|
|
55
|
-
this._attributeCollection = this.createAttributeCollection();
|
|
56
|
-
this._children = this.addChildren(selectedValues, option,
|
|
64
|
+
this._attributeCollection = this.createAttributeCollection(modelOptions);
|
|
65
|
+
this._children = this.addChildren(selectedValues, option, modelOptions);
|
|
57
66
|
|
|
58
|
-
this._links = new LinkCollection(
|
|
67
|
+
this._links = new LinkCollection(
|
|
68
|
+
this.contributions._links,
|
|
69
|
+
{},
|
|
70
|
+
{ origin: modelOptions?.origin, contextPath: modelOptions?.contextPath },
|
|
71
|
+
);
|
|
59
72
|
|
|
60
73
|
this._content = new AttributeContent(option.content);
|
|
61
74
|
|
|
@@ -150,12 +163,18 @@ class ChoiceAttributeOptionModel
|
|
|
150
163
|
|
|
151
164
|
/**
|
|
152
165
|
*/
|
|
153
|
-
createAttributeCollection(
|
|
166
|
+
createAttributeCollection(
|
|
167
|
+
modelOptions?: ChoiceAttributeOptionModelOptions,
|
|
168
|
+
): AttributeCollection {
|
|
154
169
|
const contributions = this.getContribution("elementsContributions", []);
|
|
155
170
|
|
|
156
171
|
if (has(this.contributions, "elements")) {
|
|
157
172
|
const data = this.getContribution("elements", {});
|
|
158
|
-
return new AttributeCollection(data, contributions,
|
|
173
|
+
return new AttributeCollection(data, contributions, {
|
|
174
|
+
origin: modelOptions?.origin,
|
|
175
|
+
contextPath: modelOptions?.contextPath,
|
|
176
|
+
isReadonly: true,
|
|
177
|
+
});
|
|
159
178
|
}
|
|
160
179
|
|
|
161
180
|
return new AttributeCollection();
|
|
@@ -250,11 +269,11 @@ class ChoiceAttributeOptionModel
|
|
|
250
269
|
addChildren(
|
|
251
270
|
selectedValues: Array<string> = [],
|
|
252
271
|
option: Object = {},
|
|
253
|
-
|
|
272
|
+
modelOptions?: ChoiceAttributeOptionModelOptions,
|
|
254
273
|
): ChoiceAttributeOptionCollection {
|
|
255
274
|
// When contributions contain elements this is a list not nested options
|
|
256
275
|
if (has(option, "elements")) {
|
|
257
|
-
return new ChoiceAttributeOptionCollection();
|
|
276
|
+
return new ChoiceAttributeOptionCollection(modelOptions);
|
|
258
277
|
}
|
|
259
278
|
|
|
260
279
|
return ChoiceAttributeOptionCollection.create(
|
|
@@ -262,7 +281,7 @@ class ChoiceAttributeOptionModel
|
|
|
262
281
|
value: selectedValues,
|
|
263
282
|
},
|
|
264
283
|
{ options: option?.children ?? [] },
|
|
265
|
-
|
|
284
|
+
modelOptions,
|
|
266
285
|
);
|
|
267
286
|
}
|
|
268
287
|
|