@beinformed/ui 1.63.13 → 1.64.0
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 +17 -0
- package/esm/constants/Constants.js +4 -0
- package/esm/constants/Constants.js.flow +5 -0
- package/esm/constants/Constants.js.map +1 -1
- package/esm/hooks/__tests__/UseModularUIModel.spec.js.flow +7 -5
- package/esm/hooks/index.js +2 -0
- package/esm/hooks/index.js.flow +2 -0
- package/esm/hooks/index.js.map +1 -1
- package/esm/hooks/useList.js +69 -0
- package/esm/hooks/useList.js.flow +90 -0
- package/esm/hooks/useList.js.map +1 -0
- package/esm/hooks/useModularUIBasic.js +1 -1
- package/esm/hooks/useModularUIBasic.js.flow +6 -2
- package/esm/hooks/useModularUIBasic.js.map +1 -1
- package/esm/hooks/useModularUIModel.js +0 -34
- package/esm/hooks/useModularUIModel.js.flow +1 -55
- package/esm/hooks/useModularUIModel.js.map +1 -1
- package/esm/hooks/usePanel.js +51 -0
- package/esm/hooks/usePanel.js.flow +76 -0
- package/esm/hooks/usePanel.js.map +1 -0
- package/esm/models/filters/BaseFilterModel.js +27 -1
- package/esm/models/filters/BaseFilterModel.js.flow +30 -1
- package/esm/models/filters/BaseFilterModel.js.map +1 -1
- package/esm/models/filters/FilterCollection.js +16 -0
- package/esm/models/filters/FilterCollection.js.flow +16 -0
- package/esm/models/filters/FilterCollection.js.map +1 -1
- package/esm/models/filters/StringFilterModel.js +8 -0
- package/esm/models/filters/StringFilterModel.js.flow +8 -0
- package/esm/models/filters/StringFilterModel.js.map +1 -1
- package/esm/models/href/ListHref.js +3 -1
- package/esm/models/href/ListHref.js.flow +11 -8
- package/esm/models/href/ListHref.js.map +1 -1
- package/esm/models/list/ListModel.js +17 -7
- package/esm/models/list/ListModel.js.flow +20 -8
- package/esm/models/list/ListModel.js.map +1 -1
- package/esm/models/paging/PagesizeModel.js +6 -0
- package/esm/models/paging/PagesizeModel.js.flow +6 -0
- package/esm/models/paging/PagesizeModel.js.map +1 -1
- package/esm/models/paging/PagingModel.js +11 -0
- package/esm/models/paging/PagingModel.js.flow +11 -0
- package/esm/models/paging/PagingModel.js.map +1 -1
- package/esm/redux/actions/SignIn.js +2 -1
- package/esm/redux/actions/SignIn.js.flow +3 -2
- package/esm/redux/actions/SignIn.js.map +1 -1
- package/lib/constants/Constants.js +5 -1
- package/lib/constants/Constants.js.map +1 -1
- package/lib/hooks/index.js +22 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useList.js +80 -0
- package/lib/hooks/useList.js.map +1 -0
- package/lib/hooks/useModularUIBasic.js +2 -2
- package/lib/hooks/useModularUIBasic.js.map +1 -1
- package/lib/hooks/useModularUIModel.js +1 -39
- package/lib/hooks/useModularUIModel.js.map +1 -1
- package/lib/hooks/usePanel.js +59 -0
- package/lib/hooks/usePanel.js.map +1 -0
- package/lib/models/filters/BaseFilterModel.js +26 -0
- package/lib/models/filters/BaseFilterModel.js.map +1 -1
- package/lib/models/filters/FilterCollection.js +15 -0
- package/lib/models/filters/FilterCollection.js.map +1 -1
- package/lib/models/filters/StringFilterModel.js +8 -0
- package/lib/models/filters/StringFilterModel.js.map +1 -1
- package/lib/models/href/ListHref.js +3 -1
- package/lib/models/href/ListHref.js.map +1 -1
- package/lib/models/list/ListModel.js +17 -7
- package/lib/models/list/ListModel.js.map +1 -1
- package/lib/models/paging/PagesizeModel.js +6 -0
- package/lib/models/paging/PagesizeModel.js.map +1 -1
- package/lib/models/paging/PagingModel.js +11 -0
- package/lib/models/paging/PagingModel.js.map +1 -1
- package/lib/redux/actions/SignIn.js +2 -1
- package/lib/redux/actions/SignIn.js.map +1 -1
- package/package.json +8 -8
- package/src/constants/Constants.js +5 -0
- package/src/hooks/__tests__/UseModularUIModel.spec.js +7 -5
- package/src/hooks/index.js +2 -0
- package/src/hooks/useList.js +90 -0
- package/src/hooks/useModularUIBasic.js +6 -2
- package/src/hooks/useModularUIModel.js +1 -55
- package/src/hooks/usePanel.js +76 -0
- package/src/models/filters/BaseFilterModel.js +30 -1
- package/src/models/filters/FilterCollection.js +16 -0
- package/src/models/filters/StringFilterModel.js +8 -0
- package/src/models/href/ListHref.js +11 -8
- package/src/models/list/ListModel.js +20 -8
- package/src/models/paging/PagesizeModel.js +6 -0
- package/src/models/paging/PagingModel.js +11 -0
- package/src/redux/actions/SignIn.js +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListModel.js","names":["_ModularUIResponse","_interopRequireDefault","require","_ListItemCollection","_ListDetailModel","_ActionCollection","_FilterCollection","_GroupingModel","_ListHeaderModel","_ListHref","_ListItemModel","_PagingModel","_ResourceModel","_SortingModel","_LayoutHints","ListModel","ResourceModel","constructor","args","_defineProperty2","default","type","modelName","isApplicableModel","data","_context","resourceType","contributions","resourcetype","_endsWith","call","_includes","getInitialChildModelLinks","layouthint","has","SHOW_ONE_RESULT_AS_DETAIL","listItemCollection","length","_context2","_map","listItem","listDetailLink","selflink","targetModel","ListDetailModel","setChildModels","models","detail","_find","childModel","label","introtext","content","text","message","Array","isArray","texts","_listItemCollection","ListItemCollection","createFromList","_detail","_context3","listitemHref","selfhref","listitem","equals","setSelfHref","grouping","_grouping","setGrouping","GroupingModel","dynamicschema","contexts","modelOptions","hasGrouping","hasGroups","hasResults","hasItems","shouldHide","HIDE_WHEN_EMPTY","actionCollection","isEmpty","filterCollection","hasActiveFilters","getListItemById","id","_context4","decodedId","decodeURIComponent","toString","result","getListItemByHref","href","_context5","paging","_paging","setPaging","PagingModel","sorting","_sorting","setSorting","SortingModel","getSortingLabels","_filterCollection","setFilters","FilterCollection","_filter","listkey","key","filter","isFiltered","_actionCollection","setActionCollection","ActionCollection","actions","hasList","selfLink","links","getLinkByKey","ListHref","_selfhref","headers","_headers","setHeaders","tempHeaders","results","_keys","forEach","attributes","attribute","listHeader","ListHeaderModel","exists","some","tempHeader","CASEVIEW_LINK","push","sortingLabels","attributeKey","getActionsByType","actionType","getAdditionalDetailLabel","resultTypes","resultType","_context6","link","_links","panel","Function","bind","panelLink","exports"],"sources":["../../../src/models/list/ListModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport ListItemCollection from \"../list/ListItemCollection\";\nimport ListDetailModel from \"../list/ListDetailModel\";\nimport ActionCollection from \"../actions/ActionCollection\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport GroupingModel from \"../grouping/GroupingModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\nimport ListHref from \"../href/ListHref\";\nimport ListItemModel from \"../list/ListItemModel\";\nimport PagingModel from \"../paging/PagingModel\";\nimport ResourceModel from \"../base/ResourceModel\";\nimport SortingModel from \"../sorting/SortingModel\";\nimport {\n CASEVIEW_LINK,\n HIDE_WHEN_EMPTY,\n SHOW_ONE_RESULT_AS_DETAIL,\n} from \"../../constants/LayoutHints\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Defines a list object\n */\nexport default class ListModel extends ResourceModel {\n _detail: ?ListDetailModel = null;\n _headers: Array<ListHeaderModel>;\n _paging: PagingModel;\n _filterCollection: FilterCollection;\n _sorting: SortingModel;\n _actionCollection: ActionCollection;\n _listItemCollection: ListItemCollection;\n _grouping: GroupingModel;\n _selfhref: ListHref;\n\n /**\n */\n get type(): string {\n return \"List\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ListModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n const resourceType = data.contributions?.resourcetype ?? \"\";\n return (\n resourceType.endsWith(\"List\") ||\n resourceType.endsWith(\"ListPanel\") ||\n resourceType.endsWith(\"RelatedDataStorePanel\") ||\n resourceType.endsWith(\"RelatedDatastorePanel\") ||\n [\n \"list-related-cases\",\n \"RecordPanel\",\n \"EventHistoryPanel\",\n \"NotePanel\",\n \"AppointmentPanel\",\n \"DocumentPanel\",\n \"AssignmentPanel\",\n ].includes(resourceType)\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n if (\n this.layouthint.has(SHOW_ONE_RESULT_AS_DETAIL) &&\n this.listItemCollection.length === 1\n ) {\n return this.listItemCollection.map((listItem) => {\n const listDetailLink = listItem.selflink;\n listDetailLink.targetModel = ListDetailModel;\n return listDetailLink;\n });\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.detail = models.find((childModel) => childModel.type === \"ListDetail\");\n }\n\n /**\n * Getting the label of the list\n */\n get label(): string {\n return this.contributions.label;\n }\n\n /**\n * Getting the introduction text\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 results\n */\n get listItemCollection(): ListItemCollection {\n if (!this._listItemCollection) {\n this._listItemCollection = ListItemCollection.createFromList(this);\n }\n\n return this._listItemCollection;\n }\n\n /**\n * Set results\n */\n set listItemCollection(listItemCollection: ListItemCollection) {\n this._listItemCollection = listItemCollection;\n }\n\n /**\n * Getting the detail\n */\n get detail(): ?ListDetailModel {\n return this._detail;\n }\n\n /**\n * Add detail model to the {ListModel}\n */\n set detail(detail: ?ModularUIModel) {\n if (detail instanceof ListDetailModel) {\n const listitemHref = detail.selfhref;\n\n const listitem = this.listItemCollection.find((listItem) =>\n listItem.selfhref.equals(listitemHref),\n );\n\n if (listitem) {\n detail.listitem = listitem;\n }\n\n this._detail = detail;\n }\n\n this.setSelfHref();\n }\n\n /**\n * Retrieve grouping information\n */\n get grouping(): GroupingModel {\n if (!this._grouping) {\n this._grouping = this.setGrouping();\n }\n\n return this._grouping;\n }\n\n /**\n */\n setGrouping(): GroupingModel {\n return new GroupingModel(\n { ...this.data.grouping, dynamicschema: this.data.dynamicschema },\n this.contributions.contexts,\n this.modelOptions,\n );\n }\n\n /**\n */\n hasGrouping(): boolean {\n return this.grouping.hasGroups();\n }\n\n /**\n * Check if list has results\n */\n hasResults(): boolean {\n return this.listItemCollection.hasItems;\n }\n\n /**\n */\n get shouldHide(): boolean {\n return (\n this.layouthint.has(HIDE_WHEN_EMPTY) &&\n !this.hasResults() &&\n this.actionCollection.isEmpty &&\n !this.filterCollection.hasActiveFilters()\n );\n }\n\n /**\n * Get list item by ID\n */\n getListItemById(id: string | number): ListItemModel | null {\n const decodedId = decodeURIComponent(id.toString());\n return this.listItemCollection.find(\n (result) => result.id.toString() === decodedId,\n );\n }\n\n /**\n * Get list item by Href\n */\n getListItemByHref(href: ListHref): ListItemModel | null {\n return this.listItemCollection.find((result) =>\n result.selfhref.equals(href),\n );\n }\n\n /**\n * Getting paging information\n */\n get paging(): PagingModel {\n if (!this._paging) {\n this._paging = this.setPaging();\n }\n return this._paging;\n }\n\n /**\n */\n setPaging(): PagingModel {\n return new PagingModel(this.data.paging, this.contributions.paging);\n }\n\n /**\n * Getting sorting information\n */\n get sorting(): SortingModel {\n if (!this._sorting) {\n this._sorting = this.setSorting();\n }\n\n return this._sorting;\n }\n\n /**\n */\n setSorting(): SortingModel {\n return new SortingModel(\n this.contributions,\n this.getSortingLabels(),\n this.grouping,\n this.data.sorting,\n );\n }\n\n /**\n * Getting the filters\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection) {\n this._filterCollection = this.setFilters();\n }\n\n return this._filterCollection;\n }\n\n /**\n * Set filterCollection\n */\n set filterCollection(filterCollection: FilterCollection) {\n this._filterCollection = filterCollection;\n }\n\n /**\n */\n setFilters(): FilterCollection {\n return new FilterCollection(\n this.data.filter,\n {\n listkey: this.key,\n filter: this.contributions.filter,\n contexts: this.contributions.contexts,\n dynamicschema: this.data.dynamicschema,\n },\n this.modelOptions,\n );\n }\n\n /**\n * Indicates if list results are filtered\n */\n isFiltered(): boolean {\n return this.filterCollection.hasActiveFilters();\n }\n\n /**\n * Getting actions\n */\n get actionCollection(): ActionCollection {\n if (!this._actionCollection) {\n this._actionCollection = this.setActionCollection();\n }\n return this._actionCollection;\n }\n\n /**\n */\n setActionCollection(): ActionCollection {\n return new ActionCollection(\n this.data.actions,\n this.contributions.actions,\n this.modelOptions,\n );\n }\n\n /**\n * Contains this model list data\n */\n hasList(): boolean {\n return this.key != null;\n }\n\n /**\n * Sets self href from links collection\n */\n setSelfHref(): ListHref {\n const selfLink = this.links ? this.links.getLinkByKey(\"self\") : null;\n\n if (selfLink !== null) {\n return new ListHref(selfLink.href, this);\n }\n\n return new ListHref();\n }\n\n /**\n * Getting the self link of this list\n */\n get selfhref(): ListHref {\n if (!this._selfhref) {\n this._selfhref = this.setSelfHref();\n }\n return this._selfhref;\n }\n\n /**\n * Getting the headers of this list\n */\n get headers(): Array<ListHeaderModel> {\n if (!this._headers) {\n this._headers = this.setHeaders();\n }\n\n return this._headers;\n }\n\n /**\n * Set initial headers of list\n */\n setHeaders(): Array<ListHeaderModel> {\n const tempHeaders = [];\n\n if (this.contributions.results) {\n const { results } = this.contributions;\n\n Object.keys(results).forEach((key) => {\n results[key].attributes.forEach((attribute) => {\n const listHeader = new ListHeaderModel(attribute, this.sorting);\n\n const exists = tempHeaders.some((tempHeader) =>\n tempHeader.equals(listHeader),\n );\n\n if (!exists && !listHeader.layouthint.has(CASEVIEW_LINK)) {\n tempHeaders.push(listHeader);\n }\n });\n });\n }\n\n return tempHeaders;\n }\n\n /**\n */\n getSortingLabels(): { [string]: string } {\n const sortingLabels: { [string]: string } = {};\n\n if (this.contributions.results) {\n const { results } = this.contributions;\n Object.keys(results).forEach((key) => {\n results[key].attributes.forEach((attribute) => {\n const attributeKey = Object.keys(attribute)[0];\n sortingLabels[attributeKey] = attribute[attributeKey].label;\n });\n });\n }\n\n return sortingLabels;\n }\n\n /**\n * Retrieve all actions by type\n */\n getActionsByType(actionType: string): ActionCollection {\n return this.actionCollection.getActionsByType(actionType);\n }\n\n /**\n * Retrieves the label of the first additional detail link by resource type\n */\n getAdditionalDetailLabel(resourceType: string): string | null {\n const resultTypes = Object.keys(this.contributions.results);\n\n for (const resultType of resultTypes) {\n const link = this.contributions.results[resultType]._links?.panel?.find(\n (panelLink) => panelLink.resourcetype === resourceType,\n );\n if (link) {\n return link.label;\n }\n }\n\n return null;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ListModel.js","names":["_ModularUIResponse","_interopRequireDefault","require","_ListItemCollection","_ListDetailModel","_ActionCollection","_FilterCollection","_GroupingModel","_ListHeaderModel","_ListHref","_ListItemModel","_PagingModel","_ResourceModel","_SortingModel","_constants","_LayoutHints","ListModel","ResourceModel","constructor","args","_defineProperty2","default","type","modelName","isApplicableModel","data","_context","resourceType","contributions","resourcetype","_endsWith","call","_includes","getInitialChildModelLinks","layouthint","has","SHOW_ONE_RESULT_AS_DETAIL","listItemCollection","length","_context2","_map","listItem","listDetailLink","selflink","targetModel","ListDetailModel","setChildModels","models","detail","_find","childModel","requestMethod","mustPost","filterCollection","some","filter","parameterType","PARAMETER_TYPES","BODY","hasValue","HTTP_METHODS","POST","GET","label","introtext","content","text","message","Array","isArray","texts","_listItemCollection","ListItemCollection","createFromList","_detail","_context3","listitemHref","selfhref","listitem","equals","grouping","_grouping","setGrouping","GroupingModel","dynamicschema","contexts","modelOptions","hasGrouping","hasGroups","hasResults","hasItems","shouldHide","HIDE_WHEN_EMPTY","actionCollection","isEmpty","hasActiveFilters","getListItemById","id","_context4","decodedId","decodeURIComponent","toString","result","getListItemByHref","href","_context5","paging","_paging","setPaging","PagingModel","sorting","_sorting","setSorting","SortingModel","getSortingLabels","_filterCollection","setFilters","FilterCollection","_filter","listkey","key","isFiltered","_actionCollection","setActionCollection","ActionCollection","actions","hasList","getSelfHref","selfLink","links","getLinkByKey","ListHref","headers","_headers","setHeaders","tempHeaders","results","_keys","forEach","attributes","attribute","listHeader","ListHeaderModel","exists","tempHeader","CASEVIEW_LINK","push","sortingLabels","attributeKey","getActionsByType","actionType","getAdditionalDetailLabel","resultTypes","resultType","_context6","link","_links","panel","Function","bind","panelLink","formdata","_stringify","exports"],"sources":["../../../src/models/list/ListModel.js"],"sourcesContent":["// @flow\nimport ModularUIResponse from \"../../modularui/ModularUIResponse\";\n\nimport ListItemCollection from \"../list/ListItemCollection\";\nimport ListDetailModel from \"../list/ListDetailModel\";\nimport ActionCollection from \"../actions/ActionCollection\";\nimport FilterCollection from \"../filters/FilterCollection\";\nimport GroupingModel from \"../grouping/GroupingModel\";\nimport ListHeaderModel from \"../list/ListHeaderModel\";\nimport ListHref from \"../href/ListHref\";\nimport ListItemModel from \"../list/ListItemModel\";\nimport PagingModel from \"../paging/PagingModel\";\nimport ResourceModel from \"../base/ResourceModel\";\nimport SortingModel from \"../sorting/SortingModel\";\nimport { HTTP_METHODS, PARAMETER_TYPES } from \"../../constants\";\n\nimport {\n CASEVIEW_LINK,\n HIDE_WHEN_EMPTY,\n SHOW_ONE_RESULT_AS_DETAIL,\n} from \"../../constants/LayoutHints\";\n\nimport type { ModularUIModel } from \"../types\";\nimport type LinkModel from \"../links/LinkModel\";\n\n/**\n * Defines a list object\n */\nexport default class ListModel extends ResourceModel {\n _detail: ?ListDetailModel = null;\n _headers: Array<ListHeaderModel>;\n _paging: PagingModel;\n _filterCollection: FilterCollection;\n _sorting: SortingModel;\n _actionCollection: ActionCollection;\n _listItemCollection: ListItemCollection;\n _grouping: GroupingModel;\n\n /**\n */\n get type(): string {\n return \"List\";\n }\n\n /**\n */\n static get modelName(): string {\n return \"ListModel\";\n }\n\n /**\n */\n static isApplicableModel(data: ModularUIResponse): boolean {\n const resourceType = data.contributions?.resourcetype ?? \"\";\n return (\n resourceType.endsWith(\"List\") ||\n resourceType.endsWith(\"ListPanel\") ||\n resourceType.endsWith(\"RelatedDataStorePanel\") ||\n resourceType.endsWith(\"RelatedDatastorePanel\") ||\n [\n \"list-related-cases\",\n \"RecordPanel\",\n \"EventHistoryPanel\",\n \"NotePanel\",\n \"AppointmentPanel\",\n \"DocumentPanel\",\n \"AssignmentPanel\",\n ].includes(resourceType)\n );\n }\n\n /**\n */\n getInitialChildModelLinks(): Array<LinkModel> {\n if (\n this.layouthint.has(SHOW_ONE_RESULT_AS_DETAIL) &&\n this.listItemCollection.length === 1\n ) {\n return this.listItemCollection.map((listItem) => {\n const listDetailLink = listItem.selflink;\n listDetailLink.targetModel = ListDetailModel;\n return listDetailLink;\n });\n }\n\n return [];\n }\n\n /**\n */\n setChildModels(models: Array<ModularUIModel>) {\n this.detail = models.find((childModel) => childModel.type === \"ListDetail\");\n }\n\n /**\n */\n get requestMethod(): $Keys<typeof HTTP_METHODS> {\n const mustPost = this.filterCollection.some(\n (filter) =>\n filter.parameterType === PARAMETER_TYPES.BODY && filter.hasValue(),\n );\n return mustPost ? HTTP_METHODS.POST : HTTP_METHODS.GET;\n }\n\n /**\n * Getting the label of the list\n */\n get label(): string {\n return this.contributions.label;\n }\n\n /**\n * Getting the introduction text\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 results\n */\n get listItemCollection(): ListItemCollection {\n if (!this._listItemCollection) {\n this._listItemCollection = ListItemCollection.createFromList(this);\n }\n\n return this._listItemCollection;\n }\n\n /**\n * Set results\n */\n set listItemCollection(listItemCollection: ListItemCollection) {\n this._listItemCollection = listItemCollection;\n }\n\n /**\n * Getting the detail\n */\n get detail(): ?ListDetailModel {\n return this._detail;\n }\n\n /**\n * Add detail model to the {ListModel}\n */\n set detail(detail: ?ModularUIModel) {\n if (detail instanceof ListDetailModel) {\n const listitemHref = detail.selfhref;\n\n const listitem = this.listItemCollection.find((listItem) =>\n listItem.selfhref.equals(listitemHref),\n );\n\n if (listitem) {\n detail.listitem = listitem;\n }\n\n this._detail = detail;\n }\n }\n\n /**\n * Retrieve grouping information\n */\n get grouping(): GroupingModel {\n if (!this._grouping) {\n this._grouping = this.setGrouping();\n }\n\n return this._grouping;\n }\n\n /**\n */\n setGrouping(): GroupingModel {\n return new GroupingModel(\n { ...this.data.grouping, dynamicschema: this.data.dynamicschema },\n this.contributions.contexts,\n this.modelOptions,\n );\n }\n\n /**\n */\n hasGrouping(): boolean {\n return this.grouping.hasGroups();\n }\n\n /**\n * Check if list has results\n */\n hasResults(): boolean {\n return this.listItemCollection.hasItems;\n }\n\n /**\n */\n get shouldHide(): boolean {\n return (\n this.layouthint.has(HIDE_WHEN_EMPTY) &&\n !this.hasResults() &&\n this.actionCollection.isEmpty &&\n !this.filterCollection.hasActiveFilters()\n );\n }\n\n /**\n * Get list item by ID\n */\n getListItemById(id: string | number): ListItemModel | null {\n const decodedId = decodeURIComponent(id.toString());\n return this.listItemCollection.find(\n (result) => result.id.toString() === decodedId,\n );\n }\n\n /**\n * Get list item by Href\n */\n getListItemByHref(href: ListHref): ListItemModel | null {\n return this.listItemCollection.find((result) =>\n result.selfhref.equals(href),\n );\n }\n\n /**\n * Getting paging information\n */\n get paging(): PagingModel {\n if (!this._paging) {\n this._paging = this.setPaging();\n }\n return this._paging;\n }\n\n /**\n */\n setPaging(): PagingModel {\n return new PagingModel(this.data.paging, this.contributions.paging);\n }\n\n /**\n * Getting sorting information\n */\n get sorting(): SortingModel {\n if (!this._sorting) {\n this._sorting = this.setSorting();\n }\n\n return this._sorting;\n }\n\n /**\n */\n setSorting(): SortingModel {\n return new SortingModel(\n this.contributions,\n this.getSortingLabels(),\n this.grouping,\n this.data.sorting,\n );\n }\n\n /**\n * Getting the filters\n */\n get filterCollection(): FilterCollection {\n if (!this._filterCollection) {\n this._filterCollection = this.setFilters();\n }\n\n return this._filterCollection;\n }\n\n /**\n * Set filterCollection\n */\n set filterCollection(filterCollection: FilterCollection) {\n this._filterCollection = filterCollection;\n }\n\n /**\n */\n setFilters(): FilterCollection {\n return new FilterCollection(\n this.data.filter,\n {\n listkey: this.key,\n filter: this.contributions.filter,\n contexts: this.contributions.contexts,\n dynamicschema: this.data.dynamicschema,\n },\n this.modelOptions,\n );\n }\n\n /**\n * Indicates if list results are filtered\n */\n isFiltered(): boolean {\n return this.filterCollection.hasActiveFilters();\n }\n\n /**\n * Getting actions\n */\n get actionCollection(): ActionCollection {\n if (!this._actionCollection) {\n this._actionCollection = this.setActionCollection();\n }\n return this._actionCollection;\n }\n\n /**\n */\n setActionCollection(): ActionCollection {\n return new ActionCollection(\n this.data.actions,\n this.contributions.actions,\n this.modelOptions,\n );\n }\n\n /**\n * Contains this model list data\n */\n hasList(): boolean {\n return this.key != null;\n }\n\n /**\n * Sets self href from links collection\n */\n getSelfHref(): ListHref {\n const selfLink = this.links ? this.links.getLinkByKey(\"self\") : null;\n\n if (selfLink !== null) {\n return new ListHref(selfLink.href, this);\n }\n\n return new ListHref();\n }\n\n /**\n * Getting the self link of this list\n */\n get selfhref(): ListHref {\n return this.getSelfHref();\n }\n\n /**\n * Getting the headers of this list\n */\n get headers(): Array<ListHeaderModel> {\n if (!this._headers) {\n this._headers = this.setHeaders();\n }\n\n return this._headers;\n }\n\n /**\n * Set initial headers of list\n */\n setHeaders(): Array<ListHeaderModel> {\n const tempHeaders = [];\n\n if (this.contributions.results) {\n const { results } = this.contributions;\n\n Object.keys(results).forEach((key) => {\n results[key].attributes.forEach((attribute) => {\n const listHeader = new ListHeaderModel(attribute, this.sorting);\n\n const exists = tempHeaders.some((tempHeader) =>\n tempHeader.equals(listHeader),\n );\n\n if (!exists && !listHeader.layouthint.has(CASEVIEW_LINK)) {\n tempHeaders.push(listHeader);\n }\n });\n });\n }\n\n return tempHeaders;\n }\n\n /**\n */\n getSortingLabels(): { [string]: string } {\n const sortingLabels: { [string]: string } = {};\n\n if (this.contributions.results) {\n const { results } = this.contributions;\n Object.keys(results).forEach((key) => {\n results[key].attributes.forEach((attribute) => {\n const attributeKey = Object.keys(attribute)[0];\n sortingLabels[attributeKey] = attribute[attributeKey].label;\n });\n });\n }\n\n return sortingLabels;\n }\n\n /**\n * Retrieve all actions by type\n */\n getActionsByType(actionType: string): ActionCollection {\n return this.actionCollection.getActionsByType(actionType);\n }\n\n /**\n * Retrieves the label of the first additional detail link by resource type\n */\n getAdditionalDetailLabel(resourceType: string): string | null {\n const resultTypes = Object.keys(this.contributions.results);\n\n for (const resultType of resultTypes) {\n const link = this.contributions.results[resultType]._links?.panel?.find(\n (panelLink) => panelLink.resourcetype === resourceType,\n );\n if (link) {\n return link.label;\n }\n }\n\n return null;\n }\n\n /**\n */\n get formdata(): string {\n return JSON.stringify(this.filterCollection.formdata);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PagesizeModel.js","names":["PagesizeModel","constructor","pagesize","pagesizeContributions","_defineProperty2","default","_pagesize","_options","options","name","value","exports"],"sources":["../../../src/models/paging/PagesizeModel.js"],"sourcesContent":["// @flow\n/**\n */\nexport default class PagesizeModel {\n _pagesize: number;\n _options: Array<number>;\n\n /**\n */\n constructor(pagesize: number, pagesizeContributions: Object) {\n this._pagesize = pagesize;\n\n this._options =\n pagesizeContributions && pagesize ? pagesizeContributions.options : [];\n }\n\n /**\n * Getting the name\n */\n get name(): string {\n return \"pagesize\";\n }\n\n /**\n * Geting the value\n */\n get value(): number {\n return this._pagesize;\n }\n\n /**\n * Setting the page size\n */\n set value(pagesize: number) {\n this._pagesize = pagesize;\n }\n\n /**\n * Getting available pagesize options\n */\n get options(): Array<number> {\n return this._options;\n }\n}\n"],"mappings":";;;;;;;;AACA;AACA;AACe,MAAMA,aAAa,CAAC;EAIjC;AACF;EACEC,WAAWA,CAACC,QAAgB,EAAEC,qBAA6B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC3D,IAAI,CAACC,SAAS,GAAGJ,QAAQ;IAEzB,IAAI,CAACK,QAAQ,GACXJ,qBAAqB,IAAID,QAAQ,GAAGC,qBAAqB,CAACK,OAAO,GAAG,EAAE;EAC1E;;EAEA;AACF;AACA;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,UAAU;EACnB;;EAEA;AACF;AACA;EACE,IAAIC,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACJ,SAAS;EACvB;;EAEA;AACF;AACA;EACE,IAAII,KAAKA,CAACR,QAAgB,EAAE;IAC1B,IAAI,CAACI,SAAS,GAAGJ,QAAQ;EAC3B;;EAEA;AACF;AACA;EACE,IAAIM,OAAOA,CAAA,EAAkB;IAC3B,OAAO,IAAI,CAACD,QAAQ;EACtB;AACF;
|
|
1
|
+
{"version":3,"file":"PagesizeModel.js","names":["PagesizeModel","constructor","pagesize","pagesizeContributions","_defineProperty2","default","_pagesize","_options","options","name","value","querystring","exports"],"sources":["../../../src/models/paging/PagesizeModel.js"],"sourcesContent":["// @flow\n/**\n */\nexport default class PagesizeModel {\n _pagesize: number;\n _options: Array<number>;\n\n /**\n */\n constructor(pagesize: number, pagesizeContributions: Object) {\n this._pagesize = pagesize;\n\n this._options =\n pagesizeContributions && pagesize ? pagesizeContributions.options : [];\n }\n\n /**\n * Getting the name\n */\n get name(): string {\n return \"pagesize\";\n }\n\n /**\n * Geting the value\n */\n get value(): number {\n return this._pagesize;\n }\n\n /**\n * Setting the page size\n */\n set value(pagesize: number) {\n this._pagesize = pagesize;\n }\n\n /**\n * Getting available pagesize options\n */\n get options(): Array<number> {\n return this._options;\n }\n\n /**\n */\n get querystring(): string {\n return `${this.name}=${this.value}`;\n }\n}\n"],"mappings":";;;;;;;;AACA;AACA;AACe,MAAMA,aAAa,CAAC;EAIjC;AACF;EACEC,WAAWA,CAACC,QAAgB,EAAEC,qBAA6B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC3D,IAAI,CAACC,SAAS,GAAGJ,QAAQ;IAEzB,IAAI,CAACK,QAAQ,GACXJ,qBAAqB,IAAID,QAAQ,GAAGC,qBAAqB,CAACK,OAAO,GAAG,EAAE;EAC1E;;EAEA;AACF;AACA;EACE,IAAIC,IAAIA,CAAA,EAAW;IACjB,OAAO,UAAU;EACnB;;EAEA;AACF;AACA;EACE,IAAIC,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACJ,SAAS;EACvB;;EAEA;AACF;AACA;EACE,IAAII,KAAKA,CAACR,QAAgB,EAAE;IAC1B,IAAI,CAACI,SAAS,GAAGJ,QAAQ;EAC3B;;EAEA;AACF;AACA;EACE,IAAIM,OAAOA,CAAA,EAAkB;IAC3B,OAAO,IAAI,CAACD,QAAQ;EACtB;;EAEA;AACF;EACE,IAAII,WAAWA,CAAA,EAAW;IACxB,OAAO,GAAG,IAAI,CAACF,IAAI,IAAI,IAAI,CAACC,KAAK,EAAE;EACrC;AACF;AAACE,OAAA,CAAAP,OAAA,GAAAL,aAAA","ignoreList":[]}
|
|
@@ -90,6 +90,17 @@ class PagingModel {
|
|
|
90
90
|
get pagesize() {
|
|
91
91
|
return this._pagesize;
|
|
92
92
|
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
*/
|
|
96
|
+
get querystring() {
|
|
97
|
+
const qs = [];
|
|
98
|
+
if (this.pagesize) {
|
|
99
|
+
qs.push(this.pagesize.querystring);
|
|
100
|
+
}
|
|
101
|
+
qs.push(`${this.name}=${this.page}`);
|
|
102
|
+
return qs.join("&");
|
|
103
|
+
}
|
|
93
104
|
}
|
|
94
105
|
exports.default = PagingModel;
|
|
95
106
|
//# sourceMappingURL=PagingModel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PagingModel.js","names":["_objects","require","_PagesizeModel","_interopRequireDefault","PagingModel","constructor","paging","pagingContributions","_defineProperty2","default","_isEnabled","has","_contributions","_paging","_pagesize","PagesizeModel","pagesize","contributions","isEnabled","name","value","page","maxpages","totalResults","totalresults","exports"],"sources":["../../../src/models/paging/PagingModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport PagesizeModel from \"../paging/PagesizeModel\";\n\n/**\n */\nexport default class PagingModel {\n _contributions: Object;\n _paging: Object;\n _pagesize: PagesizeModel;\n _isEnabled: boolean;\n\n /**\n */\n constructor(paging: Object, pagingContributions: Object) {\n this._isEnabled = has(paging, \"page\");\n\n this._contributions = pagingContributions;\n this._paging = paging;\n\n this._pagesize = new PagesizeModel(\n this.paging.pagesize,\n this.contributions.pagesize,\n );\n }\n\n /**\n */\n get contributions(): Object {\n return this._contributions || {};\n }\n\n /**\n */\n get isEnabled(): boolean {\n return this._isEnabled;\n }\n\n /**\n * Getting paging information\n */\n get paging(): Object {\n return this._paging || {};\n }\n\n /**\n * Get the paging parameter name\n */\n get name(): string {\n return \"page\";\n }\n\n /**\n * Getting paging value\n */\n get value(): number {\n return this.page;\n }\n\n /**\n * Get maximum pages\n */\n get maxpages(): number {\n return this.paging.maxpages;\n }\n\n /**\n * Get current page\n */\n get page(): number {\n return this.paging.page;\n }\n\n /**\n * Set current page\n */\n set page(page: number) {\n this.paging.page = page;\n }\n\n /**\n * Get the total number of results\n */\n get totalResults(): number {\n return this.paging.totalresults || -1;\n }\n\n /**\n */\n get pagesize(): PagesizeModel {\n return this._pagesize;\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA;AACA;AACe,MAAMG,WAAW,CAAC;EAM/B;AACF;EACEC,WAAWA,CAACC,MAAc,EAAEC,mBAA2B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACvD,IAAI,CAACC,UAAU,GAAG,IAAAC,YAAG,EAACL,MAAM,EAAE,MAAM,CAAC;IAErC,IAAI,CAACM,cAAc,GAAGL,mBAAmB;IACzC,IAAI,CAACM,OAAO,GAAGP,MAAM;IAErB,IAAI,CAACQ,SAAS,GAAG,IAAIC,sBAAa,CAChC,IAAI,CAACT,MAAM,CAACU,QAAQ,EACpB,IAAI,CAACC,aAAa,CAACD,QACrB,CAAC;EACH;;EAEA;AACF;EACE,IAAIC,aAAaA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACL,cAAc,IAAI,CAAC,CAAC;EAClC;;EAEA;AACF;EACE,IAAIM,SAASA,CAAA,EAAY;IACvB,OAAO,IAAI,CAACR,UAAU;EACxB;;EAEA;AACF;AACA;EACE,IAAIJ,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACO,OAAO,IAAI,CAAC,CAAC;EAC3B;;EAEA;AACF;AACA;EACE,IAAIM,IAAIA,CAAA,EAAW;IACjB,OAAO,MAAM;EACf;;EAEA;AACF;AACA;EACE,IAAIC,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACC,IAAI;EAClB;;EAEA;AACF;AACA;EACE,IAAIC,QAAQA,CAAA,EAAW;IACrB,OAAO,IAAI,CAAChB,MAAM,CAACgB,QAAQ;EAC7B;;EAEA;AACF;AACA;EACE,IAAID,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACf,MAAM,CAACe,IAAI;EACzB;;EAEA;AACF;AACA;EACE,IAAIA,IAAIA,CAACA,IAAY,EAAE;IACrB,IAAI,CAACf,MAAM,CAACe,IAAI,GAAGA,IAAI;EACzB;;EAEA;AACF;AACA;EACE,IAAIE,YAAYA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACjB,MAAM,CAACkB,YAAY,IAAI,CAAC,CAAC;EACvC;;EAEA;AACF;EACE,IAAIR,QAAQA,CAAA,EAAkB;IAC5B,OAAO,IAAI,CAACF,SAAS;EACvB;AACF;
|
|
1
|
+
{"version":3,"file":"PagingModel.js","names":["_objects","require","_PagesizeModel","_interopRequireDefault","PagingModel","constructor","paging","pagingContributions","_defineProperty2","default","_isEnabled","has","_contributions","_paging","_pagesize","PagesizeModel","pagesize","contributions","isEnabled","name","value","page","maxpages","totalResults","totalresults","querystring","qs","push","join","exports"],"sources":["../../../src/models/paging/PagingModel.js"],"sourcesContent":["// @flow\nimport { has } from \"../../utils/helpers/objects\";\n\nimport PagesizeModel from \"../paging/PagesizeModel\";\n\n/**\n */\nexport default class PagingModel {\n _contributions: Object;\n _paging: Object;\n _pagesize: PagesizeModel;\n _isEnabled: boolean;\n\n /**\n */\n constructor(paging: Object, pagingContributions: Object) {\n this._isEnabled = has(paging, \"page\");\n\n this._contributions = pagingContributions;\n this._paging = paging;\n\n this._pagesize = new PagesizeModel(\n this.paging.pagesize,\n this.contributions.pagesize,\n );\n }\n\n /**\n */\n get contributions(): Object {\n return this._contributions || {};\n }\n\n /**\n */\n get isEnabled(): boolean {\n return this._isEnabled;\n }\n\n /**\n * Getting paging information\n */\n get paging(): Object {\n return this._paging || {};\n }\n\n /**\n * Get the paging parameter name\n */\n get name(): string {\n return \"page\";\n }\n\n /**\n * Getting paging value\n */\n get value(): number {\n return this.page;\n }\n\n /**\n * Get maximum pages\n */\n get maxpages(): number {\n return this.paging.maxpages;\n }\n\n /**\n * Get current page\n */\n get page(): number {\n return this.paging.page;\n }\n\n /**\n * Set current page\n */\n set page(page: number) {\n this.paging.page = page;\n }\n\n /**\n * Get the total number of results\n */\n get totalResults(): number {\n return this.paging.totalresults || -1;\n }\n\n /**\n */\n get pagesize(): PagesizeModel {\n return this._pagesize;\n }\n\n /**\n */\n get querystring(): string {\n const qs = [];\n if (this.pagesize) {\n qs.push(this.pagesize.querystring);\n }\n qs.push(`${this.name}=${this.page}`);\n return qs.join(\"&\");\n }\n}\n"],"mappings":";;;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA;AACA;AACe,MAAMG,WAAW,CAAC;EAM/B;AACF;EACEC,WAAWA,CAACC,MAAc,EAAEC,mBAA2B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACvD,IAAI,CAACC,UAAU,GAAG,IAAAC,YAAG,EAACL,MAAM,EAAE,MAAM,CAAC;IAErC,IAAI,CAACM,cAAc,GAAGL,mBAAmB;IACzC,IAAI,CAACM,OAAO,GAAGP,MAAM;IAErB,IAAI,CAACQ,SAAS,GAAG,IAAIC,sBAAa,CAChC,IAAI,CAACT,MAAM,CAACU,QAAQ,EACpB,IAAI,CAACC,aAAa,CAACD,QACrB,CAAC;EACH;;EAEA;AACF;EACE,IAAIC,aAAaA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACL,cAAc,IAAI,CAAC,CAAC;EAClC;;EAEA;AACF;EACE,IAAIM,SAASA,CAAA,EAAY;IACvB,OAAO,IAAI,CAACR,UAAU;EACxB;;EAEA;AACF;AACA;EACE,IAAIJ,MAAMA,CAAA,EAAW;IACnB,OAAO,IAAI,CAACO,OAAO,IAAI,CAAC,CAAC;EAC3B;;EAEA;AACF;AACA;EACE,IAAIM,IAAIA,CAAA,EAAW;IACjB,OAAO,MAAM;EACf;;EAEA;AACF;AACA;EACE,IAAIC,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACC,IAAI;EAClB;;EAEA;AACF;AACA;EACE,IAAIC,QAAQA,CAAA,EAAW;IACrB,OAAO,IAAI,CAAChB,MAAM,CAACgB,QAAQ;EAC7B;;EAEA;AACF;AACA;EACE,IAAID,IAAIA,CAAA,EAAW;IACjB,OAAO,IAAI,CAACf,MAAM,CAACe,IAAI;EACzB;;EAEA;AACF;AACA;EACE,IAAIA,IAAIA,CAACA,IAAY,EAAE;IACrB,IAAI,CAACf,MAAM,CAACe,IAAI,GAAGA,IAAI;EACzB;;EAEA;AACF;AACA;EACE,IAAIE,YAAYA,CAAA,EAAW;IACzB,OAAO,IAAI,CAACjB,MAAM,CAACkB,YAAY,IAAI,CAAC,CAAC;EACvC;;EAEA;AACF;EACE,IAAIR,QAAQA,CAAA,EAAkB;IAC5B,OAAO,IAAI,CAACF,SAAS;EACvB;;EAEA;AACF;EACE,IAAIW,WAAWA,CAAA,EAAW;IACxB,MAAMC,EAAE,GAAG,EAAE;IACb,IAAI,IAAI,CAACV,QAAQ,EAAE;MACjBU,EAAE,CAACC,IAAI,CAAC,IAAI,CAACX,QAAQ,CAACS,WAAW,CAAC;IACpC;IACAC,EAAE,CAACC,IAAI,CAAC,GAAG,IAAI,CAACR,IAAI,IAAI,IAAI,CAACE,IAAI,EAAE,CAAC;IACpC,OAAOK,EAAE,CAACE,IAAI,CAAC,GAAG,CAAC;EACrB;AACF;AAACC,OAAA,CAAApB,OAAA,GAAAL,WAAA","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-st
|
|
|
9
9
|
var _Cache = _interopRequireDefault(require("../../utils/browser/Cache"));
|
|
10
10
|
var _Authenticate = _interopRequireDefault(require("../../modularui/Authenticate"));
|
|
11
11
|
var _ModularUISelectors = require("../_modularui/ModularUISelectors");
|
|
12
|
+
var _Error = require("./Error");
|
|
12
13
|
var _Application = require("./Application");
|
|
13
14
|
var _ProgressIndicator = require("./ProgressIndicator");
|
|
14
15
|
var _RouterActions = require("../_router/RouterActions");
|
|
@@ -83,7 +84,7 @@ const login = (username, password) => (dispatch, getState) => {
|
|
|
83
84
|
});
|
|
84
85
|
}
|
|
85
86
|
dispatch(loginFailed(error.id));
|
|
86
|
-
return dispatch((0,
|
|
87
|
+
return dispatch((0, _Error.handleError)(error));
|
|
87
88
|
});
|
|
88
89
|
};
|
|
89
90
|
exports.login = login;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SignIn.js","names":["_Cache","_interopRequireDefault","require","_Authenticate","_ModularUISelectors","_Application","_ProgressIndicator","_RouterActions","_Constants","loginFailed","errorMessage","sendAuthenticationError","exports","type","payload","resetAuthErrors","loginSuccess","changePassword","dispatch","getState","isModal","router","location","state","modal","locationFrom","from","push","CHANGEPASSWORD_PATH","login","username","password","startProgress","Authenticate","then","reloadApplication","Cache","addItem","application","getApplication","userMustChangePassword","finishProgress","catch","error","id","dispatchedReloadApplication","_promise","default","resolve"],"sources":["../../../src/redux/actions/SignIn.js"],"sourcesContent":["// @flow\nimport Cache from \"../../utils/browser/Cache\";\nimport Authenticate from \"../../modularui/Authenticate\";\nimport { getApplication } from \"../_modularui/ModularUISelectors\";\n\nimport { reloadApplication } from \"./Application\";\
|
|
1
|
+
{"version":3,"file":"SignIn.js","names":["_Cache","_interopRequireDefault","require","_Authenticate","_ModularUISelectors","_Error","_Application","_ProgressIndicator","_RouterActions","_Constants","loginFailed","errorMessage","sendAuthenticationError","exports","type","payload","resetAuthErrors","loginSuccess","changePassword","dispatch","getState","isModal","router","location","state","modal","locationFrom","from","push","CHANGEPASSWORD_PATH","login","username","password","startProgress","Authenticate","then","reloadApplication","Cache","addItem","application","getApplication","userMustChangePassword","finishProgress","catch","error","id","dispatchedReloadApplication","_promise","default","resolve","handleError"],"sources":["../../../src/redux/actions/SignIn.js"],"sourcesContent":["// @flow\nimport Cache from \"../../utils/browser/Cache\";\nimport Authenticate from \"../../modularui/Authenticate\";\nimport { getApplication } from \"../_modularui/ModularUISelectors\";\n\nimport { handleError } from \"./Error\";\nimport { reloadApplication } from \"./Application\";\nimport { startProgress, finishProgress } from \"./ProgressIndicator\";\n\nimport { push } from \"../_router/RouterActions\";\nimport { CHANGEPASSWORD_PATH } from \"../../constants/Constants\";\n\nimport type {\n SendAuthenticationErrorAction,\n ResetAuthErrorsAction,\n LoginSuccessAction,\n ThunkAction,\n} from \"../types\";\n\n/**\n * Send login failed action\n */\nexport const loginFailed = (\n errorMessage: string,\n): SendAuthenticationErrorAction => sendAuthenticationError(errorMessage);\n\n/**\n * Send authentication error action\n */\nexport const sendAuthenticationError = (\n errorMessage: string,\n): SendAuthenticationErrorAction => ({\n type: \"AUTHENTICATION_ERROR\",\n payload: errorMessage,\n});\n\n/**\n * Resets any authentication errors\n */\nexport const resetAuthErrors = (): ResetAuthErrorsAction => ({\n type: \"AUTHENTICATION_RESET_ERRORS\",\n});\n\n/**\n * Send login success action\n */\nexport const loginSuccess = (): LoginSuccessAction => ({\n type: \"AUTHENTICATION_SUCCESS\",\n});\n\n/**\n * Send change password action\n */\nexport const changePassword = (): ThunkAction => (dispatch, getState) => {\n dispatch({\n type: \"CHANGE_PASSWORD\",\n });\n\n const isModal = getState().router.location?.state?.modal;\n const locationFrom = getState().router.location?.state?.from;\n return dispatch(\n push(CHANGEPASSWORD_PATH, {\n from: locationFrom ? locationFrom : getState().router.location,\n modal: isModal,\n }),\n );\n};\n\n/**\n */\nexport const login =\n (username: string, password: string): ThunkAction =>\n (dispatch, getState) => {\n dispatch(startProgress());\n\n return new Authenticate()\n .login(username, password)\n .then(() => dispatch(reloadApplication()))\n .then(() => {\n Cache.addItem(\"auth\", true);\n const application = getApplication(getState());\n if (application?.userMustChangePassword) {\n dispatch(changePassword());\n } else {\n dispatch(loginSuccess());\n }\n return dispatch(finishProgress());\n })\n .catch((error) => {\n if (error.id === \"Error.ChangePasswordRequired\") {\n const dispatchedReloadApplication = dispatch(reloadApplication());\n\n return Promise.resolve(dispatchedReloadApplication).then(() => {\n Cache.addItem(\"auth\", true);\n dispatch(changePassword());\n return dispatch(finishProgress());\n });\n }\n\n dispatch(loginFailed(error.id));\n return dispatch(handleError(error));\n });\n };\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@beinformed/ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.64.0",
|
|
4
4
|
"description": "Toolbox for be informed javascript layouts",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"bugs": "https://support.beinformed.com",
|
|
@@ -71,14 +71,14 @@
|
|
|
71
71
|
"dependencies": {
|
|
72
72
|
"@babel/runtime-corejs3": "^7.28.4",
|
|
73
73
|
"@date-fns/tz": "^1.4.1",
|
|
74
|
-
"baseline-browser-mapping": "^2.9.
|
|
74
|
+
"baseline-browser-mapping": "^2.9.7",
|
|
75
75
|
"big.js": "^7.0.1",
|
|
76
76
|
"date-fns": "^4.1.0",
|
|
77
77
|
"deepmerge": "^4.3.1",
|
|
78
78
|
"dequal": "^2.0.3",
|
|
79
79
|
"file-size": "^1.0.0",
|
|
80
80
|
"format-message": "^6.2.4",
|
|
81
|
-
"hash-it": "^7.0.
|
|
81
|
+
"hash-it": "^7.0.2",
|
|
82
82
|
"html-entities": "^2.6.0",
|
|
83
83
|
"iban": "^0.0.14",
|
|
84
84
|
"js-cookie": "^3.0.5",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"@commitlint/cli": "^19.8.1",
|
|
103
103
|
"@commitlint/config-conventional": "^19.8.1",
|
|
104
104
|
"@testing-library/dom": "^10.4.1",
|
|
105
|
-
"@testing-library/react": "^16.3.
|
|
105
|
+
"@testing-library/react": "^16.3.1",
|
|
106
106
|
"auditjs": "^4.0.47",
|
|
107
107
|
"babel-jest": "^30.2.0",
|
|
108
108
|
"babel-plugin-styled-components": "^2.1.4",
|
|
@@ -122,7 +122,7 @@
|
|
|
122
122
|
"flow-bin": "^0.200.1",
|
|
123
123
|
"flow-copy-source": "^2.0.9",
|
|
124
124
|
"flow-typed": "^3.9.0",
|
|
125
|
-
"hermes-eslint": "^0.
|
|
125
|
+
"hermes-eslint": "^0.33.0",
|
|
126
126
|
"history": "^4.0.0",
|
|
127
127
|
"husky": "^9.1.7",
|
|
128
128
|
"jest": "^30.2.0",
|
|
@@ -133,12 +133,12 @@
|
|
|
133
133
|
"lint-staged": "^15.5.1",
|
|
134
134
|
"polished": "^4.3.1",
|
|
135
135
|
"prettier": "^3.7.4",
|
|
136
|
-
"react": "^19.2.
|
|
137
|
-
"react-dom": "^19.2.
|
|
136
|
+
"react": "^19.2.3",
|
|
137
|
+
"react-dom": "^19.2.3",
|
|
138
138
|
"react-helmet-async": "^2.0.5",
|
|
139
139
|
"react-redux": "^8.1.3",
|
|
140
140
|
"react-router": "^5.0.0",
|
|
141
|
-
"react-test-renderer": "^19.2.
|
|
141
|
+
"react-test-renderer": "^19.2.3",
|
|
142
142
|
"redux": "^4.2.1",
|
|
143
143
|
"redux-mock-store": "^1.5.5",
|
|
144
144
|
"redux-thunk": "^2.4.2",
|
|
@@ -128,6 +128,11 @@ export const HTTP_METHODS = {
|
|
|
128
128
|
POST: "POST",
|
|
129
129
|
};
|
|
130
130
|
|
|
131
|
+
export const PARAMETER_TYPES = {
|
|
132
|
+
BODY: "bodyParameter",
|
|
133
|
+
QUERY: "queryParameter",
|
|
134
|
+
};
|
|
135
|
+
|
|
131
136
|
/**
|
|
132
137
|
* POSSIBLE MODULARUI STATUSSES
|
|
133
138
|
* @type {{LOADING: string, ERROR: string, FINISHED: string}}
|
|
@@ -4,20 +4,19 @@ import { Provider } from "react-redux";
|
|
|
4
4
|
import { renderHook } from "@testing-library/react";
|
|
5
5
|
import xhrMock from "xhr-mock";
|
|
6
6
|
|
|
7
|
-
import { useLocation } from "react-router";
|
|
7
|
+
import { useLocation, useRouteMatch } from "react-router";
|
|
8
8
|
|
|
9
9
|
import {
|
|
10
10
|
useApplication,
|
|
11
11
|
useTab,
|
|
12
12
|
useCaseView,
|
|
13
|
-
usePanel,
|
|
14
|
-
useList,
|
|
15
|
-
useListDetail,
|
|
16
13
|
useGroupingPanel,
|
|
17
14
|
useDetailPanel,
|
|
18
15
|
useQuicksearch,
|
|
19
16
|
useUserProfile,
|
|
20
17
|
} from "../useModularUIModel";
|
|
18
|
+
import { useList, useListDetail } from "../useList";
|
|
19
|
+
import { usePanel } from "../usePanel";
|
|
21
20
|
import {
|
|
22
21
|
ApplicationModel,
|
|
23
22
|
CaseSearchModel,
|
|
@@ -37,6 +36,7 @@ const mockStore = configureMockStore(middlewares);
|
|
|
37
36
|
jest.mock("react-router", () => ({
|
|
38
37
|
...jest.requireActual("react-router"), // Keep other methods from react-router as is
|
|
39
38
|
useLocation: jest.fn(), // Mock useLocation
|
|
39
|
+
useRouteMatch: jest.fn(),
|
|
40
40
|
}));
|
|
41
41
|
|
|
42
42
|
const JSON_TYPE = "application/json";
|
|
@@ -84,12 +84,14 @@ describe("modularui hooks", () => {
|
|
|
84
84
|
]);
|
|
85
85
|
};
|
|
86
86
|
|
|
87
|
-
// replace the real XHR object with the mock XHR object before each test
|
|
88
87
|
// eslint-disable-next-line jest/no-hooks
|
|
89
88
|
beforeEach(() => {
|
|
90
89
|
useLocation.mockReturnValue({
|
|
91
90
|
state: null,
|
|
92
91
|
});
|
|
92
|
+
useRouteMatch.mockReturnValue({
|
|
93
|
+
isExact: true,
|
|
94
|
+
});
|
|
93
95
|
xhrMock.setup();
|
|
94
96
|
});
|
|
95
97
|
|
package/src/hooks/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export * from "./useAuthentication";
|
|
|
3
3
|
export * from "./useContent";
|
|
4
4
|
export * from "./useForm";
|
|
5
5
|
export * from "./useI18n";
|
|
6
|
+
export * from "./useList";
|
|
6
7
|
export * from "./useModal";
|
|
7
8
|
export * from "./useModelCatalog";
|
|
8
9
|
export * from "./useModels";
|
|
@@ -11,6 +12,7 @@ export * from "./useModularUIBasic";
|
|
|
11
12
|
export * from "./useModularUIModel";
|
|
12
13
|
export * from "./useModularUIRequest";
|
|
13
14
|
export * from "./useNotification";
|
|
15
|
+
export * from "./usePanel";
|
|
14
16
|
export * from "./usePreference";
|
|
15
17
|
export * from "./useProgressIndicator";
|
|
16
18
|
export * from "./useRouter";
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
// @flow
|
|
2
|
+
import { useModularUIBasic } from "./useModularUIBasic";
|
|
3
|
+
import { useDispatch } from "react-redux";
|
|
4
|
+
import { HTTP_METHODS } from "../constants/Constants";
|
|
5
|
+
import { loadModularUI } from "../redux";
|
|
6
|
+
import DetailModel from "../models/detail/DetailModel";
|
|
7
|
+
import ListModel from "../models/list/ListModel";
|
|
8
|
+
import ListDetailModel from "../models/list/ListDetailModel";
|
|
9
|
+
import Href from "../models/href/Href";
|
|
10
|
+
|
|
11
|
+
import type { HookOptions } from "./useModularUIBasic";
|
|
12
|
+
import { useHistory } from "react-router";
|
|
13
|
+
|
|
14
|
+
type ListNavigationHook = {
|
|
15
|
+
fetch: (list: ListModel, resetPage?: boolean) => void,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
*/
|
|
20
|
+
export const useList = (
|
|
21
|
+
href: string | Href,
|
|
22
|
+
options?: HookOptions,
|
|
23
|
+
): ListModel | null =>
|
|
24
|
+
useModularUIBasic("list", href, {
|
|
25
|
+
expectedModels: ["List"],
|
|
26
|
+
targetModel: ListModel,
|
|
27
|
+
...options,
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
*/
|
|
32
|
+
export const useListOrDetail = (
|
|
33
|
+
href: string | Href,
|
|
34
|
+
options?: HookOptions,
|
|
35
|
+
): ListModel | DetailModel | null =>
|
|
36
|
+
useModularUIBasic("list", href, {
|
|
37
|
+
expectedModels: ["List", "Detail"],
|
|
38
|
+
targetModel: [ListModel, DetailModel],
|
|
39
|
+
...options,
|
|
40
|
+
});
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
*/
|
|
44
|
+
export const useListDetail = (
|
|
45
|
+
href: string | Href,
|
|
46
|
+
options?: HookOptions,
|
|
47
|
+
): ListDetailModel | null =>
|
|
48
|
+
useModularUIBasic("listdetail", href, {
|
|
49
|
+
expectedModels: ["ListDetail"],
|
|
50
|
+
targetModel: ListDetailModel,
|
|
51
|
+
forceTargetModel: true,
|
|
52
|
+
...options,
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
*/
|
|
57
|
+
export const useListNavigation = (): ListNavigationHook => {
|
|
58
|
+
const history = useHistory();
|
|
59
|
+
const dispatch = useDispatch();
|
|
60
|
+
|
|
61
|
+
const fetch = (list: ListModel, resetPage: boolean = false) => {
|
|
62
|
+
const listHref = list.selfhref;
|
|
63
|
+
if (resetPage) {
|
|
64
|
+
listHref.page = null;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (list.requestMethod === HTTP_METHODS.POST) {
|
|
68
|
+
history.push({ search: listHref.querystring, state: list.formdata });
|
|
69
|
+
return dispatch(
|
|
70
|
+
loadModularUI(list.connectKey, listHref, {
|
|
71
|
+
method: HTTP_METHODS.POST,
|
|
72
|
+
data: list.formdata,
|
|
73
|
+
targetModel: ListModel,
|
|
74
|
+
}),
|
|
75
|
+
);
|
|
76
|
+
} else {
|
|
77
|
+
history.push({ search: listHref.querystring });
|
|
78
|
+
return dispatch(
|
|
79
|
+
loadModularUI(list.connectKey, listHref, {
|
|
80
|
+
method: HTTP_METHODS.GET,
|
|
81
|
+
targetModel: ListModel,
|
|
82
|
+
}),
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
return {
|
|
88
|
+
fetch,
|
|
89
|
+
};
|
|
90
|
+
};
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
// @flow
|
|
2
|
+
import type { ModularUIModel, Href } from "../models";
|
|
3
|
+
import { useLocation } from "react-router";
|
|
2
4
|
import { useMemo } from "react";
|
|
3
5
|
import { useModularUI } from "./useModularUI";
|
|
4
|
-
import { useLocation } from "./useRouter";
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
export type HookOptions = {
|
|
8
|
+
origin?: string,
|
|
9
|
+
contextPath?: string,
|
|
10
|
+
};
|
|
7
11
|
|
|
8
12
|
export type UseModularUIBasicOptions<T: ModularUIModel> = {
|
|
9
13
|
expectedModels?: Array<string>,
|
|
@@ -2,21 +2,15 @@
|
|
|
2
2
|
import ApplicationModel from "../models/application/ApplicationModel";
|
|
3
3
|
import CaseViewModel from "../models/caseview/CaseViewModel";
|
|
4
4
|
import TabModel from "../models/tab/TabModel";
|
|
5
|
-
import ListModel from "../models/list/ListModel";
|
|
6
5
|
import GroupingPanelModel from "../models/panels/GroupingPanelModel";
|
|
7
6
|
import DetailModel from "../models/detail/DetailModel";
|
|
8
7
|
import CaseSearchModel from "../models/search/CaseSearchModel";
|
|
9
|
-
import ListDetailModel from "../models/list/ListDetailModel";
|
|
10
8
|
import UserProfileModel from "../models/user/UserProfileModel";
|
|
11
9
|
|
|
12
10
|
import { useModularUIBasic } from "./useModularUIBasic";
|
|
13
11
|
|
|
14
12
|
import type Href from "../models/href/Href";
|
|
15
|
-
|
|
16
|
-
type HookOptions = {
|
|
17
|
-
origin?: string,
|
|
18
|
-
contextPath?: string,
|
|
19
|
-
};
|
|
13
|
+
import type { HookOptions } from "./useModularUIBasic";
|
|
20
14
|
|
|
21
15
|
/**
|
|
22
16
|
* Load application
|
|
@@ -56,54 +50,6 @@ export const useCaseView = (
|
|
|
56
50
|
...options,
|
|
57
51
|
});
|
|
58
52
|
|
|
59
|
-
/**
|
|
60
|
-
*/
|
|
61
|
-
export const usePanel = (
|
|
62
|
-
href: string | Href,
|
|
63
|
-
options?: HookOptions,
|
|
64
|
-
): ListModel | GroupingPanelModel | DetailModel | null =>
|
|
65
|
-
useModularUIBasic("panel", href, {
|
|
66
|
-
expectedModels: ["List", "GroupingPanel", "Detail"],
|
|
67
|
-
...options,
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
*/
|
|
72
|
-
export const useList = (
|
|
73
|
-
href: string | Href,
|
|
74
|
-
options?: HookOptions,
|
|
75
|
-
): ListModel | null =>
|
|
76
|
-
useModularUIBasic("list", href, {
|
|
77
|
-
expectedModels: ["List"],
|
|
78
|
-
targetModel: ListModel,
|
|
79
|
-
...options,
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
*/
|
|
84
|
-
export const useListOrDetail = (
|
|
85
|
-
href: string | Href,
|
|
86
|
-
options?: HookOptions,
|
|
87
|
-
): ListModel | DetailModel | null =>
|
|
88
|
-
useModularUIBasic("list", href, {
|
|
89
|
-
expectedModels: ["List", "Detail"],
|
|
90
|
-
targetModel: [ListModel, DetailModel],
|
|
91
|
-
...options,
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
*/
|
|
96
|
-
export const useListDetail = (
|
|
97
|
-
href: string | Href,
|
|
98
|
-
options?: HookOptions,
|
|
99
|
-
): ListDetailModel | null =>
|
|
100
|
-
useModularUIBasic("listdetail", href, {
|
|
101
|
-
expectedModels: ["ListDetail"],
|
|
102
|
-
targetModel: ListDetailModel,
|
|
103
|
-
forceTargetModel: true,
|
|
104
|
-
...options,
|
|
105
|
-
});
|
|
106
|
-
|
|
107
53
|
/**
|
|
108
54
|
*/
|
|
109
55
|
export const useGroupingPanel = (
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
// @flow
|
|
2
|
+
import { useState, useMemo } from "react";
|
|
3
|
+
import { useLocation, useRouteMatch } from "react-router";
|
|
4
|
+
import Href from "../models/href/Href";
|
|
5
|
+
import { useModularUIBasic } from "./useModularUIBasic";
|
|
6
|
+
|
|
7
|
+
import type { HookOptions } from "./useModularUIBasic";
|
|
8
|
+
import type GroupingPanelModel from "../models/panels/GroupingPanelModel";
|
|
9
|
+
import type ListModel from "../models/list/ListModel";
|
|
10
|
+
import type DetailModel from "../models/detail/DetailModel";
|
|
11
|
+
|
|
12
|
+
const useUrl = (href?: string | Href, fromRoute: boolean = false) => {
|
|
13
|
+
const [previousUrl, setPreviousUrl] = useState(null);
|
|
14
|
+
const [previousExact, setPreviousExact] = useState(false);
|
|
15
|
+
|
|
16
|
+
const match = useRouteMatch();
|
|
17
|
+
const location = useLocation();
|
|
18
|
+
|
|
19
|
+
return useMemo(() => {
|
|
20
|
+
if (href == null && previousUrl == null) {
|
|
21
|
+
return new Href("");
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const url = href instanceof Href ? href : new Href(href);
|
|
25
|
+
|
|
26
|
+
if (!fromRoute) {
|
|
27
|
+
return url;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
if (match.isExact) {
|
|
31
|
+
url.addParametersFromString(location.search);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Check equality to prevent unnecessary state updates
|
|
35
|
+
if (url.equalsWithParameters(previousUrl)) {
|
|
36
|
+
return previousUrl || url;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const shouldUpdate =
|
|
40
|
+
match.isExact === true ||
|
|
41
|
+
previousExact === match.isExact ||
|
|
42
|
+
!previousUrl?.startsWith(match.url);
|
|
43
|
+
|
|
44
|
+
if (shouldUpdate) {
|
|
45
|
+
setPreviousUrl(url);
|
|
46
|
+
setPreviousExact(match.isExact);
|
|
47
|
+
return url;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return previousUrl || new Href("");
|
|
51
|
+
}, [
|
|
52
|
+
href,
|
|
53
|
+
previousUrl,
|
|
54
|
+
fromRoute,
|
|
55
|
+
match.isExact,
|
|
56
|
+
match.url,
|
|
57
|
+
previousExact,
|
|
58
|
+
location.search,
|
|
59
|
+
]);
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
*/
|
|
64
|
+
export const usePanel = (
|
|
65
|
+
href?: string | Href,
|
|
66
|
+
options?: HookOptions & { fromRoute?: boolean },
|
|
67
|
+
): ListModel | GroupingPanelModel | DetailModel | null => {
|
|
68
|
+
const { fromRoute = false, ...modUIOptions } = options || {};
|
|
69
|
+
|
|
70
|
+
const url = useUrl(href, fromRoute);
|
|
71
|
+
|
|
72
|
+
return useModularUIBasic("panel", url, {
|
|
73
|
+
expectedModels: ["List", "GroupingPanel", "Detail"],
|
|
74
|
+
...modUIOptions,
|
|
75
|
+
});
|
|
76
|
+
};
|