@iapps/ng-dhis2-ui 1.0.7 → 1.0.9
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/fesm2022/iapps-ng-dhis2-ui.mjs +435 -54
- package/fesm2022/iapps-ng-dhis2-ui.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/modules/line-list/components/dropdown-menu/dropdown-menu.d.ts +19 -0
- package/lib/modules/line-list/components/dropdown-menu/dropdown-menu.styles.d.ts +5 -0
- package/lib/modules/line-list/components/dropdown-menu/index.d.ts +1 -0
- package/lib/modules/line-list/containers/line-list.component.d.ts +20 -0
- package/lib/modules/line-list/hooks/index.d.ts +1 -0
- package/lib/modules/line-list/hooks/use-dynamic-styles.hook.d.ts +1 -0
- package/lib/modules/line-list/index.d.ts +2 -0
- package/lib/modules/line-list/line-list.module.d.ts +9 -0
- package/lib/modules/line-list/models/attribute-filter.model.d.ts +9 -0
- package/lib/modules/line-list/models/line-list.models.d.ts +70 -0
- package/lib/modules/line-list/services/line-list.service.d.ts +16 -0
- package/lib/modules/line-list/utils/filter-builder.d.ts +2 -0
- package/lib/modules/line-list/utils/line-list-utils.d.ts +14 -0
- package/lib/modules/organisation-unit-selector/components/OrgUnitDimension.d.ts +3 -1
- package/lib/modules/organisation-unit-selector/index.d.ts +1 -0
- package/package.json +6 -8
- package/esm2022/iapps-ng-dhis2-ui.mjs +0 -5
- package/esm2022/index.mjs +0 -6
- package/esm2022/lib/modules/button/button.component.mjs +0 -60
- package/esm2022/lib/modules/button/button.module.mjs +0 -19
- package/esm2022/lib/modules/button/index.mjs +0 -6
- package/esm2022/lib/modules/header-bar/header-bar.component.mjs +0 -38
- package/esm2022/lib/modules/header-bar/header-bar.module.mjs +0 -19
- package/esm2022/lib/modules/header-bar/index.mjs +0 -6
- package/esm2022/lib/modules/header-bar/models/header-bar-app.model.mjs +0 -20
- package/esm2022/lib/modules/header-bar/models/header-bar-data.model.mjs +0 -46
- package/esm2022/lib/modules/header-bar/models/header-bar-notification.model.mjs +0 -11
- package/esm2022/lib/modules/header-bar/models/index.mjs +0 -6
- package/esm2022/lib/modules/header-bar/utils/apps.mjs +0 -221
- package/esm2022/lib/modules/header-bar/utils/debug-info/debug-info-menu-item.mjs +0 -51
- package/esm2022/lib/modules/header-bar/utils/debug-info/debug-info-modal.mjs +0 -30
- package/esm2022/lib/modules/header-bar/utils/debug-info/debug-info-table.mjs +0 -39
- package/esm2022/lib/modules/header-bar/utils/debug-info/use-debug-info.mjs +0 -12
- package/esm2022/lib/modules/header-bar/utils/header-bar-context.mjs +0 -17
- package/esm2022/lib/modules/header-bar/utils/header-bar.mjs +0 -56
- package/esm2022/lib/modules/header-bar/utils/join-path.mjs +0 -5
- package/esm2022/lib/modules/header-bar/utils/logo-image.mjs +0 -52
- package/esm2022/lib/modules/header-bar/utils/logo.mjs +0 -35
- package/esm2022/lib/modules/header-bar/utils/notification-icon.mjs +0 -76
- package/esm2022/lib/modules/header-bar/utils/notifications.mjs +0 -35
- package/esm2022/lib/modules/header-bar/utils/profile/use-on-doc-click.mjs +0 -21
- package/esm2022/lib/modules/header-bar/utils/profile-menu/index.mjs +0 -2
- package/esm2022/lib/modules/header-bar/utils/profile-menu/profile-header.mjs +0 -95
- package/esm2022/lib/modules/header-bar/utils/profile-menu/profile-menu.mjs +0 -101
- package/esm2022/lib/modules/header-bar/utils/profile-menu/update-notification.mjs +0 -54
- package/esm2022/lib/modules/header-bar/utils/profile.mjs +0 -58
- package/esm2022/lib/modules/header-bar/utils/title.mjs +0 -22
- package/esm2022/lib/modules/organisation-unit-selector/components/OrgUnitDimension.mjs +0 -216
- package/esm2022/lib/modules/organisation-unit-selector/components/index.mjs +0 -6
- package/esm2022/lib/modules/organisation-unit-selector/components/styles/OrgUnitDimension.style.mjs +0 -83
- package/esm2022/lib/modules/organisation-unit-selector/components/utils/index.mjs +0 -6
- package/esm2022/lib/modules/organisation-unit-selector/components/utils/ouIdHelper/index.mjs +0 -18
- package/esm2022/lib/modules/organisation-unit-selector/components/utils/ouLevelUtils/index.mjs +0 -27
- package/esm2022/lib/modules/organisation-unit-selector/containers/organisation-unit-selector/organisation-unit-selector.component.mjs +0 -91
- package/esm2022/lib/modules/organisation-unit-selector/containers/organisation-unit-selector-modal/organisation-unit-selector-modal.component-modal.mjs +0 -114
- package/esm2022/lib/modules/organisation-unit-selector/index.mjs +0 -7
- package/esm2022/lib/modules/organisation-unit-selector/models/index.mjs +0 -5
- package/esm2022/lib/modules/organisation-unit-selector/models/organisation-unit-config.model.mjs +0 -16
- package/esm2022/lib/modules/organisation-unit-selector/organisation-unit-selector.module.mjs +0 -28
- package/esm2022/lib/modules/period-selector/components/FixedPeriodFilter.mjs +0 -44
- package/esm2022/lib/modules/period-selector/components/PeriodDimension.mjs +0 -41
- package/esm2022/lib/modules/period-selector/components/PeriodTransfer.mjs +0 -110
- package/esm2022/lib/modules/period-selector/components/RelativePeriodFilter.mjs +0 -28
- package/esm2022/lib/modules/period-selector/components/utils/fixedPeriods.mjs +0 -308
- package/esm2022/lib/modules/period-selector/components/utils/index.mjs +0 -5
- package/esm2022/lib/modules/period-selector/components/utils/periodTypes.mjs +0 -23
- package/esm2022/lib/modules/period-selector/components/utils/relativePeriods.mjs +0 -139
- package/esm2022/lib/modules/period-selector/containers/period-selector/period-selector.component.mjs +0 -69
- package/esm2022/lib/modules/period-selector/containers/period-selector-modal/period-selector-modal.component.mjs +0 -82
- package/esm2022/lib/modules/period-selector/index.mjs +0 -7
- package/esm2022/lib/modules/period-selector/period-selector.module.mjs +0 -20
- package/esm2022/lib/modules/react-wrapper/index.mjs +0 -6
- package/esm2022/lib/modules/react-wrapper/react-wrapper.component.mjs +0 -55
- package/esm2022/lib/modules/react-wrapper/react-wrapper.module.mjs +0 -18
- package/esm2022/lib/shared/assets/AssignedCategoriesIcon.mjs +0 -12
- package/esm2022/lib/shared/assets/DimensionItemIcons/PeriodIcon.mjs +0 -4
- package/esm2022/lib/shared/components/TransferOption.mjs +0 -130
- package/esm2022/lib/shared/components/index.mjs +0 -6
- package/esm2022/lib/shared/index.mjs +0 -7
- package/esm2022/lib/shared/shared.module.mjs +0 -18
- package/esm2022/lib/shared/styles/DimensionSelector.style.mjs +0 -39
- package/esm2022/lib/shared/styles/index.mjs +0 -5
- package/esm2022/lib/shared/utils/axis.mjs +0 -25
- package/esm2022/lib/shared/utils/axisGetDimension.mjs +0 -5
- package/esm2022/lib/shared/utils/axisHasDimension.mjs +0 -3
- package/esm2022/lib/shared/utils/dimension.mjs +0 -52
- package/esm2022/lib/shared/utils/dimensionGetItems.mjs +0 -6
- package/esm2022/lib/shared/utils/dimensionIs.mjs +0 -3
- package/esm2022/lib/shared/utils/dimensionIsEmpty.mjs +0 -5
- package/esm2022/lib/shared/utils/dimensionIsValid.mjs +0 -17
- package/esm2022/lib/shared/utils/dimensionSelectorHelper.mjs +0 -4
- package/esm2022/lib/shared/utils/index.mjs +0 -15
- package/esm2022/lib/shared/utils/layoutGetAllAxes.mjs +0 -7
- package/esm2022/lib/shared/utils/layoutGetAllDimensions.mjs +0 -6
- package/esm2022/lib/shared/utils/layoutGetDimension.mjs +0 -4
- package/esm2022/lib/shared/utils/layoutReplaceDimension.mjs +0 -17
- package/esm2022/lib/shared/utils/list.mjs +0 -15
- package/esm2022/lib/shared/utils/predefinedDimensions.mjs +0 -47
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { Component, ElementRef, EventEmitter, Input, Output, } from '@angular/core';
|
|
2
|
-
import { Provider } from '@dhis2/app-runtime';
|
|
3
|
-
import { Button, ButtonStrip, Modal, ModalActions, ModalContent, ModalTitle, } from '@dhis2/ui';
|
|
4
|
-
import { NgxDhis2HttpClientService } from '@iapps/ngx-dhis2-http-client';
|
|
5
|
-
import React, { useState } from 'react';
|
|
6
|
-
import * as ReactDOM from 'react-dom/client';
|
|
7
|
-
import { firstValueFrom, map } from 'rxjs';
|
|
8
|
-
import { ReactWrapperComponent } from '../../../react-wrapper';
|
|
9
|
-
import OrgUnitDimension from '../../components/OrgUnitDimension';
|
|
10
|
-
import { OrganisationUnitSelectionConfig, } from '../../models';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@iapps/ngx-dhis2-http-client";
|
|
13
|
-
export class OrganisationUnitSelectorModalComponent extends ReactWrapperComponent {
|
|
14
|
-
constructor(elementRef, httpClient) {
|
|
15
|
-
super(elementRef);
|
|
16
|
-
this.httpClient = httpClient;
|
|
17
|
-
this.selectedOrgUnits = [];
|
|
18
|
-
this.orgUnitSelectionConfig = new OrganisationUnitSelectionConfig();
|
|
19
|
-
this.selectOrgUnits = new EventEmitter();
|
|
20
|
-
this.cancel = new EventEmitter();
|
|
21
|
-
this.confirm = new EventEmitter();
|
|
22
|
-
this.props = {
|
|
23
|
-
onSelect: (e) => {
|
|
24
|
-
this.onSelectItems(e);
|
|
25
|
-
},
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
async ngAfterViewInit() {
|
|
29
|
-
if (!this.elementRef)
|
|
30
|
-
throw new Error('No element ref');
|
|
31
|
-
this.reactDomRoot = ReactDOM.createRoot(this.elementRef.nativeElement);
|
|
32
|
-
const rootOrgUnits = await this.getRootOrgUnits();
|
|
33
|
-
const config = await this.getAppConfig();
|
|
34
|
-
this.component = () => {
|
|
35
|
-
const [selected, setSelected] = useState(this.selectedOrgUnits);
|
|
36
|
-
return (React.createElement(Provider, { config: config }, React.createElement(Modal, { position: "middle", large: true },
|
|
37
|
-
React.createElement(ModalTitle, null, "Organisation unit"),
|
|
38
|
-
React.createElement(ModalContent, null,
|
|
39
|
-
React.createElement(OrgUnitDimension, { selected: selected, hideGroupSelect: this.orgUnitSelectionConfig.hideGroupSelect, hideLevelSelect: this.orgUnitSelectionConfig.hideLevelSelect, hideUserOrgUnits: this.orgUnitSelectionConfig.hideUserOrgUnits, onSelect: (selectionEvent) => {
|
|
40
|
-
setSelected(selectionEvent.items);
|
|
41
|
-
}, orgUnitGroupPromise: this.getOrgUnitGroups(), orgUnitLevelPromise: this.getOrgUnitLevels(), roots: rootOrgUnits })),
|
|
42
|
-
React.createElement(ModalActions, null,
|
|
43
|
-
React.createElement(ButtonStrip, { end: true },
|
|
44
|
-
React.createElement(Button, { onClick: () => {
|
|
45
|
-
this.onCancel();
|
|
46
|
-
} }, "Cancel"),
|
|
47
|
-
React.createElement(Button, { primary: true, disabled: selected.length === 0, onClick: () => {
|
|
48
|
-
this.onConfirm(selected);
|
|
49
|
-
} }, "Confirm"))))));
|
|
50
|
-
};
|
|
51
|
-
this.render();
|
|
52
|
-
}
|
|
53
|
-
onCancel() {
|
|
54
|
-
this.cancel.emit();
|
|
55
|
-
}
|
|
56
|
-
onConfirm(selectedItems) {
|
|
57
|
-
this.confirm.emit(selectedItems);
|
|
58
|
-
}
|
|
59
|
-
async getAppConfig() {
|
|
60
|
-
const systemInfo = (await firstValueFrom(this.httpClient.systemInfo()));
|
|
61
|
-
return {
|
|
62
|
-
baseUrl: (document?.location?.host?.includes('localhost')
|
|
63
|
-
? `${document.location.protocol}//${document.location.host}`
|
|
64
|
-
: systemInfo['contextPath']),
|
|
65
|
-
apiVersion: Number(((systemInfo['version'] || '')?.split('.') || [])[1]),
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
getOrgUnitAttributeByUsage(usageType) {
|
|
69
|
-
switch (usageType) {
|
|
70
|
-
case 'DATA_ENTRY':
|
|
71
|
-
return 'organisationUnits';
|
|
72
|
-
case 'DATA_VIEW':
|
|
73
|
-
return 'dataViewOrganisationUnits';
|
|
74
|
-
default:
|
|
75
|
-
return 'organisationUnits';
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
getRootOrgUnits() {
|
|
79
|
-
const orgUnitAttribute = this.getOrgUnitAttributeByUsage(this.orgUnitSelectionConfig.usageType);
|
|
80
|
-
return firstValueFrom(this.httpClient
|
|
81
|
-
.me()
|
|
82
|
-
.pipe(map((user) => (user ? user[orgUnitAttribute] : []).map((orgUnit) => orgUnit.id))));
|
|
83
|
-
}
|
|
84
|
-
getOrgUnitGroups() {
|
|
85
|
-
return firstValueFrom(this.httpClient
|
|
86
|
-
.get('organisationUnitGroups.json?fields=id,displayName,name&paging=false')
|
|
87
|
-
.pipe(map((res) => res?.['organisationUnitGroups'])));
|
|
88
|
-
}
|
|
89
|
-
getOrgUnitLevels() {
|
|
90
|
-
return firstValueFrom(this.httpClient
|
|
91
|
-
.get('organisationUnitLevels.json?fields=id,level,displayName,name&paging=false')
|
|
92
|
-
.pipe(map((res) => res?.['organisationUnitLevels'])));
|
|
93
|
-
}
|
|
94
|
-
onSelectItems(selectionEvent) {
|
|
95
|
-
this.selectOrgUnits.emit(selectionEvent.items);
|
|
96
|
-
}
|
|
97
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: OrganisationUnitSelectorModalComponent, deps: [{ token: i0.ElementRef }, { token: i1.NgxDhis2HttpClientService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
98
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: OrganisationUnitSelectorModalComponent, selector: "ng-dhis2-ui-org-unit-selector-modal", inputs: { selectedOrgUnits: "selectedOrgUnits", orgUnitSelectionConfig: "orgUnitSelectionConfig" }, outputs: { selectOrgUnits: "selectOrgUnits", cancel: "cancel", confirm: "confirm" }, usesInheritance: true, ngImport: i0, template: '<ng-container><ng-container>', isInline: true, styles: ["::ng-deep .layer{z-index:2!important}\n"] }); }
|
|
99
|
-
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: OrganisationUnitSelectorModalComponent, decorators: [{
|
|
101
|
-
type: Component,
|
|
102
|
-
args: [{ selector: 'ng-dhis2-ui-org-unit-selector-modal', template: '<ng-container><ng-container>', styles: ["::ng-deep .layer{z-index:2!important}\n"] }]
|
|
103
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.NgxDhis2HttpClientService }], propDecorators: { selectedOrgUnits: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], orgUnitSelectionConfig: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], selectOrgUnits: [{
|
|
108
|
-
type: Output
|
|
109
|
-
}], cancel: [{
|
|
110
|
-
type: Output
|
|
111
|
-
}], confirm: [{
|
|
112
|
-
type: Output
|
|
113
|
-
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3ItbW9kYWwuY29tcG9uZW50LW1vZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctZGhpczItdWkvc3JjL2xpYi9tb2R1bGVzL29yZ2FuaXNhdGlvbi11bml0LXNlbGVjdG9yL2NvbnRhaW5lcnMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3ItbW9kYWwvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3ItbW9kYWwuY29tcG9uZW50LW1vZGFsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsS0FBSyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQ1osVUFBVSxHQUNYLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSx5QkFBeUIsRUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBQy9FLE9BQU8sS0FBSyxFQUFFLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxRQUFRLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0QsT0FBTyxnQkFBZ0IsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsK0JBQStCLEdBRWhDLE1BQU0sY0FBYyxDQUFDOzs7QUFrQnRCLE1BQU0sT0FBTyxzQ0FBdUMsU0FBUSxxQkFBcUI7SUFlL0UsWUFDRSxVQUFtQyxFQUMzQixV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QUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FDbEUsQ0FDRixDQUNKLENBQUM7SUFDSixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxjQUFjLENBQ25CLElBQUksQ0FBQyxVQUFVO2FBQ1osR0FBRyxDQUNGLHFFQUFxRSxDQUN0RTthQUNBLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxHQUE0QixFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQ3ZFLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLGNBQWMsQ0FDbkIsSUFBSSxDQUFDLFVBQVU7YUFDWixHQUFHLENBQ0YsMkVBQTJFLENBQzVFO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQTRCLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FDdkUsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxjQUE4QztRQUMxRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQzs4R0FoS1Usc0NBQXNDO2tHQUF0QyxzQ0FBc0MsMlJBVHZDLDhCQUE4Qjs7MkZBUzdCLHNDQUFzQztrQkFYbEQsU0FBUzsrQkFDRSxxQ0FBcUMsWUFDckMsOEJBQThCO3VIQVUvQixnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUdJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0BkaGlzMi9hcHAtcnVudGltZSc7XG5pbXBvcnQge1xuICBCdXR0b24sXG4gIEJ1dHRvblN0cmlwLFxuICBNb2RhbCxcbiAgTW9kYWxBY3Rpb25zLFxuICBNb2RhbENvbnRlbnQsXG4gIE1vZGFsVGl0bGUsXG59IGZyb20gJ0BkaGlzMi91aSc7XG5pbXBvcnQgeyBOZ3hEaGlzMkh0dHBDbGllbnRTZXJ2aWNlLCBVc2VyIH0gZnJvbSAnQGlhcHBzL25neC1kaGlzMi1odHRwLWNsaWVudCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgKiBhcyBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20vY2xpZW50JztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlYWN0V3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3JlYWN0LXdyYXBwZXInO1xuaW1wb3J0IE9yZ1VuaXREaW1lbnNpb24gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9PcmdVbml0RGltZW5zaW9uJztcbmltcG9ydCB7XG4gIE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25Db25maWcsXG4gIE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25Vc2FnZVR5cGUsXG59IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbnR5cGUgT3JnYW5pc2F0aW9uVW5pdFNlbGVjdGlvbkV2ZW50ID0ge1xuICBkaW1lbnNpb25JZDogc3RyaW5nO1xuICBpdGVtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXTtcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLWRoaXMyLXVpLW9yZy11bml0LXNlbGVjdG9yLW1vZGFsJyxcbiAgdGVtcGxhdGU6ICc8bmctY29udGFpbmVyPjxuZy1jb250YWluZXI+JyxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOjpuZy1kZWVwIC5sYXllciB7XG4gICAgICAgIHotaW5kZXg6IDIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBPcmdhbmlzYXRpb25Vbml0U2VsZWN0b3JNb2RhbENvbXBvbmVudCBleHRlbmRzIFJlYWN0V3JhcHBlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkT3JnVW5pdHM6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIG9yZ1VuaXRTZWxlY3Rpb25Db25maWc6IE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25Db25maWcgPVxuICAgIG5ldyBPcmdhbmlzYXRpb25Vbml0U2VsZWN0aW9uQ29uZmlnKCk7XG5cbiAgQE91dHB1dCgpIHNlbGVjdE9yZ1VuaXRzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgY29uZmlybSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBvdmVycmlkZSBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgb25TZWxlY3Q6IChlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMub25TZWxlY3RJdGVtcyhlKTtcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogTmd4RGhpczJIdHRwQ2xpZW50U2VydmljZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudFJlZikgdGhyb3cgbmV3IEVycm9yKCdObyBlbGVtZW50IHJlZicpO1xuICAgIHRoaXMucmVhY3REb21Sb290ID0gUmVhY3RET00uY3JlYXRlUm9vdCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgY29uc3Qgcm9vdE9yZ1VuaXRzID0gYXdhaXQgdGhpcy5nZXRSb290T3JnVW5pdHMoKTtcblxuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IHRoaXMuZ2V0QXBwQ29uZmlnKCk7XG5cbiAgICB0aGlzLmNvbXBvbmVudCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gdXNlU3RhdGUodGhpcy5zZWxlY3RlZE9yZ1VuaXRzKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxQcm92aWRlciBjb25maWc9e2NvbmZpZ30+XG4gICAgICAgICAge1xuICAgICAgICAgICAgPE1vZGFsIHBvc2l0aW9uPVwibWlkZGxlXCIgbGFyZ2U+XG4gICAgICAgICAgICAgIDxNb2RhbFRpdGxlPk9yZ2FuaXNhdGlvbiB1bml0PC9Nb2RhbFRpdGxlPlxuICAgICAgICAgICAgICA8TW9kYWxDb250ZW50PlxuICAgICAgICAgICAgICAgIDxPcmdVbml0RGltZW5zaW9uXG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZD17c2VsZWN0ZWR9XG4gICAgICAgICAgICAgICAgICBoaWRlR3JvdXBTZWxlY3Q9e3RoaXMub3JnVW5pdFNlbGVjdGlvbkNvbmZpZy5oaWRlR3JvdXBTZWxlY3R9XG4gICAgICAgICAgICAgICAgICBoaWRlTGV2ZWxTZWxlY3Q9e3RoaXMub3JnVW5pdFNlbGVjdGlvbkNvbmZpZy5oaWRlTGV2ZWxTZWxlY3R9XG4gICAgICAgICAgICAgICAgICBoaWRlVXNlck9yZ1VuaXRzPXtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcmdVbml0U2VsZWN0aW9uQ29uZmlnLmhpZGVVc2VyT3JnVW5pdHNcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIG9uU2VsZWN0PXsoXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbkV2ZW50OiBPcmdhbmlzYXRpb25Vbml0U2VsZWN0aW9uRXZlbnRcbiAgICAgICAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRTZWxlY3RlZChzZWxlY3Rpb25FdmVudC5pdGVtcyk7XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgb3JnVW5pdEdyb3VwUHJvbWlzZT17dGhpcy5nZXRPcmdVbml0R3JvdXBzKCl9XG4gICAgICAgICAgICAgICAgICBvcmdVbml0TGV2ZWxQcm9taXNlPXt0aGlzLmdldE9yZ1VuaXRMZXZlbHMoKX1cbiAgICAgICAgICAgICAgICAgIHJvb3RzPXtyb290T3JnVW5pdHN9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9Nb2RhbENvbnRlbnQ+XG4gICAgICAgICAgICAgIDxNb2RhbEFjdGlvbnM+XG4gICAgICAgICAgICAgICAgPEJ1dHRvblN0cmlwIGVuZD5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25DYW5jZWwoKTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgcHJpbWFyeVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c2VsZWN0ZWQubGVuZ3RoID09PSAwfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNvbmZpcm0oc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBDb25maXJtXG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L0J1dHRvblN0cmlwPlxuICAgICAgICAgICAgICA8L01vZGFsQWN0aW9ucz5cbiAgICAgICAgICAgIDwvTW9kYWw+XG4gICAgICAgICAgfVxuICAgICAgICA8L1Byb3ZpZGVyPlxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIG9uQ2FuY2VsKCkge1xuICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgfVxuXG4gIG9uQ29uZmlybShzZWxlY3RlZEl0ZW1zOiBhbnlbXSkge1xuICAgIHRoaXMuY29uZmlybS5lbWl0KHNlbGVjdGVkSXRlbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRBcHBDb25maWcoKSB7XG4gICAgY29uc3Qgc3lzdGVtSW5mbyA9IChhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cENsaWVudC5zeXN0ZW1JbmZvKClcbiAgICApKSBhcyB1bmtub3duIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGJhc2VVcmw6IChkb2N1bWVudD8ubG9jYXRpb24/Lmhvc3Q/LmluY2x1ZGVzKCdsb2NhbGhvc3QnKVxuICAgICAgICA/IGAke2RvY3VtZW50LmxvY2F0aW9uLnByb3RvY29sfS8vJHtkb2N1bWVudC5sb2NhdGlvbi5ob3N0fWBcbiAgICAgICAgOiBzeXN0ZW1JbmZvWydjb250ZXh0UGF0aCddKSBhcyBzdHJpbmcsXG4gICAgICBhcGlWZXJzaW9uOiBOdW1iZXIoXG4gICAgICAgICgoKHN5c3RlbUluZm9bJ3ZlcnNpb24nXSBhcyBzdHJpbmcpIHx8ICcnKT8uc3BsaXQoJy4nKSB8fCBbXSlbMV1cbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIGdldE9yZ1VuaXRBdHRyaWJ1dGVCeVVzYWdlKHVzYWdlVHlwZTogT3JnYW5pc2F0aW9uVW5pdFNlbGVjdGlvblVzYWdlVHlwZSkge1xuICAgIHN3aXRjaCAodXNhZ2VUeXBlKSB7XG4gICAgICBjYXNlICdEQVRBX0VOVFJZJzpcbiAgICAgICAgcmV0dXJuICdvcmdhbmlzYXRpb25Vbml0cyc7XG5cbiAgICAgIGNhc2UgJ0RBVEFfVklFVyc6XG4gICAgICAgIHJldHVybiAnZGF0YVZpZXdPcmdhbmlzYXRpb25Vbml0cyc7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnb3JnYW5pc2F0aW9uVW5pdHMnO1xuICAgIH1cbiAgfVxuXG4gIGdldFJvb3RPcmdVbml0cygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgY29uc3Qgb3JnVW5pdEF0dHJpYnV0ZSA9IHRoaXMuZ2V0T3JnVW5pdEF0dHJpYnV0ZUJ5VXNhZ2UoXG4gICAgICB0aGlzLm9yZ1VuaXRTZWxlY3Rpb25Db25maWcudXNhZ2VUeXBlXG4gICAgKTtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgLm1lKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKCh1c2VyOiBVc2VyKSA9PlxuICAgICAgICAgICAgKHVzZXIgPyB1c2VyW29yZ1VuaXRBdHRyaWJ1dGVdIDogW10pLm1hcCgob3JnVW5pdCkgPT4gb3JnVW5pdC5pZClcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICApO1xuICB9XG5cbiAgZ2V0T3JnVW5pdEdyb3VwcygpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cENsaWVudFxuICAgICAgICAuZ2V0KFxuICAgICAgICAgICdvcmdhbmlzYXRpb25Vbml0R3JvdXBzLmpzb24/ZmllbGRzPWlkLGRpc3BsYXlOYW1lLG5hbWUmcGFnaW5nPWZhbHNlJ1xuICAgICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gcmVzPy5bJ29yZ2FuaXNhdGlvblVuaXRHcm91cHMnXSlcbiAgICAgICAgKVxuICAgICk7XG4gIH1cblxuICBnZXRPcmdVbml0TGV2ZWxzKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgIC5nZXQoXG4gICAgICAgICAgJ29yZ2FuaXNhdGlvblVuaXRMZXZlbHMuanNvbj9maWVsZHM9aWQsbGV2ZWwsZGlzcGxheU5hbWUsbmFtZSZwYWdpbmc9ZmFsc2UnXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiByZXM/Llsnb3JnYW5pc2F0aW9uVW5pdExldmVscyddKVxuICAgICAgICApXG4gICAgKTtcbiAgfVxuXG4gIG9uU2VsZWN0SXRlbXMoc2VsZWN0aW9uRXZlbnQ6IE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25FdmVudCkge1xuICAgIHRoaXMuc2VsZWN0T3JnVW5pdHMuZW1pdChzZWxlY3Rpb25FdmVudC5pdGVtcyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
// Copyright 2023 UDSM DHIS2 Lab. All rights reserved.
|
|
2
|
-
// Use of this source code is governed by a BSD-style
|
|
3
|
-
// license that can be found in the LICENSE file.
|
|
4
|
-
export * from './organisation-unit-selector.module';
|
|
5
|
-
export { OrganisationUnitSelectorComponent } from './containers/organisation-unit-selector/organisation-unit-selector.component';
|
|
6
|
-
export { OrganisationUnitSelectorModalComponent } from './containers/organisation-unit-selector-modal/organisation-unit-selector-modal.component-modal';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELHFEQUFxRDtBQUNyRCxpREFBaUQ7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxnR0FBZ0csQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDIzIFVEU00gREhJUzIgTGFiLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGVcbi8vIGxpY2Vuc2UgdGhhdCBjYW4gYmUgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS5cbmV4cG9ydCAqIGZyb20gJy4vb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3IubW9kdWxlJztcbmV4cG9ydCB7IE9yZ2FuaXNhdGlvblVuaXRTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29udGFpbmVycy9vcmdhbmlzYXRpb24tdW5pdC1zZWxlY3Rvci9vcmdhbmlzYXRpb24tdW5pdC1zZWxlY3Rvci5jb21wb25lbnQnO1xuZXhwb3J0IHsgT3JnYW5pc2F0aW9uVW5pdFNlbGVjdG9yTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhaW5lcnMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3ItbW9kYWwvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3ItbW9kYWwuY29tcG9uZW50LW1vZGFsJztcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
// Copyright 2023 UDSM DHIS2 Lab. All rights reserved.
|
|
2
|
-
// Use of this source code is governed by a BSD-style
|
|
3
|
-
// license that can be found in the LICENSE file.
|
|
4
|
-
export * from './organisation-unit-config.model';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3IvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCxxREFBcUQ7QUFDckQsaURBQWlEO0FBQ2pELGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyMyBVRFNNIERISVMyIExhYi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbi8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlXG4vLyBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuXG5leHBvcnQgKiBmcm9tICcuL29yZ2FuaXNhdGlvbi11bml0LWNvbmZpZy5tb2RlbCc7XG4iXX0=
|
package/esm2022/lib/modules/organisation-unit-selector/models/organisation-unit-config.model.mjs
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
// Copyright 2023 UDSM DHIS2 Lab. All rights reserved.
|
|
2
|
-
// Use of this source code is governed by a BSD-style
|
|
3
|
-
// license that can be found in the LICENSE file.
|
|
4
|
-
export class OrganisationUnitSelectionConfig {
|
|
5
|
-
constructor(params) {
|
|
6
|
-
this.hideGroupSelect = params?.hideGroupSelect || false;
|
|
7
|
-
this.hideLevelSelect = params?.hideLevelSelect || false;
|
|
8
|
-
this.hideUserOrgUnits = params?.hideUserOrgUnits || false;
|
|
9
|
-
this.usageType = params?.usageType || 'DATA_ENTRY';
|
|
10
|
-
this.minLevel = params?.minLevel;
|
|
11
|
-
this.allowSingleSelection = params?.allowSingleSelection || false;
|
|
12
|
-
this.batchSize = params?.batchSize;
|
|
13
|
-
this.additionalQueryFields = params?.additionalQueryFields;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9uLXVuaXQtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctZGhpczItdWkvc3JjL2xpYi9tb2R1bGVzL29yZ2FuaXNhdGlvbi11bml0LXNlbGVjdG9yL21vZGVscy9vcmdhbmlzYXRpb24tdW5pdC1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELHFEQUFxRDtBQUNyRCxpREFBaUQ7QUFHakQsTUFBTSxPQUFPLCtCQUErQjtJQVUxQyxZQUFZLE1BQWlEO1FBQzNELElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxFQUFFLGVBQWUsSUFBSSxLQUFLLENBQUM7UUFDeEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLEVBQUUsZUFBZSxJQUFJLEtBQUssQ0FBQztRQUN4RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixJQUFJLEtBQUssQ0FBQztRQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sRUFBRSxTQUFTLElBQUksWUFBWSxDQUFDO1FBQ25ELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxFQUFFLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxFQUFFLG9CQUFvQixJQUFJLEtBQUssQ0FBQztRQUNsRSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sRUFBRSxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyMyBVRFNNIERISVMyIExhYi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbi8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlXG4vLyBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuXG5cbmV4cG9ydCB0eXBlIE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25Vc2FnZVR5cGUgPSAnREFUQV9FTlRSWScgfCAnREFUQV9WSUVXJztcbmV4cG9ydCBjbGFzcyBPcmdhbmlzYXRpb25Vbml0U2VsZWN0aW9uQ29uZmlnIHtcbiAgaGlkZUdyb3VwU2VsZWN0ITogYm9vbGVhbjtcbiAgaGlkZUxldmVsU2VsZWN0ITogYm9vbGVhbjtcbiAgaGlkZVVzZXJPcmdVbml0cyE6IGJvb2xlYW47XG4gIHVzYWdlVHlwZSE6IE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25Vc2FnZVR5cGU7XG4gIG1pbkxldmVsPzogbnVtYmVyO1xuICBhbGxvd1NpbmdsZVNlbGVjdGlvbj86IGJvb2xlYW47XG4gIGJhdGNoU2l6ZT86IG51bWJlcjtcbiAgYWRkaXRpb25hbFF1ZXJ5RmllbGRzPzogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IocGFyYW1zPzogUGFydGlhbDxPcmdhbmlzYXRpb25Vbml0U2VsZWN0aW9uQ29uZmlnPikge1xuICAgIHRoaXMuaGlkZUdyb3VwU2VsZWN0ID0gcGFyYW1zPy5oaWRlR3JvdXBTZWxlY3QgfHwgZmFsc2U7XG4gICAgdGhpcy5oaWRlTGV2ZWxTZWxlY3QgPSBwYXJhbXM/LmhpZGVMZXZlbFNlbGVjdCB8fCBmYWxzZTtcbiAgICB0aGlzLmhpZGVVc2VyT3JnVW5pdHMgPSBwYXJhbXM/LmhpZGVVc2VyT3JnVW5pdHMgfHwgZmFsc2U7XG4gICAgdGhpcy51c2FnZVR5cGUgPSBwYXJhbXM/LnVzYWdlVHlwZSB8fCAnREFUQV9FTlRSWSc7XG4gICAgdGhpcy5taW5MZXZlbCA9IHBhcmFtcz8ubWluTGV2ZWw7XG4gICAgdGhpcy5hbGxvd1NpbmdsZVNlbGVjdGlvbiA9IHBhcmFtcz8uYWxsb3dTaW5nbGVTZWxlY3Rpb24gfHwgZmFsc2U7XG4gICAgdGhpcy5iYXRjaFNpemUgPSBwYXJhbXM/LmJhdGNoU2l6ZTtcbiAgICB0aGlzLmFkZGl0aW9uYWxRdWVyeUZpZWxkcyA9IHBhcmFtcz8uYWRkaXRpb25hbFF1ZXJ5RmllbGRzO1xuICB9XG59XG4iXX0=
|
package/esm2022/lib/modules/organisation-unit-selector/organisation-unit-selector.module.mjs
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { SharedDhis2UiModule } from '../../shared/shared.module';
|
|
4
|
-
import { OrganisationUnitSelectorComponent } from './containers/organisation-unit-selector/organisation-unit-selector.component';
|
|
5
|
-
import { OrganisationUnitSelectorModalComponent } from './containers/organisation-unit-selector-modal/organisation-unit-selector-modal.component-modal';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class OrganisationUnitSelectorModule {
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: OrganisationUnitSelectorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.1.1", ngImport: i0, type: OrganisationUnitSelectorModule, declarations: [OrganisationUnitSelectorComponent,
|
|
10
|
-
OrganisationUnitSelectorModalComponent], imports: [CommonModule, SharedDhis2UiModule], exports: [OrganisationUnitSelectorComponent,
|
|
11
|
-
OrganisationUnitSelectorModalComponent] }); }
|
|
12
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: OrganisationUnitSelectorModule, imports: [CommonModule, SharedDhis2UiModule] }); }
|
|
13
|
-
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: OrganisationUnitSelectorModule, decorators: [{
|
|
15
|
-
type: NgModule,
|
|
16
|
-
args: [{
|
|
17
|
-
imports: [CommonModule, SharedDhis2UiModule],
|
|
18
|
-
declarations: [
|
|
19
|
-
OrganisationUnitSelectorComponent,
|
|
20
|
-
OrganisationUnitSelectorModalComponent,
|
|
21
|
-
],
|
|
22
|
-
exports: [
|
|
23
|
-
OrganisationUnitSelectorComponent,
|
|
24
|
-
OrganisationUnitSelectorModalComponent,
|
|
25
|
-
],
|
|
26
|
-
}]
|
|
27
|
-
}] });
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctZGhpczItdWkvc3JjL2xpYi9tb2R1bGVzL29yZ2FuaXNhdGlvbi11bml0LXNlbGVjdG9yL29yZ2FuaXNhdGlvbi11bml0LXNlbGVjdG9yLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw4RUFBOEUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxnR0FBZ0csQ0FBQzs7QUFheEosTUFBTSxPQUFPLDhCQUE4Qjs4R0FBOUIsOEJBQThCOytHQUE5Qiw4QkFBOEIsaUJBUnZDLGlDQUFpQztZQUNqQyxzQ0FBc0MsYUFIOUIsWUFBWSxFQUFFLG1CQUFtQixhQU16QyxpQ0FBaUM7WUFDakMsc0NBQXNDOytHQUc3Qiw4QkFBOEIsWUFWL0IsWUFBWSxFQUFFLG1CQUFtQjs7MkZBVWhDLDhCQUE4QjtrQkFYMUMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7b0JBQzVDLFlBQVksRUFBRTt3QkFDWixpQ0FBaUM7d0JBQ2pDLHNDQUFzQztxQkFDdkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGlDQUFpQzt3QkFDakMsc0NBQXNDO3FCQUN2QztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2hhcmVkRGhpczJVaU1vZHVsZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9zaGFyZWQubW9kdWxlJztcbmltcG9ydCB7IE9yZ2FuaXNhdGlvblVuaXRTZWxlY3RvckNvbXBvbmVudCB9IGZyb20gJy4vY29udGFpbmVycy9vcmdhbmlzYXRpb24tdW5pdC1zZWxlY3Rvci9vcmdhbmlzYXRpb24tdW5pdC1zZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgT3JnYW5pc2F0aW9uVW5pdFNlbGVjdG9yTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvbnRhaW5lcnMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3ItbW9kYWwvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3ItbW9kYWwuY29tcG9uZW50LW1vZGFsJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2hhcmVkRGhpczJVaU1vZHVsZV0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE9yZ2FuaXNhdGlvblVuaXRTZWxlY3RvckNvbXBvbmVudCxcbiAgICBPcmdhbmlzYXRpb25Vbml0U2VsZWN0b3JNb2RhbENvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE9yZ2FuaXNhdGlvblVuaXRTZWxlY3RvckNvbXBvbmVudCxcbiAgICBPcmdhbmlzYXRpb25Vbml0U2VsZWN0b3JNb2RhbENvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgT3JnYW5pc2F0aW9uVW5pdFNlbGVjdG9yTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import i18n from '@dhis2/d2-i18n';
|
|
2
|
-
import { InputField, SingleSelectField, SingleSelectOption, spacers, } from '@dhis2/ui';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
|
-
import React from 'react';
|
|
5
|
-
import { filterPeriodTypesById, getFixedPeriodsOptions } from './utils';
|
|
6
|
-
const FixedPeriodFilter = ({ allowedPeriodTypes, excludedPeriodTypes, currentPeriodType, currentYear, onSelectPeriodType, onSelectYear, dataTest, }) => {
|
|
7
|
-
const onlyAllowedTypeIsSelected = Array.isArray(allowedPeriodTypes) &&
|
|
8
|
-
allowedPeriodTypes.length === 1 &&
|
|
9
|
-
allowedPeriodTypes[0] === currentPeriodType;
|
|
10
|
-
return (React.createElement(React.Fragment, null,
|
|
11
|
-
React.createElement("div", { className: "leftSection" },
|
|
12
|
-
React.createElement(SingleSelectField, { label: i18n.t('Period type'), onChange: ({ selected }) => onSelectPeriodType(selected), dense: true, selected: currentPeriodType, disabled: onlyAllowedTypeIsSelected, className: "filterElement", dataTest: `${dataTest}-period-type` }, (allowedPeriodTypes
|
|
13
|
-
? getFixedPeriodsOptions().filter((option) => allowedPeriodTypes.some((type) => type === option.id))
|
|
14
|
-
: filterPeriodTypesById(getFixedPeriodsOptions(), excludedPeriodTypes)).map((option) => (React.createElement(SingleSelectOption, { key: option.id, value: option.id, label: option.name, dataTest: `${dataTest}-period-type-option-${option.id}` }))))),
|
|
15
|
-
React.createElement("div", { className: "rightSection" },
|
|
16
|
-
React.createElement(InputField, { label: i18n.t('Year'), className: "filterElement", type: "number", placeholder: i18n.t('Select year'), value: currentYear, onChange: ({ value }) => onSelectYear(value), dense: true, dataTest: `${dataTest}-year` })),
|
|
17
|
-
React.createElement("style", { jsx: true }, `
|
|
18
|
-
.leftSection {
|
|
19
|
-
flex-grow: 1;
|
|
20
|
-
}
|
|
21
|
-
.leftSection > :global(.filterElement),
|
|
22
|
-
.rightSection > :global(.filterElement) {
|
|
23
|
-
margin: 0;
|
|
24
|
-
}
|
|
25
|
-
.rightSection {
|
|
26
|
-
width: 120px;
|
|
27
|
-
margin-left: ${spacers.dp8};
|
|
28
|
-
}
|
|
29
|
-
`)));
|
|
30
|
-
};
|
|
31
|
-
FixedPeriodFilter.defaultProps = {
|
|
32
|
-
excludedPeriodTypes: [],
|
|
33
|
-
};
|
|
34
|
-
FixedPeriodFilter.propTypes = {
|
|
35
|
-
currentPeriodType: PropTypes.string.isRequired,
|
|
36
|
-
currentYear: PropTypes.string.isRequired,
|
|
37
|
-
onSelectPeriodType: PropTypes.func.isRequired,
|
|
38
|
-
onSelectYear: PropTypes.func.isRequired,
|
|
39
|
-
allowedPeriodTypes: PropTypes.arrayOf(PropTypes.string),
|
|
40
|
-
dataTest: PropTypes.string,
|
|
41
|
-
excludedPeriodTypes: PropTypes.arrayOf(PropTypes.string),
|
|
42
|
-
};
|
|
43
|
-
export default FixedPeriodFilter;
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRml4ZWRQZXJpb2RGaWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvcGVyaW9kLXNlbGVjdG9yL2NvbXBvbmVudHMvRml4ZWRQZXJpb2RGaWx0ZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xDLE9BQU8sRUFDTCxVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixPQUFPLEdBQ1IsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFeEUsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEVBQ3pCLGtCQUFrQixFQUNsQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLFFBQVEsR0FDSixFQUFFLEVBQUU7SUFDUixNQUFNLHlCQUF5QixHQUM3QixLQUFLLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO1FBQ2pDLGtCQUFrQixDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQy9CLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxLQUFLLGlCQUFpQixDQUFDO0lBRTlDLE9BQU8sQ0FDTDtRQUNFLDZCQUFLLFNBQVMsRUFBQyxhQUFhO1lBQzFCLG9CQUFDLGlCQUFpQixJQUNoQixLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsRUFDNUIsUUFBUSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQU8sRUFBRSxFQUFFLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEVBQzdELEtBQUssUUFDTCxRQUFRLEVBQUUsaUJBQWlCLEVBQzNCLFFBQVEsRUFBRSx5QkFBeUIsRUFDbkMsU0FBUyxFQUFDLGVBQWUsRUFDekIsUUFBUSxFQUFFLEdBQUcsUUFBUSxjQUFjLElBRWxDLENBQUMsa0JBQWtCO2dCQUNsQixDQUFDLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUM5QyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQzNEO2dCQUNILENBQUMsQ0FBQyxxQkFBcUIsQ0FDbkIsc0JBQXNCLEVBQVMsRUFDL0IsbUJBQW1CLENBQ3BCLENBQ0osQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQ2hCLG9CQUFDLGtCQUFrQixJQUNqQixHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFDaEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQ2xCLFFBQVEsRUFBRSxHQUFHLFFBQVEsdUJBQXVCLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FDdkQsQ0FDSCxDQUFDLENBQ2dCLENBQ2hCO1FBQ04sNkJBQUssU0FBUyxFQUFDLGNBQWM7WUFDM0Isb0JBQUMsVUFBVSxJQUNULEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUNyQixTQUFTLEVBQUMsZUFBZSxFQUN6QixJQUFJLEVBQUMsUUFBUSxFQUNiLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUNsQyxLQUFLLEVBQUUsV0FBVyxFQUNsQixRQUFRLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBTyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQ2pELEtBQUssUUFDTCxRQUFRLEVBQUUsR0FBRyxRQUFRLE9BQU8sR0FDaEIsQ0FDVjtRQUNOLCtCQUFPLEdBQUcsVUFBRTs7Ozs7Ozs7Ozt5QkFVTyxPQUFPLENBQUMsR0FBRzs7T0FFN0IsQ0FBUyxDQUNULENBQ0osQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLGlCQUFpQixDQUFDLFlBQVksR0FBRztJQUMvQixtQkFBbUIsRUFBRSxFQUFFO0NBQ3hCLENBQUM7QUFFRixpQkFBaUIsQ0FBQyxTQUFTLEdBQUc7SUFDNUIsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO0lBQzlDLFdBQVcsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7SUFDeEMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO0lBQzdDLFlBQVksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7SUFDdkMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQ3ZELFFBQVEsRUFBRSxTQUFTLENBQUMsTUFBTTtJQUMxQixtQkFBbUIsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7Q0FDekQsQ0FBQztBQUVGLGVBQWUsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgaTE4biBmcm9tICdAZGhpczIvZDItaTE4bic7XG5pbXBvcnQge1xuICBJbnB1dEZpZWxkLFxuICBTaW5nbGVTZWxlY3RGaWVsZCxcbiAgU2luZ2xlU2VsZWN0T3B0aW9uLFxuICBzcGFjZXJzLFxufSBmcm9tICdAZGhpczIvdWknO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBmaWx0ZXJQZXJpb2RUeXBlc0J5SWQsIGdldEZpeGVkUGVyaW9kc09wdGlvbnMgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgRml4ZWRQZXJpb2RGaWx0ZXIgPSAoe1xuICBhbGxvd2VkUGVyaW9kVHlwZXMsXG4gIGV4Y2x1ZGVkUGVyaW9kVHlwZXMsXG4gIGN1cnJlbnRQZXJpb2RUeXBlLFxuICBjdXJyZW50WWVhcixcbiAgb25TZWxlY3RQZXJpb2RUeXBlLFxuICBvblNlbGVjdFllYXIsXG4gIGRhdGFUZXN0LFxufTogYW55KSA9PiB7XG4gIGNvbnN0IG9ubHlBbGxvd2VkVHlwZUlzU2VsZWN0ZWQgPVxuICAgIEFycmF5LmlzQXJyYXkoYWxsb3dlZFBlcmlvZFR5cGVzKSAmJlxuICAgIGFsbG93ZWRQZXJpb2RUeXBlcy5sZW5ndGggPT09IDEgJiZcbiAgICBhbGxvd2VkUGVyaW9kVHlwZXNbMF0gPT09IGN1cnJlbnRQZXJpb2RUeXBlO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGVmdFNlY3Rpb25cIj5cbiAgICAgICAgPFNpbmdsZVNlbGVjdEZpZWxkXG4gICAgICAgICAgbGFiZWw9e2kxOG4udCgnUGVyaW9kIHR5cGUnKX1cbiAgICAgICAgICBvbkNoYW5nZT17KHsgc2VsZWN0ZWQgfTogYW55KSA9PiBvblNlbGVjdFBlcmlvZFR5cGUoc2VsZWN0ZWQpfVxuICAgICAgICAgIGRlbnNlXG4gICAgICAgICAgc2VsZWN0ZWQ9e2N1cnJlbnRQZXJpb2RUeXBlfVxuICAgICAgICAgIGRpc2FibGVkPXtvbmx5QWxsb3dlZFR5cGVJc1NlbGVjdGVkfVxuICAgICAgICAgIGNsYXNzTmFtZT1cImZpbHRlckVsZW1lbnRcIlxuICAgICAgICAgIGRhdGFUZXN0PXtgJHtkYXRhVGVzdH0tcGVyaW9kLXR5cGVgfVxuICAgICAgICA+XG4gICAgICAgICAgeyhhbGxvd2VkUGVyaW9kVHlwZXNcbiAgICAgICAgICAgID8gZ2V0Rml4ZWRQZXJpb2RzT3B0aW9ucygpLmZpbHRlcigob3B0aW9uOiBhbnkpID0+XG4gICAgICAgICAgICAgICAgYWxsb3dlZFBlcmlvZFR5cGVzLnNvbWUoKHR5cGU6IGFueSkgPT4gdHlwZSA9PT0gb3B0aW9uLmlkKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6IGZpbHRlclBlcmlvZFR5cGVzQnlJZChcbiAgICAgICAgICAgICAgICBnZXRGaXhlZFBlcmlvZHNPcHRpb25zKCkgYXMgYW55LFxuICAgICAgICAgICAgICAgIGV4Y2x1ZGVkUGVyaW9kVHlwZXNcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICkubWFwKChvcHRpb24pID0+IChcbiAgICAgICAgICAgIDxTaW5nbGVTZWxlY3RPcHRpb25cbiAgICAgICAgICAgICAga2V5PXtvcHRpb24uaWR9XG4gICAgICAgICAgICAgIHZhbHVlPXtvcHRpb24uaWR9XG4gICAgICAgICAgICAgIGxhYmVsPXtvcHRpb24ubmFtZX1cbiAgICAgICAgICAgICAgZGF0YVRlc3Q9e2Ake2RhdGFUZXN0fS1wZXJpb2QtdHlwZS1vcHRpb24tJHtvcHRpb24uaWR9YH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU2luZ2xlU2VsZWN0RmllbGQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwicmlnaHRTZWN0aW9uXCI+XG4gICAgICAgIDxJbnB1dEZpZWxkXG4gICAgICAgICAgbGFiZWw9e2kxOG4udCgnWWVhcicpfVxuICAgICAgICAgIGNsYXNzTmFtZT1cImZpbHRlckVsZW1lbnRcIlxuICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtpMThuLnQoJ1NlbGVjdCB5ZWFyJyl9XG4gICAgICAgICAgdmFsdWU9e2N1cnJlbnRZZWFyfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoeyB2YWx1ZSB9OiBhbnkpID0+IG9uU2VsZWN0WWVhcih2YWx1ZSl9XG4gICAgICAgICAgZGVuc2VcbiAgICAgICAgICBkYXRhVGVzdD17YCR7ZGF0YVRlc3R9LXllYXJgfVxuICAgICAgICA+PC9JbnB1dEZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3R5bGUganN4PntgXG4gICAgICAgIC5sZWZ0U2VjdGlvbiB7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB9XG4gICAgICAgIC5sZWZ0U2VjdGlvbiA+IDpnbG9iYWwoLmZpbHRlckVsZW1lbnQpLFxuICAgICAgICAucmlnaHRTZWN0aW9uID4gOmdsb2JhbCguZmlsdGVyRWxlbWVudCkge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgICAucmlnaHRTZWN0aW9uIHtcbiAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6ICR7c3BhY2Vycy5kcDh9O1xuICAgICAgICB9XG4gICAgICBgfTwvc3R5bGU+XG4gICAgPC8+XG4gICk7XG59O1xuXG5GaXhlZFBlcmlvZEZpbHRlci5kZWZhdWx0UHJvcHMgPSB7XG4gIGV4Y2x1ZGVkUGVyaW9kVHlwZXM6IFtdLFxufTtcblxuRml4ZWRQZXJpb2RGaWx0ZXIucHJvcFR5cGVzID0ge1xuICBjdXJyZW50UGVyaW9kVHlwZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBjdXJyZW50WWVhcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBvblNlbGVjdFBlcmlvZFR5cGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIG9uU2VsZWN0WWVhcjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgYWxsb3dlZFBlcmlvZFR5cGVzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgZGF0YVRlc3Q6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGV4Y2x1ZGVkUGVyaW9kVHlwZXM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgRml4ZWRQZXJpb2RGaWx0ZXI7XG4iXX0=
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { useDataQuery } from '@dhis2/app-runtime';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { DIMENSION_ID_PERIOD } from '../../../shared/utils/predefinedDimensions';
|
|
5
|
-
import PeriodTransfer from './PeriodTransfer';
|
|
6
|
-
const userSettingsQuery = {
|
|
7
|
-
userSettings: {
|
|
8
|
-
resource: 'userSettings',
|
|
9
|
-
params: {
|
|
10
|
-
key: ['keyUiLocale'],
|
|
11
|
-
},
|
|
12
|
-
},
|
|
13
|
-
};
|
|
14
|
-
export const PeriodDimension = ({ onSelect, selectedPeriods, rightFooter, excludedPeriodTypes, systemInfo, }) => {
|
|
15
|
-
const result = useDataQuery(userSettingsQuery);
|
|
16
|
-
const { calendar = 'gregory' } = systemInfo;
|
|
17
|
-
// const { data: { userSettings: { keyUiLocale: locale } = {} } = {} } =
|
|
18
|
-
// result as any;
|
|
19
|
-
const locale = result.data && result.data['userSettings']
|
|
20
|
-
? result.data['userSettings']['keyUiLocale']
|
|
21
|
-
: '';
|
|
22
|
-
const periodsSettings = { calendar, locale };
|
|
23
|
-
const selectPeriods = (periods) => {
|
|
24
|
-
onSelect({
|
|
25
|
-
dimensionId: DIMENSION_ID_PERIOD,
|
|
26
|
-
items: periods,
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
return (React.createElement(PeriodTransfer, { onSelect: selectPeriods, initialSelectedPeriods: selectedPeriods, rightFooter: rightFooter, dataTest: 'period-dimension', excludedPeriodTypes: excludedPeriodTypes, periodsSettings: periodsSettings }));
|
|
30
|
-
};
|
|
31
|
-
PeriodDimension.propTypes = {
|
|
32
|
-
onSelect: PropTypes.func.isRequired,
|
|
33
|
-
excludedPeriodTypes: PropTypes.arrayOf(PropTypes.string),
|
|
34
|
-
rightFooter: PropTypes.node,
|
|
35
|
-
selectedPeriods: PropTypes.array,
|
|
36
|
-
systemInfo: PropTypes.object,
|
|
37
|
-
};
|
|
38
|
-
PeriodDimension.defaultProps = {
|
|
39
|
-
selectedPeriods: [],
|
|
40
|
-
};
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyaW9kRGltZW5zaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctZGhpczItdWkvc3JjL2xpYi9tb2R1bGVzL3BlcmlvZC1zZWxlY3Rvci9jb21wb25lbnRzL1BlcmlvZERpbWVuc2lvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQztBQUNuQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUM7QUFFOUMsTUFBTSxpQkFBaUIsR0FBRztJQUN4QixZQUFZLEVBQUU7UUFDWixRQUFRLEVBQUUsY0FBYztRQUN4QixNQUFNLEVBQUU7WUFDTixHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7U0FDckI7S0FDRjtDQUNGLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxFQUM5QixRQUFRLEVBQ1IsZUFBZSxFQUNmLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsVUFBVSxHQUNOLEVBQUUsRUFBRTtJQUNSLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRS9DLE1BQU0sRUFBRSxRQUFRLEdBQUcsU0FBUyxFQUFFLEdBQUcsVUFBaUIsQ0FBQztJQUNuRCx3RUFBd0U7SUFDeEUsbUJBQW1CO0lBRW5CLE1BQU0sTUFBTSxHQUNWLE1BQU0sQ0FBQyxJQUFJLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDeEMsQ0FBQyxDQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFTLENBQUMsYUFBYSxDQUFDO1FBQ3JELENBQUMsQ0FBQyxFQUFFLENBQUM7SUFFVCxNQUFNLGVBQWUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUU3QyxNQUFNLGFBQWEsR0FBRyxDQUFDLE9BQWMsRUFBRSxFQUFFO1FBQ3ZDLFFBQVEsQ0FBQztZQUNQLFdBQVcsRUFBRSxtQkFBbUI7WUFDaEMsS0FBSyxFQUFFLE9BQU87U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFDRixPQUFPLENBQ0wsb0JBQUMsY0FBYyxJQUNiLFFBQVEsRUFBRSxhQUFhLEVBQ3ZCLHNCQUFzQixFQUFFLGVBQWUsRUFDdkMsV0FBVyxFQUFFLFdBQVcsRUFDeEIsUUFBUSxFQUFFLGtCQUFrQixFQUM1QixtQkFBbUIsRUFBRSxtQkFBbUIsRUFDeEMsZUFBZSxFQUFFLGVBQWUsR0FDaEMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsZUFBZSxDQUFDLFNBQVMsR0FBRztJQUMxQixRQUFRLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO0lBQ25DLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztJQUN4RCxXQUFXLEVBQUUsU0FBUyxDQUFDLElBQUk7SUFDM0IsZUFBZSxFQUFFLFNBQVMsQ0FBQyxLQUFLO0lBQ2hDLFVBQVUsRUFBRSxTQUFTLENBQUMsTUFBTTtDQUM3QixDQUFDO0FBRUYsZUFBZSxDQUFDLFlBQVksR0FBRztJQUM3QixlQUFlLEVBQUUsRUFBRTtDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRGF0YVF1ZXJ5IH0gZnJvbSAnQGRoaXMyL2FwcC1ydW50aW1lJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRElNRU5TSU9OX0lEX1BFUklPRCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC91dGlscy9wcmVkZWZpbmVkRGltZW5zaW9ucyc7XG5pbXBvcnQgUGVyaW9kVHJhbnNmZXIgZnJvbSAnLi9QZXJpb2RUcmFuc2Zlcic7XG5cbmNvbnN0IHVzZXJTZXR0aW5nc1F1ZXJ5ID0ge1xuICB1c2VyU2V0dGluZ3M6IHtcbiAgICByZXNvdXJjZTogJ3VzZXJTZXR0aW5ncycsXG4gICAgcGFyYW1zOiB7XG4gICAgICBrZXk6IFsna2V5VWlMb2NhbGUnXSxcbiAgICB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IFBlcmlvZERpbWVuc2lvbiA9ICh7XG4gIG9uU2VsZWN0LFxuICBzZWxlY3RlZFBlcmlvZHMsXG4gIHJpZ2h0Rm9vdGVyLFxuICBleGNsdWRlZFBlcmlvZFR5cGVzLFxuICBzeXN0ZW1JbmZvLFxufTogYW55KSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IHVzZURhdGFRdWVyeSh1c2VyU2V0dGluZ3NRdWVyeSk7XG5cbiAgY29uc3QgeyBjYWxlbmRhciA9ICdncmVnb3J5JyB9ID0gc3lzdGVtSW5mbyBhcyBhbnk7XG4gIC8vIGNvbnN0IHsgZGF0YTogeyB1c2VyU2V0dGluZ3M6IHsga2V5VWlMb2NhbGU6IGxvY2FsZSB9ID0ge30gfSA9IHt9IH0gPVxuICAvLyAgIHJlc3VsdCBhcyBhbnk7XG5cbiAgY29uc3QgbG9jYWxlID1cbiAgICByZXN1bHQuZGF0YSAmJiByZXN1bHQuZGF0YVsndXNlclNldHRpbmdzJ11cbiAgICAgID8gKHJlc3VsdC5kYXRhWyd1c2VyU2V0dGluZ3MnXSBhcyBhbnkpWydrZXlVaUxvY2FsZSddXG4gICAgICA6ICcnO1xuXG4gIGNvbnN0IHBlcmlvZHNTZXR0aW5ncyA9IHsgY2FsZW5kYXIsIGxvY2FsZSB9O1xuXG4gIGNvbnN0IHNlbGVjdFBlcmlvZHMgPSAocGVyaW9kczogYW55W10pID0+IHtcbiAgICBvblNlbGVjdCh7XG4gICAgICBkaW1lbnNpb25JZDogRElNRU5TSU9OX0lEX1BFUklPRCxcbiAgICAgIGl0ZW1zOiBwZXJpb2RzLFxuICAgIH0pO1xuICB9O1xuICByZXR1cm4gKFxuICAgIDxQZXJpb2RUcmFuc2ZlclxuICAgICAgb25TZWxlY3Q9e3NlbGVjdFBlcmlvZHN9XG4gICAgICBpbml0aWFsU2VsZWN0ZWRQZXJpb2RzPXtzZWxlY3RlZFBlcmlvZHN9XG4gICAgICByaWdodEZvb3Rlcj17cmlnaHRGb290ZXJ9XG4gICAgICBkYXRhVGVzdD17J3BlcmlvZC1kaW1lbnNpb24nfVxuICAgICAgZXhjbHVkZWRQZXJpb2RUeXBlcz17ZXhjbHVkZWRQZXJpb2RUeXBlc31cbiAgICAgIHBlcmlvZHNTZXR0aW5ncz17cGVyaW9kc1NldHRpbmdzfVxuICAgIC8+XG4gICk7XG59O1xuXG5QZXJpb2REaW1lbnNpb24ucHJvcFR5cGVzID0ge1xuICBvblNlbGVjdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgZXhjbHVkZWRQZXJpb2RUeXBlczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gIHJpZ2h0Rm9vdGVyOiBQcm9wVHlwZXMubm9kZSxcbiAgc2VsZWN0ZWRQZXJpb2RzOiBQcm9wVHlwZXMuYXJyYXksXG4gIHN5c3RlbUluZm86IFByb3BUeXBlcy5vYmplY3QsXG59O1xuXG5QZXJpb2REaW1lbnNpb24uZGVmYXVsdFByb3BzID0ge1xuICBzZWxlY3RlZFBlcmlvZHM6IFtdLFxufTtcbiJdfQ==
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { getNowInCalendar } from '@dhis2/multi-calendar-dates';
|
|
2
|
-
import { TabBar, Tab, Transfer } from '@dhis2/ui';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
|
-
import React, { useState } from 'react'; //TODO: Reimplement the icon.js
|
|
5
|
-
import i18n from '@dhis2/d2-i18n';
|
|
6
|
-
import { TRANSFER_HEIGHT, TRANSFER_OPTIONS_WIDTH, TRANSFER_SELECTED_WIDTH, TransferOption, } from '../../../shared';
|
|
7
|
-
import styles from '../../../shared/styles/DimensionSelector.style';
|
|
8
|
-
import FixedPeriodFilter from './FixedPeriodFilter';
|
|
9
|
-
import { RelativePeriodFilter } from './RelativePeriodFilter';
|
|
10
|
-
import { MONTHLY, QUARTERLY, getRelativePeriodsOptionsById, getFixedPeriodsOptionsById, } from './utils';
|
|
11
|
-
import PeriodIcon from '../../../shared/assets/DimensionItemIcons/PeriodIcon';
|
|
12
|
-
const PeriodTransfer = ({ onSelect, dataTest, initialSelectedPeriods, rightFooter, excludedPeriodTypes, periodsSettings, }) => {
|
|
13
|
-
const defaultRelativePeriodType = excludedPeriodTypes.includes(MONTHLY)
|
|
14
|
-
? getRelativePeriodsOptionsById(QUARTERLY)
|
|
15
|
-
: getRelativePeriodsOptionsById(MONTHLY);
|
|
16
|
-
const defaultFixedPeriodType = excludedPeriodTypes.includes(MONTHLY)
|
|
17
|
-
? getFixedPeriodsOptionsById(QUARTERLY, periodsSettings)
|
|
18
|
-
: getFixedPeriodsOptionsById(MONTHLY, periodsSettings);
|
|
19
|
-
const now = getNowInCalendar(periodsSettings.calendar);
|
|
20
|
-
// use ".eraYear" rather than ".year" because in Ethiopian calendar, eraYear is what our users expect to see (for other calendars, it doesn't matter)
|
|
21
|
-
// there is still a pending decision in Temporal regarding which era to use by default: https://github.com/js-temporal/temporal-polyfill/blob/9350ee7dd0d29f329fc097debf923a517c32f813/lib/calendar.ts#L1964
|
|
22
|
-
const defaultFixedPeriodYear = now.eraYear || now.year;
|
|
23
|
-
const fixedPeriodConfig = (year) => ({
|
|
24
|
-
offset: year - defaultFixedPeriodYear,
|
|
25
|
-
filterFuturePeriods: false,
|
|
26
|
-
reversePeriods: false,
|
|
27
|
-
});
|
|
28
|
-
const [allPeriods, setAllPeriods] = useState(defaultRelativePeriodType?.getPeriods() || []);
|
|
29
|
-
const [selectedPeriods, setSelectedPeriods] = useState(initialSelectedPeriods);
|
|
30
|
-
const [isRelative, setIsRelative] = useState(true);
|
|
31
|
-
const [relativeFilter, setRelativeFilter] = useState({
|
|
32
|
-
periodType: defaultRelativePeriodType?.id || '',
|
|
33
|
-
});
|
|
34
|
-
const [fixedFilter, setFixedFilter] = useState({
|
|
35
|
-
periodType: defaultFixedPeriodType?.id || '',
|
|
36
|
-
year: defaultFixedPeriodYear.toString(),
|
|
37
|
-
});
|
|
38
|
-
const onIsRelativeClick = (state) => {
|
|
39
|
-
if (state !== isRelative) {
|
|
40
|
-
setIsRelative(state);
|
|
41
|
-
setAllPeriods(state
|
|
42
|
-
? getRelativePeriodsOptionsById(relativeFilter.periodType)?.getPeriods() || []
|
|
43
|
-
: getFixedPeriodsOptionsById(fixedFilter.periodType, periodsSettings)?.getPeriods(fixedPeriodConfig(Number(fixedFilter.year))) || []);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
const renderLeftHeader = () => (React.createElement(React.Fragment, null,
|
|
47
|
-
React.createElement(TabBar, null,
|
|
48
|
-
React.createElement(Tab, { selected: isRelative, onClick: () => onIsRelativeClick(true), dataTest: `${dataTest}-relative-periods-button` }, i18n.t('Relative periods')),
|
|
49
|
-
React.createElement(Tab, { selected: !isRelative, onClick: () => onIsRelativeClick(false), dataTest: `${dataTest}-fixed-periods-button` }, i18n.t('Fixed periods'))),
|
|
50
|
-
React.createElement("div", { className: "filterContainer" }, isRelative ? (React.createElement(RelativePeriodFilter, { currentFilter: relativeFilter.periodType, onSelectFilter: (filter) => {
|
|
51
|
-
setRelativeFilter({ periodType: filter });
|
|
52
|
-
setAllPeriods(getRelativePeriodsOptionsById(filter)?.getPeriods() || []);
|
|
53
|
-
}, dataTest: `${dataTest}-relative-period-filter`, excludedPeriodTypes: excludedPeriodTypes })) : (React.createElement(FixedPeriodFilter, { currentPeriodType: fixedFilter.periodType, currentYear: fixedFilter.year, onSelectPeriodType: (periodType) => {
|
|
54
|
-
onSelectFixedPeriods({
|
|
55
|
-
periodType,
|
|
56
|
-
year: fixedFilter.year,
|
|
57
|
-
});
|
|
58
|
-
}, onSelectYear: (year) => {
|
|
59
|
-
onSelectFixedPeriods({
|
|
60
|
-
periodType: fixedFilter.periodType,
|
|
61
|
-
year,
|
|
62
|
-
});
|
|
63
|
-
}, dataTest: `${dataTest}-fixed-period-filter`, excludedPeriodTypes: excludedPeriodTypes }))),
|
|
64
|
-
React.createElement("style", { jsx: true }, styles)));
|
|
65
|
-
const renderRightHeader = () => (React.createElement(React.Fragment, null,
|
|
66
|
-
React.createElement("p", { className: "rightHeader" }, i18n.t('Selected Periods')),
|
|
67
|
-
React.createElement("style", { jsx: true }, styles)));
|
|
68
|
-
const onSelectFixedPeriods = (filter) => {
|
|
69
|
-
setFixedFilter(filter);
|
|
70
|
-
setAllPeriods((getFixedPeriodsOptionsById(filter.periodType, periodsSettings)?.getPeriods(fixedPeriodConfig(Number(filter.year))) || []));
|
|
71
|
-
};
|
|
72
|
-
const renderEmptySelection = () => (React.createElement(React.Fragment, null,
|
|
73
|
-
React.createElement("p", { className: "emptyList" }, i18n.t('No periods selected')),
|
|
74
|
-
React.createElement("style", { jsx: true }, styles)));
|
|
75
|
-
return (React.createElement(Transfer, { onChange: ({ selected }) => {
|
|
76
|
-
const formattedItems = selected.map((id) => ({
|
|
77
|
-
id,
|
|
78
|
-
name: [...allPeriods, ...selectedPeriods].find((item) => item.id === id).name,
|
|
79
|
-
}));
|
|
80
|
-
setSelectedPeriods(formattedItems);
|
|
81
|
-
onSelect(formattedItems);
|
|
82
|
-
}, selected: selectedPeriods.map((period) => period.id), leftHeader: renderLeftHeader(), enableOrderChange: true, height: TRANSFER_HEIGHT, optionsWidth: TRANSFER_OPTIONS_WIDTH, selectedWidth: TRANSFER_SELECTED_WIDTH, selectedEmptyComponent: renderEmptySelection(), rightHeader: renderRightHeader(), rightFooter: rightFooter, options: [...allPeriods, ...selectedPeriods].map(({ id, name }) => ({
|
|
83
|
-
label: name,
|
|
84
|
-
value: id,
|
|
85
|
-
})), renderOption: (props) => (React.createElement(TransferOption, { ...props, icon: PeriodIcon, dataTest: `${dataTest}-transfer-option` })), dataTest: `${dataTest}-transfer` }));
|
|
86
|
-
};
|
|
87
|
-
PeriodTransfer.defaultProps = {
|
|
88
|
-
initialSelectedPeriods: [],
|
|
89
|
-
excludedPeriodTypes: [],
|
|
90
|
-
periodsSettings: {
|
|
91
|
-
calendar: 'gregory',
|
|
92
|
-
locale: 'en',
|
|
93
|
-
},
|
|
94
|
-
};
|
|
95
|
-
PeriodTransfer.propTypes = {
|
|
96
|
-
onSelect: PropTypes.func.isRequired,
|
|
97
|
-
dataTest: PropTypes.string,
|
|
98
|
-
excludedPeriodTypes: PropTypes.arrayOf(PropTypes.string),
|
|
99
|
-
initialSelectedPeriods: PropTypes.arrayOf(PropTypes.shape({
|
|
100
|
-
id: PropTypes.string,
|
|
101
|
-
name: PropTypes.string,
|
|
102
|
-
})),
|
|
103
|
-
periodsSettings: PropTypes.shape({
|
|
104
|
-
calendar: PropTypes.string,
|
|
105
|
-
locale: PropTypes.string,
|
|
106
|
-
}),
|
|
107
|
-
rightFooter: PropTypes.node,
|
|
108
|
-
};
|
|
109
|
-
export default PeriodTransfer;
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGVyaW9kVHJhbnNmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvcGVyaW9kLXNlbGVjdG9yL2NvbXBvbmVudHMvUGVyaW9kVHJhbnNmZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUMsQ0FBQywrQkFBK0I7QUFDeEUsT0FBTyxJQUFJLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEMsT0FBTyxFQUNMLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLGNBQWMsR0FDZixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sTUFBTSxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BFLE9BQU8saUJBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsT0FBTyxFQUNMLE9BQU8sRUFDUCxTQUFTLEVBQ1QsNkJBQTZCLEVBQzdCLDBCQUEwQixHQUMzQixNQUFNLFNBQVMsQ0FBQztBQUNqQixPQUFPLFVBQVUsTUFBTSxzREFBc0QsQ0FBQztBQUU5RSxNQUFNLGNBQWMsR0FBRyxDQUFDLEVBQ3RCLFFBQVEsRUFDUixRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsZUFBZSxHQUNYLEVBQUUsRUFBRTtJQUNSLE1BQU0seUJBQXlCLEdBQUcsbUJBQW1CLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNy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RSxTQUFTLENBQUMsT0FBTyxDQUN2QyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQ2QsRUFBRSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3BCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtLQUN2QixDQUFDLENBQ0g7SUFDRCxlQUFlLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUMvQixRQUFRLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDMUIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNO0tBQ3pCLENBQUM7SUFDRixXQUFXLEVBQUUsU0FBUyxDQUFDLElBQUk7Q0FDNUIsQ0FBQztBQUVGLGVBQWUsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0Tm93SW5DYWxlbmRhciB9IGZyb20gJ0BkaGlzMi9tdWx0aS1jYWxlbmRhci1kYXRlcyc7XG5pbXBvcnQgeyBUYWJCYXIsIFRhYiwgVHJhbnNmZXIgfSBmcm9tICdAZGhpczIvdWknO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JzsgLy9UT0RPOiBSZWltcGxlbWVudCB0aGUgaWNvbi5qc1xuaW1wb3J0IGkxOG4gZnJvbSAnQGRoaXMyL2QyLWkxOG4nO1xuaW1wb3J0IHtcbiAgVFJBTlNGRVJfSEVJR0hULFxuICBUUkFOU0ZFUl9PUFRJT05TX1dJRFRILFxuICBUUkFOU0ZFUl9TRUxFQ1RFRF9XSURUSCxcbiAgVHJhbnNmZXJPcHRpb24sXG59IGZyb20gJy4uLy4uLy4uL3NoYXJlZCc7XG5pbXBvcnQgc3R5bGVzIGZyb20gJy4uLy4uLy4uL3NoYXJlZC9zdHlsZXMvRGltZW5zaW9uU2VsZWN0b3Iuc3R5bGUnO1xuaW1wb3J0IEZpeGVkUGVyaW9kRmlsdGVyIGZyb20gJy4vRml4ZWRQZXJpb2RGaWx0ZXInO1xuaW1wb3J0IHsgUmVsYXRpdmVQZXJpb2RGaWx0ZXIgfSBmcm9tICcuL1JlbGF0aXZlUGVyaW9kRmlsdGVyJztcblxuaW1wb3J0IHtcbiAgTU9OVEhMWSxcbiAgUVVBUlRFUkxZLFxuICBnZXRSZWxhdGl2ZVBlcmlvZHNPcHRpb25zQnlJZCxcbiAgZ2V0Rml4ZWRQZXJpb2RzT3B0aW9uc0J5SWQsXG59IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IFBlcmlvZEljb24gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2Fzc2V0cy9EaW1lbnNpb25JdGVtSWNvbnMvUGVyaW9kSWNvbic7XG5cbmNvbnN0IFBlcmlvZFRyYW5zZmVyID0gKHtcbiAgb25TZWxlY3QsXG4gIGRhdGFUZXN0LFxuICBpbml0aWFsU2VsZWN0ZWRQZXJpb2RzLFxuICByaWdodEZvb3RlcixcbiAgZXhjbHVkZWRQZXJpb2RUeXBlcyxcbiAgcGVyaW9kc1NldHRpbmdzLFxufTogYW55KSA9PiB7XG4gIGNvbnN0IGRlZmF1bHRSZWxhdGl2ZVBlcmlvZFR5cGUgPSBleGNsdWRlZFBlcmlvZFR5cGVzLmluY2x1ZGVzKE1PTlRITFkpXG4gICAgPyBnZXRSZWxhdGl2ZVBlcmlvZHNPcHRpb25zQnlJZChRVUFSVEVSTFkpXG4gICAgOiBnZXRSZWxhdGl2ZVBlcmlvZHNPcHRpb25zQnlJZChNT05USExZKTtcbiAgY29uc3QgZGVmYXVsdEZpeGVkUGVyaW9kVHlwZSA9IGV4Y2x1ZGVkUGVyaW9kVHlwZXMuaW5jbHVkZXMoTU9OVEhMWSlcbiAgICA/IGdldEZpeGVkUGVyaW9kc09wdGlvbnNCeUlkKFFVQVJURVJMWSwgcGVyaW9kc1NldHRpbmdzKVxuICAgIDogZ2V0Rml4ZWRQZXJpb2RzT3B0aW9uc0J5SWQoTU9OVEhMWSwgcGVyaW9kc1NldHRpbmdzKTtcblxuICBjb25zdCBub3cgPSBnZXROb3dJbkNhbGVuZGFyKHBlcmlvZHNTZXR0aW5ncy5jYWxlbmRhcik7XG4gIC8vIHVzZSBcIi5lcmFZZWFyXCIgcmF0aGVyIHRoYW4gXCIueWVhclwiIGJlY2F1c2UgaW4gRXRoaW9waWFuIGNhbGVuZGFyLCBlcmFZZWFyIGlzIHdoYXQgb3VyIHVzZXJzIGV4cGVjdCB0byBzZWUgKGZvciBvdGhlciBjYWxlbmRhcnMsIGl0IGRvZXNuJ3QgbWF0dGVyKVxuICAvLyB0aGVyZSBpcyBzdGlsbCBhIHBlbmRpbmcgZGVjaXNpb24gaW4gVGVtcG9yYWwgcmVnYXJkaW5nIHdoaWNoIGVyYSB0byB1c2UgYnkgZGVmYXVsdDogaHR0cHM6Ly9naXRodWIuY29tL2pzLXRlbXBvcmFsL3RlbXBvcmFsLXBvbHlmaWxsL2Jsb2IvOTM1MGVlN2RkMGQyOWYzMjlmYzA5N2RlYmY5MjNhNTE3YzMyZjgxMy9saWIvY2FsZW5kYXIudHMjTDE5NjRcbiAgY29uc3QgZGVmYXVsdEZpeGVkUGVyaW9kWWVhciA9IG5vdy5lcmFZZWFyIHx8IG5vdy55ZWFyO1xuXG4gIGNvbnN0IGZpeGVkUGVyaW9kQ29uZmlnID0gKHllYXI6IGFueSkgPT4gKHtcbiAgICBvZmZzZXQ6IHllYXIgLSBkZWZhdWx0Rml4ZWRQZXJpb2RZZWFyLFxuICAgIGZpbHRlckZ1dHVyZVBlcmlvZHM6IGZhbHNlLFxuICAgIHJldmVyc2VQZXJpb2RzOiBmYWxzZSxcbiAgfSk7XG5cbiAgY29uc3QgW2FsbFBlcmlvZHMsIHNldEFsbFBlcmlvZHNdID0gdXNlU3RhdGUoXG4gICAgZGVmYXVsdFJlbGF0aXZlUGVyaW9kVHlwZT8uZ2V0UGVyaW9kcygpIHx8IFtdXG4gICk7XG4gIGNvbnN0IFtzZWxlY3RlZFBlcmlvZHMsIHNldFNlbGVjdGVkUGVyaW9kc10gPSB1c2VTdGF0ZShcbiAgICBpbml0aWFsU2VsZWN0ZWRQZXJpb2RzXG4gICk7XG4gIGNvbnN0IFtpc1JlbGF0aXZlLCBzZXRJc1JlbGF0aXZlXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbcmVsYXRpdmVGaWx0ZXIsIHNldFJlbGF0aXZlRmlsdGVyXSA9IHVzZVN0YXRlKHtcbiAgICBwZXJpb2RUeXBlOiBkZWZhdWx0UmVsYXRpdmVQZXJpb2RUeXBlPy5pZCB8fCAnJyxcbiAgfSk7XG4gIGNvbnN0IFtmaXhlZEZpbHRlciwgc2V0Rml4ZWRGaWx0ZXJdID0gdXNlU3RhdGUoe1xuICAgIHBlcmlvZFR5cGU6IGRlZmF1bHRGaXhlZFBlcmlvZFR5cGU/LmlkIHx8ICcnLFxuICAgIHllYXI6IGRlZmF1bHRGaXhlZFBlcmlvZFllYXIudG9TdHJpbmcoKSxcbiAgfSk7XG5cbiAgY29uc3Qgb25Jc1JlbGF0aXZlQ2xpY2sgPSAoc3RhdGU6IGFueSkgPT4ge1xuICAgIGlmIChzdGF0ZSAhPT0gaXNSZWxhdGl2ZSkge1xuICAgICAgc2V0SXNSZWxhdGl2ZShzdGF0ZSk7XG4gICAgICBzZXRBbGxQZXJpb2RzKFxuICAgICAgICBzdGF0ZVxuICAgICAgICAgID8gZ2V0UmVsYXRpdmVQZXJpb2RzT3B0aW9uc0J5SWQoXG4gICAgICAgICAgICAgIHJlbGF0aXZlRmlsdGVyLnBlcmlvZFR5cGVcbiAgICAgICAgICAgICk/LmdldFBlcmlvZHMoKSB8fCBbXVxuICAgICAgICAgIDogZ2V0Rml4ZWRQZXJpb2RzT3B0aW9uc0J5SWQoXG4gICAgICAgICAgICAgIGZpeGVkRmlsdGVyLnBlcmlvZFR5cGUsXG4gICAgICAgICAgICAgIHBlcmlvZHNTZXR0aW5nc1xuICAgICAgICAgICAgKT8uZ2V0UGVyaW9kcyhmaXhlZFBlcmlvZENvbmZpZyhOdW1iZXIoZml4ZWRGaWx0ZXIueWVhcikpKSB8fCBbXVxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyTGVmdEhlYWRlciA9ICgpID0+IChcbiAgICA8PlxuICAgICAgPFRhYkJhcj5cbiAgICAgICAgPFRhYlxuICAgICAgICAgIHNlbGVjdGVkPXtpc1JlbGF0aXZlfVxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG9uSXNSZWxhdGl2ZUNsaWNrKHRydWUpfVxuICAgICAgICAgIGRhdGFUZXN0PXtgJHtkYXRhVGVzdH0tcmVsYXRpdmUtcGVyaW9kcy1idXR0b25gfVxuICAgICAgICA+XG4gICAgICAgICAge2kxOG4udCgnUmVsYXRpdmUgcGVyaW9kcycpfVxuICAgICAgICA8L1RhYj5cbiAgICAgICAgPFRhYlxuICAgICAgICAgIHNlbGVjdGVkPXshaXNSZWxhdGl2ZX1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbklzUmVsYXRpdmVDbGljayhmYWxzZSl9XG4gICAgICAgICAgZGF0YVRlc3Q9e2Ake2RhdGFUZXN0fS1maXhlZC1wZXJpb2RzLWJ1dHRvbmB9XG4gICAgICAgID5cbiAgICAgICAgICB7aTE4bi50KCdGaXhlZCBwZXJpb2RzJyl9XG4gICAgICAgIDwvVGFiPlxuICAgICAgPC9UYWJCYXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlckNvbnRhaW5lclwiPlxuICAgICAgICB7aXNSZWxhdGl2ZSA/IChcbiAgICAgICAgICA8UmVsYXRpdmVQZXJpb2RGaWx0ZXJcbiAgICAgICAgICAgIGN1cnJlbnRGaWx0ZXI9e3JlbGF0aXZlRmlsdGVyLnBlcmlvZFR5cGV9XG4gICAgICAgICAgICBvblNlbGVjdEZpbHRlcj17KGZpbHRlcjogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHNldFJlbGF0aXZlRmlsdGVyKHsgcGVyaW9kVHlwZTogZmlsdGVyIH0pO1xuICAgICAgICAgICAgICBzZXRBbGxQZXJpb2RzKFxuICAgICAgICAgICAgICAgIGdldFJlbGF0aXZlUGVyaW9kc09wdGlvbnNCeUlkKGZpbHRlcik/LmdldFBlcmlvZHMoKSB8fCBbXVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGRhdGFUZXN0PXtgJHtkYXRhVGVzdH0tcmVsYXRpdmUtcGVyaW9kLWZpbHRlcmB9XG4gICAgICAgICAgICBleGNsdWRlZFBlcmlvZFR5cGVzPXtleGNsdWRlZFBlcmlvZFR5cGVzfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEZpeGVkUGVyaW9kRmlsdGVyXG4gICAgICAgICAgICBjdXJyZW50UGVyaW9kVHlwZT17Zml4ZWRGaWx0ZXIucGVyaW9kVHlwZX1cbiAgICAgICAgICAgIGN1cnJlbnRZZWFyPXtmaXhlZEZpbHRlci55ZWFyfVxuICAgICAgICAgICAgb25TZWxlY3RQZXJpb2RUeXBlPXsocGVyaW9kVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgIG9uU2VsZWN0Rml4ZWRQZXJpb2RzKHtcbiAgICAgICAgICAgICAgICBwZXJpb2RUeXBlLFxuICAgICAgICAgICAgICAgIHllYXI6IGZpeGVkRmlsdGVyLnllYXIsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uU2VsZWN0WWVhcj17KHllYXI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICBvblNlbGVjdEZpeGVkUGVyaW9kcyh7XG4gICAgICAgICAgICAgICAgcGVyaW9kVHlwZTogZml4ZWRGaWx0ZXIucGVyaW9kVHlwZSxcbiAgICAgICAgICAgICAgICB5ZWFyLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkYXRhVGVzdD17YCR7ZGF0YVRlc3R9LWZpeGVkLXBlcmlvZC1maWx0ZXJgfVxuICAgICAgICAgICAgZXhjbHVkZWRQZXJpb2RUeXBlcz17ZXhjbHVkZWRQZXJpb2RUeXBlc31cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8c3R5bGUganN4PntzdHlsZXN9PC9zdHlsZT5cbiAgICA8Lz5cbiAgKTtcblxuICBjb25zdCByZW5kZXJSaWdodEhlYWRlciA9ICgpID0+IChcbiAgICA8PlxuICAgICAgPHAgY2xhc3NOYW1lPVwicmlnaHRIZWFkZXJcIj57aTE4bi50KCdTZWxlY3RlZCBQZXJpb2RzJyl9PC9wPlxuICAgICAgPHN0eWxlIGpzeD57c3R5bGVzfTwvc3R5bGU+XG4gICAgPC8+XG4gICk7XG5cbiAgY29uc3Qgb25TZWxlY3RGaXhlZFBlcmlvZHMgPSAoZmlsdGVyOiBhbnkpID0+IHtcbiAgICBzZXRGaXhlZEZpbHRlcihmaWx0ZXIpO1xuICAgIHNldEFsbFBlcmlvZHMoXG4gICAgICAoZ2V0Rml4ZWRQZXJpb2RzT3B0aW9uc0J5SWQoXG4gICAgICAgIGZpbHRlci5wZXJpb2RUeXBlLFxuICAgICAgICBwZXJpb2RzU2V0dGluZ3NcbiAgICAgICk/LmdldFBlcmlvZHMoZml4ZWRQZXJpb2RDb25maWcoTnVtYmVyKGZpbHRlci55ZWFyKSkpIHx8IFtdKSBhcyBhbnlcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckVtcHR5U2VsZWN0aW9uID0gKCkgPT4gKFxuICAgIDw+XG4gICAgICA8cCBjbGFzc05hbWU9XCJlbXB0eUxpc3RcIj57aTE4bi50KCdObyBwZXJpb2RzIHNlbGVjdGVkJyl9PC9wPlxuICAgICAgPHN0eWxlIGpzeD57c3R5bGVzfTwvc3R5bGU+XG4gICAgPC8+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8VHJhbnNmZXJcbiAgICAgIG9uQ2hhbmdlPXsoeyBzZWxlY3RlZCB9OiBhbnkpID0+IHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkSXRlbXMgPSBzZWxlY3RlZC5tYXAoKGlkOiBzdHJpbmcpID0+ICh7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgbmFtZTogWy4uLmFsbFBlcmlvZHMsIC4uLnNlbGVjdGVkUGVyaW9kc10uZmluZChcbiAgICAgICAgICAgIChpdGVtKSA9PiBpdGVtLmlkID09PSBpZFxuICAgICAgICAgICkubmFtZSxcbiAgICAgICAgfSkpO1xuICAgICAgICBzZXRTZWxlY3RlZFBlcmlvZHMoZm9ybWF0dGVkSXRlbXMpO1xuICAgICAgICBvblNlbGVjdChmb3JtYXR0ZWRJdGVtcyk7XG4gICAgICB9fVxuICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkUGVyaW9kcy5tYXAoKHBlcmlvZDogYW55KSA9PiBwZXJpb2QuaWQpfVxuICAgICAgbGVmdEhlYWRlcj17cmVuZGVyTGVmdEhlYWRlcigpfVxuICAgICAgZW5hYmxlT3JkZXJDaGFuZ2VcbiAgICAgIGhlaWdodD17VFJBTlNGRVJfSEVJR0hUfVxuICAgICAgb3B0aW9uc1dpZHRoPXtUUkFOU0ZFUl9PUFRJT05TX1dJRFRIfVxuICAgICAgc2VsZWN0ZWRXaWR0aD17VFJBTlNGRVJfU0VMRUNURURfV0lEVEh9XG4gICAgICBzZWxlY3RlZEVtcHR5Q29tcG9uZW50PXtyZW5kZXJFbXB0eVNlbGVjdGlvbigpfVxuICAgICAgcmlnaHRIZWFkZXI9e3JlbmRlclJpZ2h0SGVhZGVyKCl9XG4gICAgICByaWdodEZvb3Rlcj17cmlnaHRGb290ZXJ9XG4gICAgICBvcHRpb25zPXtbLi4uYWxsUGVyaW9kcywgLi4uc2VsZWN0ZWRQZXJpb2RzXS5tYXAoKHsgaWQsIG5hbWUgfSkgPT4gKHtcbiAgICAgICAgbGFiZWw6IG5hbWUsXG4gICAgICAgIHZhbHVlOiBpZCxcbiAgICAgIH0pKX1cbiAgICAgIHJlbmRlck9wdGlvbj17KHByb3BzOiBhbnkpID0+IChcbiAgICAgICAgPFRyYW5zZmVyT3B0aW9uXG4gICAgICAgICAgey4uLnByb3BzfVxuICAgICAgICAgIGljb249e1BlcmlvZEljb259XG4gICAgICAgICAgZGF0YVRlc3Q9e2Ake2RhdGFUZXN0fS10cmFuc2Zlci1vcHRpb25gfVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIGRhdGFUZXN0PXtgJHtkYXRhVGVzdH0tdHJhbnNmZXJgfVxuICAgID48L1RyYW5zZmVyPlxuICApO1xufTtcblxuUGVyaW9kVHJhbnNmZXIuZGVmYXVsdFByb3BzID0ge1xuICBpbml0aWFsU2VsZWN0ZWRQZXJpb2RzOiBbXSxcbiAgZXhjbHVkZWRQZXJpb2RUeXBlczogW10sXG4gIHBlcmlvZHNTZXR0aW5nczoge1xuICAgIGNhbGVuZGFyOiAnZ3JlZ29yeScsXG4gICAgbG9jYWxlOiAnZW4nLFxuICB9LFxufTtcblxuUGVyaW9kVHJhbnNmZXIucHJvcFR5cGVzID0ge1xuICBvblNlbGVjdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgZGF0YVRlc3Q6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGV4Y2x1ZGVkUGVyaW9kVHlwZXM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICBpbml0aWFsU2VsZWN0ZWRQZXJpb2RzOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIH0pXG4gICksXG4gIHBlcmlvZHNTZXR0aW5nczogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBjYWxlbmRhcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBsb2NhbGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIH0pLFxuICByaWdodEZvb3RlcjogUHJvcFR5cGVzLm5vZGUsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBQZXJpb2RUcmFuc2ZlcjtcbiJdfQ==
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { SingleSelectField, SingleSelectOption } from '@dhis2/ui';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import i18n from '@dhis2/d2-i18n';
|
|
5
|
-
import { filterPeriodTypesById, getRelativePeriodsOptions } from './utils';
|
|
6
|
-
import { spacers } from '@dhis2/ui';
|
|
7
|
-
export const RelativePeriodFilter = ({ currentFilter, onSelectFilter, dataTest, excludedPeriodTypes, }) => (React.createElement("div", { className: "leftSection" },
|
|
8
|
-
React.createElement(SingleSelectField, { label: i18n.t('Period type'), onChange: ({ selected }) => onSelectFilter(selected), dense: true, selected: currentFilter, className: "filterElement", dataTest: dataTest }, filterPeriodTypesById(getRelativePeriodsOptions(), excludedPeriodTypes).map((option) => (React.createElement(SingleSelectOption, { key: option.id, value: option.id, label: option.name, dataTest: `${dataTest}-option-${option.id}` })))),
|
|
9
|
-
React.createElement("style", { jsx: true }, `
|
|
10
|
-
.leftSection {
|
|
11
|
-
flex-grow: 1;
|
|
12
|
-
}
|
|
13
|
-
.leftSection > :global(.filterElement),
|
|
14
|
-
.rightSection > :global(.filterElement) {
|
|
15
|
-
margin: 0;
|
|
16
|
-
}
|
|
17
|
-
.rightSection {
|
|
18
|
-
width: 120px;
|
|
19
|
-
margin-left: ${spacers.dp8};
|
|
20
|
-
}
|
|
21
|
-
`)));
|
|
22
|
-
RelativePeriodFilter.propTypes = {
|
|
23
|
-
currentFilter: PropTypes.string.isRequired,
|
|
24
|
-
onSelectFilter: PropTypes.func.isRequired,
|
|
25
|
-
dataTest: PropTypes.string,
|
|
26
|
-
excludedPeriodTypes: PropTypes.arrayOf(PropTypes.string),
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVsYXRpdmVQZXJpb2RGaWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvcGVyaW9kLXNlbGVjdG9yL2NvbXBvbmVudHMvUmVsYXRpdmVQZXJpb2RGaWx0ZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNsRSxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sSUFBSSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXBDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsRUFDbkMsYUFBYSxFQUNiLGNBQWMsRUFDZCxRQUFRLEVBQ1IsbUJBQW1CLEdBQ2YsRUFBRSxFQUFFLENBQUMsQ0FDVCw2QkFBSyxTQUFTLEVBQUMsYUFBYTtJQUMxQixvQkFBQyxpQkFBaUIsSUFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQzVCLFFBQVEsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFPLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFDekQsS0FBSyxRQUNMLFFBQVEsRUFBRSxhQUFhLEVBQ3ZCLFNBQVMsRUFBQyxlQUFlLEVBQ3pCLFFBQVEsRUFBRSxRQUFRLElBRWpCLHFCQUFxQixDQUNwQix5QkFBeUIsRUFBUyxFQUNsQyxtQkFBbUIsQ0FDcEIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRSxDQUFDLENBQ3JCLG9CQUFDLGtCQUFrQixJQUNqQixHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFDZCxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFDaEIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQ2xCLFFBQVEsRUFBRSxHQUFHLFFBQVEsV0FBVyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQzNDLENBQ0gsQ0FBQyxDQUNnQjtJQUNwQiwrQkFBTyxHQUFHLFVBQUU7Ozs7Ozs7Ozs7dUJBVU8sT0FBTyxDQUFDLEdBQUc7O0tBRTdCLENBQVMsQ0FDTixDQUNQLENBQUM7QUFFRixvQkFBb0IsQ0FBQyxTQUFTLEdBQUc7SUFDL0IsYUFBYSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtJQUMxQyxjQUFjLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO0lBQ3pDLFFBQVEsRUFBRSxTQUFTLENBQUMsTUFBTTtJQUMxQixtQkFBbUIsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7Q0FDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpbmdsZVNlbGVjdEZpZWxkLCBTaW5nbGVTZWxlY3RPcHRpb24gfSBmcm9tICdAZGhpczIvdWknO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdAZGhpczIvZDItaTE4bic7XG5pbXBvcnQgeyBmaWx0ZXJQZXJpb2RUeXBlc0J5SWQsIGdldFJlbGF0aXZlUGVyaW9kc09wdGlvbnMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IHNwYWNlcnMgfSBmcm9tICdAZGhpczIvdWknO1xuXG5leHBvcnQgY29uc3QgUmVsYXRpdmVQZXJpb2RGaWx0ZXIgPSAoe1xuICBjdXJyZW50RmlsdGVyLFxuICBvblNlbGVjdEZpbHRlcixcbiAgZGF0YVRlc3QsXG4gIGV4Y2x1ZGVkUGVyaW9kVHlwZXMsXG59OiBhbnkpID0+IChcbiAgPGRpdiBjbGFzc05hbWU9XCJsZWZ0U2VjdGlvblwiPlxuICAgIDxTaW5nbGVTZWxlY3RGaWVsZFxuICAgICAgbGFiZWw9e2kxOG4udCgnUGVyaW9kIHR5cGUnKX1cbiAgICAgIG9uQ2hhbmdlPXsoeyBzZWxlY3RlZCB9OiBhbnkpID0+IG9uU2VsZWN0RmlsdGVyKHNlbGVjdGVkKX1cbiAgICAgIGRlbnNlXG4gICAgICBzZWxlY3RlZD17Y3VycmVudEZpbHRlcn1cbiAgICAgIGNsYXNzTmFtZT1cImZpbHRlckVsZW1lbnRcIlxuICAgICAgZGF0YVRlc3Q9e2RhdGFUZXN0fVxuICAgID5cbiAgICAgIHtmaWx0ZXJQZXJpb2RUeXBlc0J5SWQoXG4gICAgICAgIGdldFJlbGF0aXZlUGVyaW9kc09wdGlvbnMoKSBhcyBhbnksXG4gICAgICAgIGV4Y2x1ZGVkUGVyaW9kVHlwZXNcbiAgICAgICkubWFwKChvcHRpb246IGFueSkgPT4gKFxuICAgICAgICA8U2luZ2xlU2VsZWN0T3B0aW9uXG4gICAgICAgICAga2V5PXtvcHRpb24uaWR9XG4gICAgICAgICAgdmFsdWU9e29wdGlvbi5pZH1cbiAgICAgICAgICBsYWJlbD17b3B0aW9uLm5hbWV9XG4gICAgICAgICAgZGF0YVRlc3Q9e2Ake2RhdGFUZXN0fS1vcHRpb24tJHtvcHRpb24uaWR9YH1cbiAgICAgICAgLz5cbiAgICAgICkpfVxuICAgIDwvU2luZ2xlU2VsZWN0RmllbGQ+XG4gICAgPHN0eWxlIGpzeD57YFxuICAgICAgLmxlZnRTZWN0aW9uIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgfVxuICAgICAgLmxlZnRTZWN0aW9uID4gOmdsb2JhbCguZmlsdGVyRWxlbWVudCksXG4gICAgICAucmlnaHRTZWN0aW9uID4gOmdsb2JhbCguZmlsdGVyRWxlbWVudCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgICAucmlnaHRTZWN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogJHtzcGFjZXJzLmRwOH07XG4gICAgICB9XG4gICAgYH08L3N0eWxlPlxuICA8L2Rpdj5cbik7XG5cblJlbGF0aXZlUGVyaW9kRmlsdGVyLnByb3BUeXBlcyA9IHtcbiAgY3VycmVudEZpbHRlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICBvblNlbGVjdEZpbHRlcjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgZGF0YVRlc3Q6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGV4Y2x1ZGVkUGVyaW9kVHlwZXM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxufTtcbiJdfQ==
|