@iapps/ng-dhis2-ui 1.0.1 → 1.0.3
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/esm2022/index.mjs +4 -1
- package/esm2022/lib/modules/button/button.component.mjs +2 -2
- package/esm2022/lib/modules/header-bar/header-bar.component.mjs +7 -8
- package/esm2022/lib/modules/organisation-unit-selector/components/OrgUnitDimension.mjs +212 -0
- package/esm2022/lib/modules/organisation-unit-selector/components/index.mjs +6 -0
- package/esm2022/lib/modules/organisation-unit-selector/components/styles/OrgUnitDimension.style.mjs +83 -0
- package/esm2022/lib/modules/organisation-unit-selector/components/utils/index.mjs +6 -0
- package/esm2022/lib/modules/organisation-unit-selector/components/utils/ouIdHelper/index.mjs +18 -0
- package/esm2022/lib/modules/organisation-unit-selector/components/utils/ouLevelUtils/index.mjs +27 -0
- package/esm2022/lib/modules/organisation-unit-selector/index.mjs +6 -0
- package/esm2022/lib/modules/organisation-unit-selector/models/index.mjs +5 -0
- package/esm2022/lib/modules/organisation-unit-selector/models/organisation-unit-config.model.mjs +16 -0
- package/esm2022/lib/modules/organisation-unit-selector/organisation-unit-selector.component.mjs +78 -0
- package/esm2022/lib/modules/organisation-unit-selector/organisation-unit-selector.module.mjs +19 -0
- package/esm2022/lib/modules/period-selector/components/FixedPeriodFilter.mjs +44 -0
- package/esm2022/lib/modules/period-selector/components/PeriodDimension.mjs +41 -0
- package/esm2022/lib/modules/period-selector/components/PeriodTransfer.mjs +110 -0
- package/esm2022/lib/modules/period-selector/components/RelativePeriodFilter.mjs +28 -0
- package/esm2022/lib/modules/period-selector/components/utils/fixedPeriods.mjs +308 -0
- package/esm2022/lib/modules/period-selector/components/utils/index.mjs +5 -0
- package/esm2022/lib/modules/period-selector/components/utils/periodTypes.mjs +23 -0
- package/esm2022/lib/modules/period-selector/components/utils/relativePeriods.mjs +139 -0
- package/esm2022/lib/modules/period-selector/index.mjs +6 -0
- package/esm2022/lib/modules/period-selector/period-selector.component.mjs +66 -0
- package/esm2022/lib/modules/period-selector/period-selector.module.mjs +19 -0
- package/esm2022/lib/modules/react-wrapper/index.mjs +6 -0
- package/esm2022/lib/modules/react-wrapper/react-wrapper.component.mjs +53 -0
- package/esm2022/lib/modules/react-wrapper/react-wrapper.module.mjs +18 -0
- package/esm2022/lib/shared/assets/AssignedCategoriesIcon.mjs +12 -0
- package/esm2022/lib/shared/assets/DimensionItemIcons/PeriodIcon.mjs +4 -0
- package/esm2022/lib/shared/components/TransferOption.mjs +130 -0
- package/esm2022/lib/shared/components/index.mjs +2 -3
- package/esm2022/lib/shared/index.mjs +7 -0
- package/esm2022/lib/shared/styles/DimensionSelector.style.mjs +39 -0
- package/esm2022/lib/shared/styles/index.mjs +5 -0
- package/esm2022/lib/shared/utils/axis.mjs +25 -0
- package/esm2022/lib/shared/utils/axisGetDimension.mjs +5 -0
- package/esm2022/lib/shared/utils/axisHasDimension.mjs +3 -0
- package/esm2022/lib/shared/utils/dimension.mjs +52 -0
- package/esm2022/lib/shared/utils/dimensionGetItems.mjs +6 -0
- package/esm2022/lib/shared/utils/dimensionIs.mjs +3 -0
- package/esm2022/lib/shared/utils/dimensionIsEmpty.mjs +5 -0
- package/esm2022/lib/shared/utils/dimensionIsValid.mjs +16 -0
- package/esm2022/lib/shared/utils/dimensionSelectorHelper.mjs +4 -0
- package/esm2022/lib/shared/utils/index.mjs +15 -0
- package/esm2022/lib/shared/utils/layoutGetAllAxes.mjs +7 -0
- package/esm2022/lib/shared/utils/layoutGetAllDimensions.mjs +6 -0
- package/esm2022/lib/shared/utils/layoutGetDimension.mjs +4 -0
- package/esm2022/lib/shared/utils/layoutReplaceDimension.mjs +17 -0
- package/esm2022/lib/shared/utils/list.mjs +15 -0
- package/esm2022/lib/shared/utils/predefinedDimensions.mjs +45 -0
- package/fesm2022/iapps-ng-dhis2-ui.mjs +1652 -77
- package/fesm2022/iapps-ng-dhis2-ui.mjs.map +1 -1
- package/index.d.ts +3 -0
- package/lib/modules/button/button.component.d.ts +1 -1
- package/lib/modules/header-bar/header-bar.component.d.ts +1 -4
- package/lib/modules/organisation-unit-selector/components/OrgUnitDimension.d.ts +26 -0
- package/lib/modules/organisation-unit-selector/components/index.d.ts +2 -0
- package/lib/modules/organisation-unit-selector/components/styles/OrgUnitDimension.style.d.ts +1 -0
- package/lib/modules/organisation-unit-selector/components/utils/index.d.ts +2 -0
- package/lib/modules/organisation-unit-selector/components/utils/ouIdHelper/index.d.ts +10 -0
- package/lib/modules/organisation-unit-selector/components/utils/ouLevelUtils/index.d.ts +1 -0
- package/lib/modules/organisation-unit-selector/index.d.ts +2 -0
- package/lib/modules/organisation-unit-selector/models/index.d.ts +1 -0
- package/lib/modules/organisation-unit-selector/models/organisation-unit-config.model.d.ts +12 -0
- package/lib/modules/organisation-unit-selector/organisation-unit-selector.component.d.ts +26 -0
- package/lib/modules/organisation-unit-selector/organisation-unit-selector.module.d.ts +9 -0
- package/lib/modules/period-selector/components/FixedPeriodFilter.d.ts +18 -0
- package/lib/modules/period-selector/components/PeriodDimension.d.ts +15 -0
- package/lib/modules/period-selector/components/PeriodTransfer.d.ts +28 -0
- package/lib/modules/period-selector/components/RelativePeriodFilter.d.ts +11 -0
- package/lib/modules/period-selector/components/utils/fixedPeriods.d.ts +17 -0
- package/lib/modules/period-selector/components/utils/index.d.ts +4 -0
- package/lib/modules/period-selector/components/utils/periodTypes.d.ts +19 -0
- package/lib/modules/period-selector/components/utils/relativePeriods.d.ts +17 -0
- package/lib/modules/period-selector/index.d.ts +2 -0
- package/lib/modules/period-selector/period-selector.component.d.ts +21 -0
- package/lib/modules/period-selector/period-selector.module.d.ts +9 -0
- package/lib/modules/react-wrapper/index.d.ts +2 -0
- package/lib/modules/react-wrapper/react-wrapper.module.d.ts +8 -0
- package/lib/shared/assets/AssignedCategoriesIcon.d.ts +2 -0
- package/lib/shared/assets/DimensionItemIcons/PeriodIcon.d.ts +3 -0
- package/lib/shared/components/TransferOption.d.ts +19 -0
- package/lib/shared/components/index.d.ts +1 -2
- package/lib/shared/index.d.ts +3 -0
- package/lib/shared/styles/DimensionSelector.style.d.ts +2 -0
- package/lib/shared/styles/index.d.ts +1 -0
- package/lib/shared/utils/axis.d.ts +11 -0
- package/lib/shared/utils/axisGetDimension.d.ts +1 -0
- package/lib/shared/utils/axisHasDimension.d.ts +1 -0
- package/lib/shared/utils/dimension.d.ts +45 -0
- package/lib/shared/utils/dimensionGetItems.d.ts +1 -0
- package/lib/shared/utils/dimensionIs.d.ts +1 -0
- package/lib/shared/utils/dimensionIsEmpty.d.ts +1 -0
- package/lib/shared/utils/dimensionIsValid.d.ts +1 -0
- package/lib/shared/utils/dimensionSelectorHelper.d.ts +3 -0
- package/lib/shared/utils/index.d.ts +11 -0
- package/lib/shared/utils/layoutGetAllAxes.d.ts +1 -0
- package/lib/shared/utils/layoutGetAllDimensions.d.ts +1 -0
- package/lib/shared/utils/layoutGetDimension.d.ts +1 -0
- package/lib/shared/utils/layoutReplaceDimension.d.ts +1 -0
- package/lib/shared/utils/list.d.ts +1 -0
- package/lib/shared/utils/predefinedDimensions.d.ts +65 -0
- package/package.json +1 -1
- package/esm2022/lib/shared/components/react-component-wrapper/react-wrapper.component.mjs +0 -53
- /package/lib/{shared/components/react-component-wrapper → modules/react-wrapper}/react-wrapper.component.d.ts +0 -0
package/esm2022/index.mjs
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export * from './lib/ng-dhis2-ui.module';
|
|
2
2
|
export * from './lib/modules/header-bar';
|
|
3
3
|
export * from './lib/modules/button';
|
|
4
|
-
|
|
4
|
+
export * from './lib/modules/period-selector';
|
|
5
|
+
export * from './lib/modules/organisation-unit-selector';
|
|
6
|
+
export * from './lib/modules/react-wrapper';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9uZy1kaGlzMi11aS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9uZy1kaGlzMi11aS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9oZWFkZXItYmFyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvYnV0dG9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvcGVyaW9kLXNlbGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9yZWFjdC13cmFwcGVyJztcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import { Button } from '@dhis2/ui';
|
|
3
|
-
import { ReactWrapperComponent } from '
|
|
3
|
+
import { ReactWrapperComponent } from '../react-wrapper';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class ButtonComponent extends ReactWrapperComponent {
|
|
6
6
|
constructor() {
|
|
@@ -52,4 +52,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
52
52
|
}], buttonClick: [{
|
|
53
53
|
type: Output
|
|
54
54
|
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL25nLWRoaXMyLXVpL3NyYy9saWIvbW9kdWxlcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU16RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxxQkFBcUI7SUFKMUQ7O1FBYVksZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVyRCxVQUFLLEdBQTRCO1lBQ3hDLE9BQU8sRUFBRSxDQUFDLENBQU0sRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLENBQUM7U0FDRixDQUFDO1FBRU8sY0FBUyxHQUFHLE1BQU0sQ0FBQztLQWdCN0I7SUFkQyxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRztZQUNYLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQzsrR0FoQ1UsZUFBZTttR0FBZixlQUFlLG9SQUZoQiwyQkFBMkI7OzRGQUUxQixlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFFBQVEsRUFBRSwyQkFBMkI7aUJBQ3RDOzhCQUVVLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnQGRoaXMyL3VpJztcbmltcG9ydCB7IFJlYWN0V3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL3JlYWN0LXdyYXBwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1kaGlzMi11aS1idXR0b24nLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBSZWFjdFdyYXBwZXJDb21wb25lbnQge1xuICBASW5wdXQoKSBsYWJlbCE6IHN0cmluZztcbiAgQElucHV0KCkgcHJpbWFyeT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIHNlY29uZGFyeT86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlc3RydWN0aXZlPzogYm9vbGVhbjtcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBzbWFsbD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxhcmdlPzogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgYnV0dG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIG92ZXJyaWRlIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICBvbkNsaWNrOiAoZTogYW55KSA9PiB7XG4gICAgICB0aGlzLm9uQnV0dG9uQ2xpY2soZSk7XG4gICAgfSxcbiAgfTtcblxuICBvdmVycmlkZSBjb21wb25lbnQgPSBCdXR0b247XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wcm9wcyA9IHtcbiAgICAgIC4uLnRoaXMucHJvcHMsXG4gICAgICBwcmltYXJ5OiB0aGlzLnByaW1hcnksXG4gICAgICBzZWNvbmRhcnk6IHRoaXMuc2Vjb25kYXJ5LFxuICAgICAgZGVzdHJ1Y3RpdmU6IHRoaXMuZGVzdHJ1Y3RpdmUsXG4gICAgICBzbWFsbDogdGhpcy5zbWFsbCxcbiAgICAgIGxhcmdlOiB0aGlzLmxhcmdlLFxuICAgIH07XG4gIH1cblxuICBvbkJ1dHRvbkNsaWNrKGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLmJ1dHRvbkNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { Component, ElementRef } from '@angular/core';
|
|
2
|
-
import { NgxDhis2HttpClientService } from '@iapps/ngx-dhis2-http-client';
|
|
3
|
-
import { firstValueFrom } from 'rxjs';
|
|
4
|
-
import { HeaderBarData } from './models';
|
|
5
|
-
import { ReactWrapperComponent } from '../../shared/components';
|
|
6
2
|
import { DataProvider } from '@dhis2/app-runtime';
|
|
3
|
+
import { NgxDhis2HttpClientService } from '@iapps/ngx-dhis2-http-client';
|
|
7
4
|
import React from 'react';
|
|
8
5
|
import * as ReactDOM from 'react-dom/client';
|
|
6
|
+
import { firstValueFrom } from 'rxjs';
|
|
7
|
+
import { HeaderBarData } from './models';
|
|
9
8
|
import { HeaderBar } from './utils/header-bar';
|
|
9
|
+
import { ReactWrapperComponent } from '../react-wrapper';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
11
|
import * as i1 from "@iapps/ngx-dhis2-http-client";
|
|
12
|
-
import * as i2 from "@angular/common";
|
|
13
12
|
export class HeaderBarComponent extends ReactWrapperComponent {
|
|
14
13
|
constructor(elementRef, httpClient) {
|
|
15
14
|
super(elementRef);
|
|
@@ -27,13 +26,13 @@ export class HeaderBarComponent extends ReactWrapperComponent {
|
|
|
27
26
|
this.render();
|
|
28
27
|
}
|
|
29
28
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderBarComponent, deps: [{ token: i0.ElementRef }, { token: i1.NgxDhis2HttpClientService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderBarComponent, selector: "ng-dhis2-ui-header-bar", usesInheritance: true, ngImport: i0, template: `<ng-container
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: HeaderBarComponent, selector: "ng-dhis2-ui-header-bar", usesInheritance: true, ngImport: i0, template: `<ng-container></ng-container>`, isInline: true }); }
|
|
31
30
|
}
|
|
32
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: HeaderBarComponent, decorators: [{
|
|
33
32
|
type: Component,
|
|
34
33
|
args: [{
|
|
35
34
|
selector: 'ng-dhis2-ui-header-bar',
|
|
36
|
-
template: `<ng-container
|
|
35
|
+
template: `<ng-container></ng-container>`,
|
|
37
36
|
}]
|
|
38
37
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgxDhis2HttpClientService }]; } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvaGVhZGVyLWJhci9oZWFkZXItYmFyLmNvbXBvbmVudC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEtBQUssUUFBUSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQU16RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEscUJBQXFCO0lBQzNELFlBQ0UsVUFBbUMsRUFDM0IsVUFBcUM7UUFFN0MsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRlYsZUFBVSxHQUFWLFVBQVUsQ0FBMkI7SUFHL0MsQ0FBQztJQUVRLEtBQUssQ0FBQyxlQUFlO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RSxNQUFNLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDbEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJO1lBQ25CLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUNKLG9CQUFDLFlBQVksUUFDVixvQkFBQyxTQUFTLElBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksR0FBSSxDQUN0QyxDQUNoQjtZQUNILENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx3REFBK0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQzsrR0F0QlUsa0JBQWtCO21HQUFsQixrQkFBa0IscUZBRm5CLCtCQUErQjs7NEZBRTlCLGtCQUFrQjtrQkFKOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxRQUFRLEVBQUUsK0JBQStCO2lCQUMxQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0YVByb3ZpZGVyIH0gZnJvbSAnQGRoaXMyL2FwcC1ydW50aW1lJztcbmltcG9ydCB7IE5neERoaXMySHR0cENsaWVudFNlcnZpY2UgfSBmcm9tICdAaWFwcHMvbmd4LWRoaXMyLWh0dHAtY2xpZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgKiBhcyBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20vY2xpZW50JztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIZWFkZXJCYXJEYXRhIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgSGVhZGVyQmFyIH0gZnJvbSAnLi91dGlscy9oZWFkZXItYmFyJztcbmltcG9ydCB7IFJlYWN0V3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL3JlYWN0LXdyYXBwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1kaGlzMi11aS1oZWFkZXItYmFyJyxcbiAgdGVtcGxhdGU6IGA8bmctY29udGFpbmVyPjwvbmctY29udGFpbmVyPmAsXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRlckJhckNvbXBvbmVudCBleHRlbmRzIFJlYWN0V3JhcHBlckNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogTmd4RGhpczJIdHRwQ2xpZW50U2VydmljZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudFJlZikgdGhyb3cgbmV3IEVycm9yKCdObyBlbGVtZW50IHJlZicpO1xuICAgIHRoaXMucmVhY3REb21Sb290ID0gUmVhY3RET00uY3JlYXRlUm9vdCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgY29uc3QgbWFuaWZlc3QgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmh0dHBDbGllbnQubWFuaWZlc3QoKSk7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKG5ldyBIZWFkZXJCYXJEYXRhKHRoaXMuaHR0cENsaWVudCkuZ2V0KCkpO1xuXG4gICAgdGhpcy5jb21wb25lbnQgPSBkYXRhXG4gICAgICA/ICgpID0+IChcbiAgICAgICAgICA8RGF0YVByb3ZpZGVyPlxuICAgICAgICAgICAgezxIZWFkZXJCYXIgYXBwTmFtZT17bWFuaWZlc3Q/Lm5hbWV9IGRhdGE9e2RhdGF9IC8+fVxuICAgICAgICAgIDwvRGF0YVByb3ZpZGVyPlxuICAgICAgICApXG4gICAgICA6ICgpID0+IDxkaXY+U29tZXRoaW5nIHdlbnQgd3Jvbmc8L2Rpdj47XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { useDataEngine } from '@dhis2/app-runtime';
|
|
2
|
+
import i18n from '@dhis2/d2-i18n';
|
|
3
|
+
import { Button, Checkbox, colors, IconWarningFilled16, MultiSelect, MultiSelectOption, OrganisationUnitTree, } from '@dhis2/ui';
|
|
4
|
+
import cx from 'classnames';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import React, { useEffect, useState } from 'react';
|
|
7
|
+
import { DIMENSION_ID_ORGUNIT, formatList } from '../../../shared';
|
|
8
|
+
import { ouIdHelper, USER_ORG_UNIT, USER_ORG_UNIT_CHILDREN, USER_ORG_UNIT_GRANDCHILDREN, } from '../components';
|
|
9
|
+
import { styles } from './styles/OrgUnitDimension.style';
|
|
10
|
+
const DYNAMIC_ORG_UNITS = [
|
|
11
|
+
USER_ORG_UNIT,
|
|
12
|
+
USER_ORG_UNIT_CHILDREN,
|
|
13
|
+
USER_ORG_UNIT_GRANDCHILDREN,
|
|
14
|
+
];
|
|
15
|
+
const OrgUnitDimension = ({ roots, selected, onSelect, hideGroupSelect, hideLevelSelect, hideUserOrgUnits, warning, orgUnitGroupPromise, orgUnitLevelPromise, }) => {
|
|
16
|
+
const [ouLevels, setOuLevels] = useState([]);
|
|
17
|
+
const [ouGroups, setOuGroups] = useState([]);
|
|
18
|
+
const [selectedItems, setSelectedItems] = useState(selected);
|
|
19
|
+
const dataEngine = useDataEngine();
|
|
20
|
+
const onSelectItems = (selectedItem) => {
|
|
21
|
+
const { id, checked, displayName, path } = selectedItem;
|
|
22
|
+
let result = [...selectedItems];
|
|
23
|
+
if (checked && DYNAMIC_ORG_UNITS.includes(id)) {
|
|
24
|
+
result = [
|
|
25
|
+
...result.filter((item) => DYNAMIC_ORG_UNITS.includes(item.id)),
|
|
26
|
+
{ id, displayName },
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
else if (checked) {
|
|
30
|
+
result.push({ id, path, name: displayName });
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
result = [...result.filter((item) => item.id !== id)];
|
|
34
|
+
}
|
|
35
|
+
setSelectedItems(result);
|
|
36
|
+
onSelect({
|
|
37
|
+
dimensionId: DIMENSION_ID_ORGUNIT,
|
|
38
|
+
items: result,
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const clearSelection = () => {
|
|
42
|
+
setSelectedItems([]);
|
|
43
|
+
onSelect({
|
|
44
|
+
dimensionId: DIMENSION_ID_ORGUNIT,
|
|
45
|
+
items: [],
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
const doFetchOuLevels = async () => {
|
|
50
|
+
const result = await orgUnitLevelPromise;
|
|
51
|
+
result.sort((a, b) => (a.level > b.level ? 1 : -1));
|
|
52
|
+
setOuLevels(result);
|
|
53
|
+
};
|
|
54
|
+
const doFetchOuGroups = async () => {
|
|
55
|
+
const result = await orgUnitGroupPromise;
|
|
56
|
+
setOuGroups(result);
|
|
57
|
+
};
|
|
58
|
+
!hideLevelSelect && doFetchOuLevels();
|
|
59
|
+
!hideGroupSelect && doFetchOuGroups();
|
|
60
|
+
}, [dataEngine, hideLevelSelect, hideGroupSelect]);
|
|
61
|
+
const onLevelChange = (ids) => {
|
|
62
|
+
const items = ids.map((id) => ({
|
|
63
|
+
id: ouIdHelper.addLevelPrefix(id),
|
|
64
|
+
name: ouLevels?.find((level) => level.id === id)
|
|
65
|
+
?.displayName,
|
|
66
|
+
}));
|
|
67
|
+
setSelectedItems([
|
|
68
|
+
...selectedItems.filter((ou) => !ouIdHelper.hasLevelPrefix(ou.id)),
|
|
69
|
+
...items,
|
|
70
|
+
]);
|
|
71
|
+
onSelect({
|
|
72
|
+
dimensionId: DIMENSION_ID_ORGUNIT,
|
|
73
|
+
items: selectedItems,
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
const onGroupChange = (ids) => {
|
|
77
|
+
const items = ids.map((id) => ({
|
|
78
|
+
id: ouIdHelper.addGroupPrefix(id),
|
|
79
|
+
name: (ouGroups?.find((group) => group.id === id) || {})
|
|
80
|
+
.displayName,
|
|
81
|
+
}));
|
|
82
|
+
setSelectedItems([
|
|
83
|
+
...selectedItems.filter((ou) => !ouIdHelper.hasGroupPrefix(ou.id)),
|
|
84
|
+
...items,
|
|
85
|
+
]);
|
|
86
|
+
onSelect({
|
|
87
|
+
dimensionId: DIMENSION_ID_ORGUNIT,
|
|
88
|
+
items: selectedItems,
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
const getSummary = () => {
|
|
92
|
+
let summary;
|
|
93
|
+
if (selectedItems.length) {
|
|
94
|
+
const numberOfOrgUnits = selectedItems.filter((item) => !DYNAMIC_ORG_UNITS.includes(item.id) &&
|
|
95
|
+
!ouIdHelper.hasLevelPrefix(item.id) &&
|
|
96
|
+
!ouIdHelper.hasGroupPrefix(item.id)).length;
|
|
97
|
+
const numberOfLevels = selectedItems.filter((item) => ouIdHelper.hasLevelPrefix(item.id)).length;
|
|
98
|
+
const numberOfGroups = selectedItems.filter((item) => ouIdHelper.hasGroupPrefix(item.id)).length;
|
|
99
|
+
const userOrgUnits = selectedItems.filter((item) => DYNAMIC_ORG_UNITS.includes(item.id));
|
|
100
|
+
const parts = [];
|
|
101
|
+
if (numberOfOrgUnits) {
|
|
102
|
+
parts.push(i18n.t('{{count}} org units', {
|
|
103
|
+
count: numberOfOrgUnits,
|
|
104
|
+
defaultValue: '{{count}} org unit',
|
|
105
|
+
defaultValue_plural: '{{count}} org units',
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
if (numberOfLevels) {
|
|
109
|
+
parts.push(i18n.t('{{count}} levels', {
|
|
110
|
+
count: numberOfLevels,
|
|
111
|
+
defaultValue: '{{count}} level',
|
|
112
|
+
defaultValue_plural: '{{count}} levels',
|
|
113
|
+
}));
|
|
114
|
+
}
|
|
115
|
+
if (numberOfGroups) {
|
|
116
|
+
parts.push(i18n.t('{{count}} groups', {
|
|
117
|
+
count: numberOfGroups,
|
|
118
|
+
defaultValue: '{{count}} group',
|
|
119
|
+
defaultValue_plural: '{{count}} groups',
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
userOrgUnits.forEach((orgUnit) => {
|
|
123
|
+
parts.push(orgUnit.name || orgUnit.displayName);
|
|
124
|
+
});
|
|
125
|
+
summary = i18n.t('Selected: {{commaSeparatedListOfOrganisationUnits}}', {
|
|
126
|
+
keySeparator: '>',
|
|
127
|
+
nsSeparator: '|',
|
|
128
|
+
commaSeparatedListOfOrganisationUnits: formatList(parts),
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
summary = i18n.t('Nothing selected');
|
|
133
|
+
}
|
|
134
|
+
return summary;
|
|
135
|
+
};
|
|
136
|
+
return (React.createElement("div", { className: "container" },
|
|
137
|
+
!hideUserOrgUnits && (React.createElement("div", { className: "userOrgUnitsWrapper" },
|
|
138
|
+
React.createElement(Checkbox, { label: i18n.t('User organisation unit'), checked: selectedItems.some((item) => item.id === USER_ORG_UNIT), onChange: ({ checked }) => onSelectItems({
|
|
139
|
+
id: USER_ORG_UNIT,
|
|
140
|
+
checked,
|
|
141
|
+
displayName: i18n.t('User organisation unit'),
|
|
142
|
+
}), dense: true }),
|
|
143
|
+
React.createElement(Checkbox, { label: i18n.t('User sub-units'), checked: selectedItems.some((item) => item.id === USER_ORG_UNIT_CHILDREN), onChange: ({ checked }) => onSelectItems({
|
|
144
|
+
id: USER_ORG_UNIT_CHILDREN,
|
|
145
|
+
checked,
|
|
146
|
+
displayName: i18n.t('User sub-units'),
|
|
147
|
+
}), dense: true }),
|
|
148
|
+
React.createElement(Checkbox, { label: i18n.t('User sub-x2-units'), checked: selectedItems.some((item) => item.id === USER_ORG_UNIT_GRANDCHILDREN), onChange: ({ checked }) => onSelectItems({
|
|
149
|
+
id: USER_ORG_UNIT_GRANDCHILDREN,
|
|
150
|
+
checked,
|
|
151
|
+
displayName: i18n.t('User sub-x2-units'),
|
|
152
|
+
}), dense: true }))),
|
|
153
|
+
React.createElement("div", { className: cx('orgUnitTreeWrapper', {
|
|
154
|
+
disabled: selectedItems.some((item) => DYNAMIC_ORG_UNITS.includes(item.id)),
|
|
155
|
+
}) },
|
|
156
|
+
React.createElement(OrganisationUnitTree, { roots: roots, initiallyExpanded: [
|
|
157
|
+
...(roots.length === 1 ? [`/${roots[0]}`] : []),
|
|
158
|
+
...selectedItems
|
|
159
|
+
.filter((item) => !DYNAMIC_ORG_UNITS.includes(item.id) &&
|
|
160
|
+
!ouIdHelper.hasLevelPrefix(item.id) &&
|
|
161
|
+
!ouIdHelper.hasGroupPrefix(item.id))
|
|
162
|
+
.map((item) => item.path.substring(0, item.path.lastIndexOf('/')))
|
|
163
|
+
.filter((path) => path),
|
|
164
|
+
], selected: selectedItems
|
|
165
|
+
.filter((item) => !DYNAMIC_ORG_UNITS.includes(item.id) &&
|
|
166
|
+
!ouIdHelper.hasLevelPrefix(item.id) &&
|
|
167
|
+
!ouIdHelper.hasGroupPrefix(item.id))
|
|
168
|
+
.map((item) => item.path), onChange: onSelectItems, dataTest: 'org-unit-tree' })),
|
|
169
|
+
React.createElement("div", { className: cx('selectsWrapper', {
|
|
170
|
+
disabled: selectedItems.some((item) => DYNAMIC_ORG_UNITS.includes(item.id)),
|
|
171
|
+
hidden: hideLevelSelect && hideGroupSelect,
|
|
172
|
+
}) },
|
|
173
|
+
!hideLevelSelect && (React.createElement(MultiSelect, { selected: ouLevels.length
|
|
174
|
+
? selectedItems
|
|
175
|
+
.filter((item) => ouIdHelper.hasLevelPrefix(item.id))
|
|
176
|
+
.map((item) => ouIdHelper.removePrefix(item.id))
|
|
177
|
+
: [], onChange: ({ selected }) => onLevelChange(selected), placeholder: i18n.t('Select a level'), loading: !ouLevels.length, dense: true, dataTest: 'org-unit-level-select' }, ouLevels.map((level) => (React.createElement(MultiSelectOption, { key: level.id, value: level.id, label: level.displayName, dataTest: `org-unit-level-select-option-${level.id}` }))))),
|
|
178
|
+
!hideGroupSelect && (React.createElement(MultiSelect, { selected: ouGroups.length
|
|
179
|
+
? selectedItems
|
|
180
|
+
.filter((item) => ouIdHelper.hasGroupPrefix(item.id))
|
|
181
|
+
.map((item) => ouIdHelper.removePrefix(item.id))
|
|
182
|
+
: [], onChange: ({ selected }) => onGroupChange(selected), placeholder: i18n.t('Select a group'), loading: !ouGroups.length, dense: true, dataTest: 'org-unit-group-select' }, ouGroups.map((group) => (React.createElement(MultiSelectOption, { key: group.id, value: group.id, label: group.displayName, dataTest: `org-unit-group-select-option-${group.id}` })))))),
|
|
183
|
+
React.createElement("div", { className: "summaryWrapper" },
|
|
184
|
+
warning ? (React.createElement("div", { className: "warningWrapper" },
|
|
185
|
+
React.createElement(IconWarningFilled16, { color: colors.red500 }),
|
|
186
|
+
React.createElement("span", { className: "warningText" }, warning))) : (React.createElement("span", { className: "summaryText" }, getSummary())),
|
|
187
|
+
React.createElement("div", { className: "deselectButton" },
|
|
188
|
+
React.createElement(Button, { secondary: true, small: true, onClick: clearSelection, disabled: !selectedItems.length }, i18n.t('Deselect all')))),
|
|
189
|
+
React.createElement("style", { jsx: true }, styles)));
|
|
190
|
+
};
|
|
191
|
+
OrgUnitDimension.defaultProps = {
|
|
192
|
+
hideGroupSelect: false,
|
|
193
|
+
hideLevelSelect: false,
|
|
194
|
+
hideUserOrgUnits: false,
|
|
195
|
+
};
|
|
196
|
+
OrgUnitDimension.propTypes = {
|
|
197
|
+
hideGroupSelect: PropTypes.bool,
|
|
198
|
+
hideLevelSelect: PropTypes.bool,
|
|
199
|
+
hideUserOrgUnits: PropTypes.bool,
|
|
200
|
+
roots: PropTypes.arrayOf(PropTypes.string),
|
|
201
|
+
selected: PropTypes.arrayOf(PropTypes.shape({
|
|
202
|
+
id: PropTypes.string.isRequired,
|
|
203
|
+
name: PropTypes.string.isRequired,
|
|
204
|
+
path: PropTypes.string,
|
|
205
|
+
})),
|
|
206
|
+
warning: PropTypes.string,
|
|
207
|
+
onSelect: PropTypes.func,
|
|
208
|
+
orgUnitGroupPromise: PropTypes.any,
|
|
209
|
+
orgUnitLevelPromise: PropTypes.any,
|
|
210
|
+
};
|
|
211
|
+
export default OrgUnitDimension;
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JnVW5pdERpbWVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL25nLWRoaXMyLXVpL3NyYy9saWIvbW9kdWxlcy9vcmdhbmlzYXRpb24tdW5pdC1zZWxlY3Rvci9jb21wb25lbnRzL09yZ1VuaXREaW1lbnNpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLElBQUksTUFBTSxnQkFBZ0IsQ0FBQztBQUNsQyxPQUFPLEVBQ0wsTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsb0JBQW9CLEdBQ3JCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM1QixPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUM7QUFDbkMsT0FBTyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRW5ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRSxPQUFPLEVBQ0wsVUFBVSxFQUNWLGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsMkJBQTJCLEdBQzVCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6RCxNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsMkJBQTJCO0NBQzVCLENBQUM7QUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsRUFDeEIsS0FBSyxFQUNMLFFBQVEsRUFDUixRQUFRLEVBQ1IsZUFBZSxFQUNmLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsT0FBTyxFQUNQLG1CQUFtQixFQUNuQixtQkFBbUIsR0FDZixFQUFFLEVBQUU7SUFD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QUFFLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQy9CLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDakMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO0tBQ3ZCLENBQUMsQ0FDSDtJQUNELE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTTtJQUN6QixRQUFRLEVBQUUsU0FBUyxDQUFDLElBQUk7SUFDeEIsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLEdBQUc7SUFDbEMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLEdBQUc7Q0FDbkMsQ0FBQztBQUVGLGVBQWUsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VEYXRhRW5naW5lIH0gZnJvbSAnQGRoaXMyL2FwcC1ydW50aW1lJztcbmltcG9ydCBpMThuIGZyb20gJ0BkaGlzMi9kMi1pMThuJztcbmltcG9ydCB7XG4gIEJ1dHRvbixcbiAgQ2hlY2tib3gsXG4gIGNvbG9ycyxcbiAgSWNvbldhcm5pbmdGaWxsZWQxNixcbiAgTXVsdGlTZWxlY3QsXG4gIE11bHRpU2VsZWN0T3B0aW9uLFxuICBPcmdhbmlzYXRpb25Vbml0VHJlZSxcbn0gZnJvbSAnQGRoaXMyL3VpJztcbmltcG9ydCBjeCBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgRElNRU5TSU9OX0lEX09SR1VOSVQsIGZvcm1hdExpc3QgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHtcbiAgb3VJZEhlbHBlcixcbiAgVVNFUl9PUkdfVU5JVCxcbiAgVVNFUl9PUkdfVU5JVF9DSElMRFJFTixcbiAgVVNFUl9PUkdfVU5JVF9HUkFORENISUxEUkVOLFxufSBmcm9tICcuLi9jb21wb25lbnRzJztcbmltcG9ydCB7IHN0eWxlcyB9IGZyb20gJy4vc3R5bGVzL09yZ1VuaXREaW1lbnNpb24uc3R5bGUnO1xuXG5jb25zdCBEWU5BTUlDX09SR19VTklUUyA9IFtcbiAgVVNFUl9PUkdfVU5JVCxcbiAgVVNFUl9PUkdfVU5JVF9DSElMRFJFTixcbiAgVVNFUl9PUkdfVU5JVF9HUkFORENISUxEUkVOLFxuXTtcblxuY29uc3QgT3JnVW5pdERpbWVuc2lvbiA9ICh7XG4gIHJvb3RzLFxuICBzZWxlY3RlZCxcbiAgb25TZWxlY3QsXG4gIGhpZGVHcm91cFNlbGVjdCxcbiAgaGlkZUxldmVsU2VsZWN0LFxuICBoaWRlVXNlck9yZ1VuaXRzLFxuICB3YXJuaW5nLFxuICBvcmdVbml0R3JvdXBQcm9taXNlLFxuICBvcmdVbml0TGV2ZWxQcm9taXNlLFxufTogYW55KSA9PiB7XG4gIGNvbnN0IFtvdUxldmVscywgc2V0T3VMZXZlbHNdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbb3VHcm91cHMsIHNldE91R3JvdXBzXSA9IHVzZVN0YXRlKFtdKTtcbiAgY29uc3QgW3NlbGVjdGVkSXRlbXMsIHNldFNlbGVjdGVkSXRlbXNdID0gdXNlU3RhdGUoc2VsZWN0ZWQpO1xuICBjb25zdCBkYXRhRW5naW5lID0gdXNlRGF0YUVuZ2luZSgpO1xuXG4gIGNvbnN0IG9uU2VsZWN0SXRlbXMgPSAoc2VsZWN0ZWRJdGVtOiBhbnkpID0+IHtcbiAgICBjb25zdCB7IGlkLCBjaGVja2VkLCBkaXNwbGF5TmFtZSwgcGF0aCB9ID0gc2VsZWN0ZWRJdGVtO1xuICAgIGxldCByZXN1bHQgPSBbLi4uc2VsZWN0ZWRJdGVtc107XG5cbiAgICBpZiAoY2hlY2tlZCAmJiBEWU5BTUlDX09SR19VTklUUy5pbmNsdWRlcyhpZCkpIHtcbiAgICAgIHJlc3VsdCA9IFtcbiAgICAgICAgLi4ucmVzdWx0LmZpbHRlcigoaXRlbSkgPT4gRFlOQU1JQ19PUkdfVU5JVFMuaW5jbHVkZXMoaXRlbS5pZCkpLFxuICAgICAgICB7IGlkLCBkaXNwbGF5TmFtZSB9LFxuICAgICAgXTtcbiAgICB9IGVsc2UgaWYgKGNoZWNrZWQpIHtcbiAgICAgIHJlc3VsdC5wdXNoKHsgaWQsIHBhdGgsIG5hbWU6IGRpc3BsYXlOYW1lIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBbLi4ucmVzdWx0LmZpbHRlcigoaXRlbSkgPT4gaXRlbS5pZCAhPT0gaWQpXTtcbiAgICB9XG5cbiAgICBzZXRTZWxlY3RlZEl0ZW1zKHJlc3VsdCBhcyBhbnkpO1xuXG4gICAgb25TZWxlY3Qoe1xuICAgICAgZGltZW5zaW9uSWQ6IERJTUVOU0lPTl9JRF9PUkdVTklULFxuICAgICAgaXRlbXM6IHJlc3VsdCxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBjbGVhclNlbGVjdGlvbiA9ICgpID0+IHtcbiAgICBzZXRTZWxlY3RlZEl0ZW1zKFtdKTtcbiAgICBvblNlbGVjdCh7XG4gICAgICBkaW1lbnNpb25JZDogRElNRU5TSU9OX0lEX09SR1VOSVQsXG4gICAgICBpdGVtczogW10sXG4gICAgfSk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBkb0ZldGNoT3VMZXZlbHMgPSBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBvcmdVbml0TGV2ZWxQcm9taXNlO1xuICAgICAgcmVzdWx0LnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiAoYS5sZXZlbCA+IGIubGV2ZWwgPyAxIDogLTEpKTtcbiAgICAgIHNldE91TGV2ZWxzKHJlc3VsdCk7XG4gICAgfTtcbiAgICBjb25zdCBkb0ZldGNoT3VHcm91cHMgPSBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBvcmdVbml0R3JvdXBQcm9taXNlO1xuICAgICAgc2V0T3VHcm91cHMocmVzdWx0KTtcbiAgICB9O1xuXG4gICAgIWhpZGVMZXZlbFNlbGVjdCAmJiBkb0ZldGNoT3VMZXZlbHMoKTtcbiAgICAhaGlkZUdyb3VwU2VsZWN0ICYmIGRvRmV0Y2hPdUdyb3VwcygpO1xuICB9LCBbZGF0YUVuZ2luZSwgaGlkZUxldmVsU2VsZWN0LCBoaWRlR3JvdXBTZWxlY3RdKTtcblxuICBjb25zdCBvbkxldmVsQ2hhbmdlID0gKGlkczogc3RyaW5nW10pID0+IHtcbiAgICBjb25zdCBpdGVtcyA9IGlkcy5tYXAoKGlkOiBzdHJpbmcpID0+ICh7XG4gICAgICBpZDogb3VJZEhlbHBlci5hZGRMZXZlbFByZWZpeChpZCksXG4gICAgICBuYW1lOiAob3VMZXZlbHM/LmZpbmQoKGxldmVsOiBhbnkpID0+IGxldmVsLmlkID09PSBpZCkgYXMgYW55KVxuICAgICAgICA/LmRpc3BsYXlOYW1lLFxuICAgIH0pKTtcblxuICAgIHNldFNlbGVjdGVkSXRlbXMoW1xuICAgICAgLi4uc2VsZWN0ZWRJdGVtcy5maWx0ZXIoKG91OiBhbnkpID0+ICFvdUlkSGVscGVyLmhhc0xldmVsUHJlZml4KG91LmlkKSksXG4gICAgICAuLi5pdGVtcyxcbiAgICBdKTtcblxuICAgIG9uU2VsZWN0KHtcbiAgICAgIGRpbWVuc2lvbklkOiBESU1FTlNJT05fSURfT1JHVU5JVCxcbiAgICAgIGl0ZW1zOiBzZWxlY3RlZEl0ZW1zLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IG9uR3JvdXBDaGFuZ2UgPSAoaWRzOiBzdHJpbmdbXSkgPT4ge1xuICAgIGNvbnN0IGl0ZW1zID0gaWRzLm1hcCgoaWQ6IHN0cmluZykgPT4gKHtcbiAgICAgIGlkOiBvdUlkSGVscGVyLmFkZEdyb3VwUHJlZml4KGlkKSxcbiAgICAgIG5hbWU6ICgob3VHcm91cHM/LmZpbmQoKGdyb3VwOiBhbnkpID0+IGdyb3VwLmlkID09PSBpZCkgfHwge30pIGFzIGFueSlcbiAgICAgICAgLmRpc3BsYXlOYW1lLFxuICAgIH0pKTtcblxuICAgIHNldFNlbGVjdGVkSXRlbXMoW1xuICAgICAgLi4uc2VsZWN0ZWRJdGVtcy5maWx0ZXIoKG91OiBhbnkpID0+ICFvdUlkSGVscGVyLmhhc0dyb3VwUHJlZml4KG91LmlkKSksXG4gICAgICAuLi5pdGVtcyxcbiAgICBdKTtcblxuICAgIG9uU2VsZWN0KHtcbiAgICAgIGRpbWVuc2lvbklkOiBESU1FTlNJT05fSURfT1JHVU5JVCxcbiAgICAgIGl0ZW1zOiBzZWxlY3RlZEl0ZW1zLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGdldFN1bW1hcnkgPSAoKSA9PiB7XG4gICAgbGV0IHN1bW1hcnk7XG4gICAgaWYgKHNlbGVjdGVkSXRlbXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBudW1iZXJPZk9yZ1VuaXRzID0gc2VsZWN0ZWRJdGVtcy5maWx0ZXIoXG4gICAgICAgIChpdGVtOiBhbnkpID0+XG4gICAgICAgICAgIURZTkFNSUNfT1JHX1VOSVRTLmluY2x1ZGVzKGl0ZW0uaWQpICYmXG4gICAgICAgICAgIW91SWRIZWxwZXIuaGFzTGV2ZWxQcmVmaXgoaXRlbS5pZCkgJiZcbiAgICAgICAgICAhb3VJZEhlbHBlci5oYXNHcm91cFByZWZpeChpdGVtLmlkKVxuICAgICAgKS5sZW5ndGg7XG5cbiAgICAgIGNvbnN0IG51bWJlck9mTGV2ZWxzID0gc2VsZWN0ZWRJdGVtcy5maWx0ZXIoKGl0ZW06IGFueSkgPT5cbiAgICAgICAgb3VJZEhlbHBlci5oYXNMZXZlbFByZWZpeChpdGVtLmlkKVxuICAgICAgKS5sZW5ndGg7XG4gICAgICBjb25zdCBudW1iZXJPZkdyb3VwcyA9IHNlbGVjdGVkSXRlbXMuZmlsdGVyKChpdGVtOiBhbnkpID0+XG4gICAgICAgIG91SWRIZWxwZXIuaGFzR3JvdXBQcmVmaXgoaXRlbS5pZClcbiAgICAgICkubGVuZ3RoO1xuICAgICAgY29uc3QgdXNlck9yZ1VuaXRzID0gc2VsZWN0ZWRJdGVtcy5maWx0ZXIoKGl0ZW06IGFueSkgPT5cbiAgICAgICAgRFlOQU1JQ19PUkdfVU5JVFMuaW5jbHVkZXMoaXRlbS5pZClcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHBhcnRzID0gW107XG5cbiAgICAgIGlmIChudW1iZXJPZk9yZ1VuaXRzKSB7XG4gICAgICAgIHBhcnRzLnB1c2goXG4gICAgICAgICAgaTE4bi50KCd7e2NvdW50fX0gb3JnIHVuaXRzJywge1xuICAgICAgICAgICAgY291bnQ6IG51bWJlck9mT3JnVW5pdHMsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICd7e2NvdW50fX0gb3JnIHVuaXQnLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlX3BsdXJhbDogJ3t7Y291bnR9fSBvcmcgdW5pdHMnLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAobnVtYmVyT2ZMZXZlbHMpIHtcbiAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICBpMThuLnQoJ3t7Y291bnR9fSBsZXZlbHMnLCB7XG4gICAgICAgICAgICBjb3VudDogbnVtYmVyT2ZMZXZlbHMsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICd7e2NvdW50fX0gbGV2ZWwnLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlX3BsdXJhbDogJ3t7Y291bnR9fSBsZXZlbHMnLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAobnVtYmVyT2ZHcm91cHMpIHtcbiAgICAgICAgcGFydHMucHVzaChcbiAgICAgICAgICBpMThuLnQoJ3t7Y291bnR9fSBncm91cHMnLCB7XG4gICAgICAgICAgICBjb3VudDogbnVtYmVyT2ZHcm91cHMsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICd7e2NvdW50fX0gZ3JvdXAnLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlX3BsdXJhbDogJ3t7Y291bnR9fSBncm91cHMnLFxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICB1c2VyT3JnVW5pdHMuZm9yRWFjaCgob3JnVW5pdDogYW55KSA9PiB7XG4gICAgICAgIHBhcnRzLnB1c2gob3JnVW5pdC5uYW1lIHx8IG9yZ1VuaXQuZGlzcGxheU5hbWUpO1xuICAgICAgfSk7XG4gICAgICBzdW1tYXJ5ID0gaTE4bi50KCdTZWxlY3RlZDoge3tjb21tYVNlcGFyYXRlZExpc3RPZk9yZ2FuaXNhdGlvblVuaXRzfX0nLCB7XG4gICAgICAgIGtleVNlcGFyYXRvcjogJz4nLFxuICAgICAgICBuc1NlcGFyYXRvcjogJ3wnLFxuICAgICAgICBjb21tYVNlcGFyYXRlZExpc3RPZk9yZ2FuaXNhdGlvblVuaXRzOiBmb3JtYXRMaXN0KHBhcnRzKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdW1tYXJ5ID0gaTE4bi50KCdOb3RoaW5nIHNlbGVjdGVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHN1bW1hcnk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRhaW5lclwiPlxuICAgICAgeyFoaWRlVXNlck9yZ1VuaXRzICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ1c2VyT3JnVW5pdHNXcmFwcGVyXCI+XG4gICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICBsYWJlbD17aTE4bi50KCdVc2VyIG9yZ2FuaXNhdGlvbiB1bml0Jyl9XG4gICAgICAgICAgICBjaGVja2VkPXtzZWxlY3RlZEl0ZW1zLnNvbWUoXG4gICAgICAgICAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0uaWQgPT09IFVTRVJfT1JHX1VOSVRcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICBvbkNoYW5nZT17KHsgY2hlY2tlZCB9OiBhbnkpID0+XG4gICAgICAgICAgICAgIG9uU2VsZWN0SXRlbXMoe1xuICAgICAgICAgICAgICAgIGlkOiBVU0VSX09SR19VTklULFxuICAgICAgICAgICAgICAgIGNoZWNrZWQsXG4gICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6IGkxOG4udCgnVXNlciBvcmdhbmlzYXRpb24gdW5pdCcpLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVuc2VcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxDaGVja2JveFxuICAgICAgICAgICAgbGFiZWw9e2kxOG4udCgnVXNlciBzdWItdW5pdHMnKX1cbiAgICAgICAgICAgIGNoZWNrZWQ9e3NlbGVjdGVkSXRlbXMuc29tZShcbiAgICAgICAgICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbS5pZCA9PT0gVVNFUl9PUkdfVU5JVF9DSElMRFJFTlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoeyBjaGVja2VkIH06IGFueSkgPT5cbiAgICAgICAgICAgICAgb25TZWxlY3RJdGVtcyh7XG4gICAgICAgICAgICAgICAgaWQ6IFVTRVJfT1JHX1VOSVRfQ0hJTERSRU4sXG4gICAgICAgICAgICAgICAgY2hlY2tlZCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5TmFtZTogaTE4bi50KCdVc2VyIHN1Yi11bml0cycpLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVuc2VcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxDaGVja2JveFxuICAgICAgICAgICAgbGFiZWw9e2kxOG4udCgnVXNlciBzdWIteDItdW5pdHMnKX1cbiAgICAgICAgICAgIGNoZWNrZWQ9e3NlbGVjdGVkSXRlbXMuc29tZShcbiAgICAgICAgICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbS5pZCA9PT0gVVNFUl9PUkdfVU5JVF9HUkFORENISUxEUkVOXG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgb25DaGFuZ2U9eyh7IGNoZWNrZWQgfTogYW55KSA9PlxuICAgICAgICAgICAgICBvblNlbGVjdEl0ZW1zKHtcbiAgICAgICAgICAgICAgICBpZDogVVNFUl9PUkdfVU5JVF9HUkFORENISUxEUkVOLFxuICAgICAgICAgICAgICAgIGNoZWNrZWQsXG4gICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6IGkxOG4udCgnVXNlciBzdWIteDItdW5pdHMnKSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlbnNlXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2N4KCdvcmdVbml0VHJlZVdyYXBwZXInLCB7XG4gICAgICAgICAgZGlzYWJsZWQ6IHNlbGVjdGVkSXRlbXMuc29tZSgoaXRlbTogYW55KSA9PlxuICAgICAgICAgICAgRFlOQU1JQ19PUkdfVU5JVFMuaW5jbHVkZXMoaXRlbS5pZClcbiAgICAgICAgICApLFxuICAgICAgICB9KX1cbiAgICAgID5cbiAgICAgICAgPE9yZ2FuaXNhdGlvblVuaXRUcmVlXG4gICAgICAgICAgcm9vdHM9e3Jvb3RzfVxuICAgICAgICAgIGluaXRpYWxseUV4cGFuZGVkPXtbXG4gICAgICAgICAgICAuLi4ocm9vdHMubGVuZ3RoID09PSAxID8gW2AvJHtyb290c1swXX1gXSA6IFtdKSxcbiAgICAgICAgICAgIC4uLnNlbGVjdGVkSXRlbXNcbiAgICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAoaXRlbTogYW55KSA9PlxuICAgICAgICAgICAgICAgICAgIURZTkFNSUNfT1JHX1VOSVRTLmluY2x1ZGVzKGl0ZW0uaWQpICYmXG4gICAgICAgICAgICAgICAgICAhb3VJZEhlbHBlci5oYXNMZXZlbFByZWZpeChpdGVtLmlkKSAmJlxuICAgICAgICAgICAgICAgICAgIW91SWRIZWxwZXIuaGFzR3JvdXBQcmVmaXgoaXRlbS5pZClcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAubWFwKChpdGVtOiBhbnkpID0+XG4gICAgICAgICAgICAgICAgaXRlbS5wYXRoLnN1YnN0cmluZygwLCBpdGVtLnBhdGgubGFzdEluZGV4T2YoJy8nKSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAuZmlsdGVyKChwYXRoOiBhbnkpID0+IHBhdGgpLFxuICAgICAgICAgIF19XG4gICAgICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkSXRlbXNcbiAgICAgICAgICAgIC5maWx0ZXIoXG4gICAgICAgICAgICAgIChpdGVtOiBhbnkpID0+XG4gICAgICAgICAgICAgICAgIURZTkFNSUNfT1JHX1VOSVRTLmluY2x1ZGVzKGl0ZW0uaWQpICYmXG4gICAgICAgICAgICAgICAgIW91SWRIZWxwZXIuaGFzTGV2ZWxQcmVmaXgoaXRlbS5pZCkgJiZcbiAgICAgICAgICAgICAgICAhb3VJZEhlbHBlci5oYXNHcm91cFByZWZpeChpdGVtLmlkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtLnBhdGgpfVxuICAgICAgICAgIG9uQ2hhbmdlPXtvblNlbGVjdEl0ZW1zfVxuICAgICAgICAgIGRhdGFUZXN0PXsnb3JnLXVuaXQtdHJlZSd9XG4gICAgICAgIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtjeCgnc2VsZWN0c1dyYXBwZXInLCB7XG4gICAgICAgICAgZGlzYWJsZWQ6IHNlbGVjdGVkSXRlbXMuc29tZSgoaXRlbTogYW55KSA9PlxuICAgICAgICAgICAgRFlOQU1JQ19PUkdfVU5JVFMuaW5jbHVkZXMoaXRlbS5pZClcbiAgICAgICAgICApLFxuICAgICAgICAgIGhpZGRlbjogaGlkZUxldmVsU2VsZWN0ICYmIGhpZGVHcm91cFNlbGVjdCxcbiAgICAgICAgfSl9XG4gICAgICA+XG4gICAgICAgIHshaGlkZUxldmVsU2VsZWN0ICYmIChcbiAgICAgICAgICA8TXVsdGlTZWxlY3RcbiAgICAgICAgICAgIHNlbGVjdGVkPXtcbiAgICAgICAgICAgICAgb3VMZXZlbHMubGVuZ3RoXG4gICAgICAgICAgICAgICAgPyBzZWxlY3RlZEl0ZW1zXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW06IGFueSkgPT4gb3VJZEhlbHBlci5oYXNMZXZlbFByZWZpeChpdGVtLmlkKSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoaXRlbTogYW55KSA9PiBvdUlkSGVscGVyLnJlbW92ZVByZWZpeChpdGVtLmlkKSlcbiAgICAgICAgICAgICAgICA6IFtdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvbkNoYW5nZT17KHsgc2VsZWN0ZWQgfTogYW55KSA9PiBvbkxldmVsQ2hhbmdlKHNlbGVjdGVkKX1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpMThuLnQoJ1NlbGVjdCBhIGxldmVsJyl9XG4gICAgICAgICAgICBsb2FkaW5nPXshb3VMZXZlbHMubGVuZ3RofVxuICAgICAgICAgICAgZGVuc2VcbiAgICAgICAgICAgIGRhdGFUZXN0PXsnb3JnLXVuaXQtbGV2ZWwtc2VsZWN0J31cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7b3VMZXZlbHMubWFwKChsZXZlbDogYW55KSA9PiAoXG4gICAgICAgICAgICAgIDxNdWx0aVNlbGVjdE9wdGlvblxuICAgICAgICAgICAgICAgIGtleT17bGV2ZWwuaWR9XG4gICAgICAgICAgICAgICAgdmFsdWU9e2xldmVsLmlkfVxuICAgICAgICAgICAgICAgIGxhYmVsPXtsZXZlbC5kaXNwbGF5TmFtZX1cbiAgICAgICAgICAgICAgICBkYXRhVGVzdD17YG9yZy11bml0LWxldmVsLXNlbGVjdC1vcHRpb24tJHtsZXZlbC5pZH1gfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9NdWx0aVNlbGVjdD5cbiAgICAgICAgKX1cbiAgICAgICAgeyFoaWRlR3JvdXBTZWxlY3QgJiYgKFxuICAgICAgICAgIDxNdWx0aVNlbGVjdFxuICAgICAgICAgICAgc2VsZWN0ZWQ9e1xuICAgICAgICAgICAgICBvdUdyb3Vwcy5sZW5ndGhcbiAgICAgICAgICAgICAgICA/IHNlbGVjdGVkSXRlbXNcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoaXRlbTogYW55KSA9PiBvdUlkSGVscGVyLmhhc0dyb3VwUHJlZml4KGl0ZW0uaWQpKVxuICAgICAgICAgICAgICAgICAgICAubWFwKChpdGVtOiBhbnkpID0+IG91SWRIZWxwZXIucmVtb3ZlUHJlZml4KGl0ZW0uaWQpKVxuICAgICAgICAgICAgICAgIDogW11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoeyBzZWxlY3RlZCB9OiBhbnkpID0+IG9uR3JvdXBDaGFuZ2Uoc2VsZWN0ZWQpfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2kxOG4udCgnU2VsZWN0IGEgZ3JvdXAnKX1cbiAgICAgICAgICAgIGxvYWRpbmc9eyFvdUdyb3Vwcy5sZW5ndGh9XG4gICAgICAgICAgICBkZW5zZVxuICAgICAgICAgICAgZGF0YVRlc3Q9eydvcmctdW5pdC1ncm91cC1zZWxlY3QnfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtvdUdyb3Vwcy5tYXAoKGdyb3VwOiBhbnkpID0+IChcbiAgICAgICAgICAgICAgPE11bHRpU2VsZWN0T3B0aW9uXG4gICAgICAgICAgICAgICAga2V5PXtncm91cC5pZH1cbiAgICAgICAgICAgICAgICB2YWx1ZT17Z3JvdXAuaWR9XG4gICAgICAgICAgICAgICAgbGFiZWw9e2dyb3VwLmRpc3BsYXlOYW1lfVxuICAgICAgICAgICAgICAgIGRhdGFUZXN0PXtgb3JnLXVuaXQtZ3JvdXAtc2VsZWN0LW9wdGlvbi0ke2dyb3VwLmlkfWB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L011bHRpU2VsZWN0PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cInN1bW1hcnlXcmFwcGVyXCI+XG4gICAgICAgIHt3YXJuaW5nID8gKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2FybmluZ1dyYXBwZXJcIj5cbiAgICAgICAgICAgIDxJY29uV2FybmluZ0ZpbGxlZDE2IGNvbG9yPXtjb2xvcnMucmVkNTAwfSAvPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwid2FybmluZ1RleHRcIj57d2FybmluZ308L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwic3VtbWFyeVRleHRcIj57Z2V0U3VtbWFyeSgpfTwvc3Bhbj5cbiAgICAgICAgKX1cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXNlbGVjdEJ1dHRvblwiPlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIHNlY29uZGFyeVxuICAgICAgICAgICAgc21hbGxcbiAgICAgICAgICAgIG9uQ2xpY2s9e2NsZWFyU2VsZWN0aW9ufVxuICAgICAgICAgICAgZGlzYWJsZWQ9eyFzZWxlY3RlZEl0ZW1zLmxlbmd0aH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aTE4bi50KCdEZXNlbGVjdCBhbGwnKX1cbiAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxzdHlsZSBqc3g+e3N0eWxlc308L3N0eWxlPlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuT3JnVW5pdERpbWVuc2lvbi5kZWZhdWx0UHJvcHMgPSB7XG4gIGhpZGVHcm91cFNlbGVjdDogZmFsc2UsXG4gIGhpZGVMZXZlbFNlbGVjdDogZmFsc2UsXG4gIGhpZGVVc2VyT3JnVW5pdHM6IGZhbHNlLFxufTtcblxuT3JnVW5pdERpbWVuc2lvbi5wcm9wVHlwZXMgPSB7XG4gIGhpZGVHcm91cFNlbGVjdDogUHJvcFR5cGVzLmJvb2wsXG4gIGhpZGVMZXZlbFNlbGVjdDogUHJvcFR5cGVzLmJvb2wsXG4gIGhpZGVVc2VyT3JnVW5pdHM6IFByb3BUeXBlcy5ib29sLFxuICByb290czogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gIHNlbGVjdGVkOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgaWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAgIHBhdGg6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSlcbiAgKSxcbiAgd2FybmluZzogUHJvcFR5cGVzLnN0cmluZyxcbiAgb25TZWxlY3Q6IFByb3BUeXBlcy5mdW5jLFxuICBvcmdVbml0R3JvdXBQcm9taXNlOiBQcm9wVHlwZXMuYW55LFxuICBvcmdVbml0TGV2ZWxQcm9taXNlOiBQcm9wVHlwZXMuYW55LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgT3JnVW5pdERpbWVuc2lvbjtcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
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 './OrgUnitDimension';
|
|
5
|
+
export * from './utils';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3IvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQscURBQXFEO0FBQ3JELGlEQUFpRDtBQUVqRCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjMgVURTTSBESElTMiBMYWIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZVxuLy8gbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLlxuXG5leHBvcnQgKiBmcm9tICcuL09yZ1VuaXREaW1lbnNpb24nO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscyc7XG4iXX0=
|
package/esm2022/lib/modules/organisation-unit-selector/components/styles/OrgUnitDimension.style.mjs
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { colors, spacers } from '@dhis2/ui';
|
|
2
|
+
export const styles = `
|
|
3
|
+
.container {
|
|
4
|
+
height: 100%;
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.orgUnitTreeWrapper {
|
|
10
|
+
height: 382px;
|
|
11
|
+
flex-grow: 1;
|
|
12
|
+
overflow: auto;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.orgUnitTreeWrapper > :global(*) {
|
|
16
|
+
flex-grow: 1;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.disabled {
|
|
20
|
+
cursor: not-allowed;
|
|
21
|
+
opacity: 0.5;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.disabled > :global(*) {
|
|
25
|
+
pointer-events: none;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.userOrgUnitsWrapper {
|
|
29
|
+
display: flex;
|
|
30
|
+
background: ${colors.grey200};
|
|
31
|
+
padding: ${spacers.dp8} ${spacers.dp8} ${spacers.dp8} ${spacers.dp24};
|
|
32
|
+
margin-bottom: ${spacers.dp12};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.userOrgUnitsWrapper > :global(*) {
|
|
36
|
+
margin-right: ${spacers.dp48};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.selectsWrapper {
|
|
40
|
+
display: flex;
|
|
41
|
+
align-items: flex-start;
|
|
42
|
+
gap: ${spacers.dp8};
|
|
43
|
+
margin-top: ${spacers.dp12};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.selectsWrapper.hidden {
|
|
47
|
+
display: none;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.selectsWrapper > :global(*) {
|
|
51
|
+
width: 50%;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.summaryWrapper {
|
|
55
|
+
display: inline-flex;
|
|
56
|
+
align-items: center;
|
|
57
|
+
margin-top: ${spacers.dp8};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.warningWrapper {
|
|
61
|
+
display: inline-flex;
|
|
62
|
+
align-items: center;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.warningText {
|
|
66
|
+
margin-left: ${spacers.dp8};
|
|
67
|
+
font-size: 14px;
|
|
68
|
+
line-height: 18px;
|
|
69
|
+
color: ${colors.red600};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.summaryText {
|
|
73
|
+
font-size: 14px;
|
|
74
|
+
line-height: 18px;
|
|
75
|
+
color: ${colors.grey700};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.deselectButton {
|
|
79
|
+
display: inline-block;
|
|
80
|
+
margin-left: ${spacers.dp8};
|
|
81
|
+
}
|
|
82
|
+
`;
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JnVW5pdERpbWVuc2lvbi5zdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL25nLWRoaXMyLXVpL3NyYy9saWIvbW9kdWxlcy9vcmdhbmlzYXRpb24tdW5pdC1zZWxlY3Rvci9jb21wb25lbnRzL3N0eWxlcy9PcmdVbml0RGltZW5zaW9uLnN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTVDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQkE0QkEsTUFBTSxDQUFDLE9BQU87bUJBQ2pCLE9BQU8sQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJO3lCQUNuRCxPQUFPLENBQUMsSUFBSTs7Ozt3QkFJYixPQUFPLENBQUMsSUFBSTs7Ozs7O2VBTXJCLE9BQU8sQ0FBQyxHQUFHO3NCQUNKLE9BQU8sQ0FBQyxJQUFJOzs7Ozs7Ozs7Ozs7OztzQkFjWixPQUFPLENBQUMsR0FBRzs7Ozs7Ozs7O3VCQVNWLE9BQU8sQ0FBQyxHQUFHOzs7aUJBR2pCLE1BQU0sQ0FBQyxNQUFNOzs7Ozs7aUJBTWIsTUFBTSxDQUFDLE9BQU87Ozs7O3VCQUtSLE9BQU8sQ0FBQyxHQUFHOztDQUVqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29sb3JzLCBzcGFjZXJzIH0gZnJvbSAnQGRoaXMyL3VpJztcblxuZXhwb3J0IGNvbnN0IHN0eWxlcyA9IGBcbiAgICAuY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5vcmdVbml0VHJlZVdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDM4MnB4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cblxuICAgIC5vcmdVbml0VHJlZVdyYXBwZXIgPiA6Z2xvYmFsKCopIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQgPiA6Z2xvYmFsKCopIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVzZXJPcmdVbml0c1dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAke2NvbG9ycy5ncmV5MjAwfTtcbiAgICAgICAgcGFkZGluZzogJHtzcGFjZXJzLmRwOH0gJHtzcGFjZXJzLmRwOH0gJHtzcGFjZXJzLmRwOH0gJHtzcGFjZXJzLmRwMjR9O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAke3NwYWNlcnMuZHAxMn07XG4gICAgfVxuXG4gICAgLnVzZXJPcmdVbml0c1dyYXBwZXIgPiA6Z2xvYmFsKCopIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAke3NwYWNlcnMuZHA0OH07XG4gICAgfVxuXG4gICAgLnNlbGVjdHNXcmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogJHtzcGFjZXJzLmRwOH07XG4gICAgICAgIG1hcmdpbi10b3A6ICR7c3BhY2Vycy5kcDEyfTtcbiAgICB9XG5cbiAgICAuc2VsZWN0c1dyYXBwZXIuaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2VsZWN0c1dyYXBwZXIgPiA6Z2xvYmFsKCopIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICAuc3VtbWFyeVdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogJHtzcGFjZXJzLmRwOH07XG4gICAgfVxuXG4gICAgLndhcm5pbmdXcmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLndhcm5pbmdUZXh0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICR7c3BhY2Vycy5kcDh9O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBjb2xvcjogJHtjb2xvcnMucmVkNjAwfTtcbiAgICB9XG5cbiAgICAuc3VtbWFyeVRleHQge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBjb2xvcjogJHtjb2xvcnMuZ3JleTcwMH07XG4gICAgfVxuXG4gICAgLmRlc2VsZWN0QnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogJHtzcGFjZXJzLmRwOH07XG4gICAgfVxuYDtcbiJdfQ==
|
|
@@ -0,0 +1,6 @@
|
|
|
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 './ouIdHelper';
|
|
5
|
+
export * from './ouLevelUtils';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3IvY29tcG9uZW50cy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzREFBc0Q7QUFDdEQscURBQXFEO0FBQ3JELGlEQUFpRDtBQUNqRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjMgVURTTSBESElTMiBMYWIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZVxuLy8gbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLlxuZXhwb3J0ICogZnJvbSAnLi9vdUlkSGVscGVyJztcbmV4cG9ydCAqIGZyb20gJy4vb3VMZXZlbFV0aWxzJztcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const LEVEL_ID_PREFIX = 'LEVEL';
|
|
2
|
+
const GROUP_ID_PREFIX = 'OU_GROUP';
|
|
3
|
+
export const USER_ORG_UNIT = 'USER_ORGUNIT';
|
|
4
|
+
export const USER_ORG_UNIT_CHILDREN = 'USER_ORGUNIT_CHILDREN';
|
|
5
|
+
export const USER_ORG_UNIT_GRANDCHILDREN = 'USER_ORGUNIT_GRANDCHILDREN';
|
|
6
|
+
const hasGroupPrefix = (id) => id.substr(0, GROUP_ID_PREFIX.length) === GROUP_ID_PREFIX;
|
|
7
|
+
const hasLevelPrefix = (id) => id.substr(0, LEVEL_ID_PREFIX.length) === LEVEL_ID_PREFIX;
|
|
8
|
+
const stripLevelPrefix = (id) => hasLevelPrefix(id) ? id.substr(LEVEL_ID_PREFIX.length + 1) : id;
|
|
9
|
+
const stripGroupPrefix = (id) => hasGroupPrefix(id) ? id.substr(GROUP_ID_PREFIX.length + 1) : id;
|
|
10
|
+
const removePrefix = (id) => stripGroupPrefix(stripLevelPrefix(id));
|
|
11
|
+
export const ouIdHelper = Object.freeze({
|
|
12
|
+
addLevelPrefix: (id) => `${LEVEL_ID_PREFIX}-${removePrefix(id)}`,
|
|
13
|
+
addGroupPrefix: (id) => `${GROUP_ID_PREFIX}-${removePrefix(id)}`,
|
|
14
|
+
removePrefix,
|
|
15
|
+
hasGroupPrefix,
|
|
16
|
+
hasLevelPrefix,
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3IvY29tcG9uZW50cy91dGlscy9vdUlkSGVscGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQztBQUNoQyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQztBQUM1QyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyx1QkFBdUIsQ0FBQztBQUM5RCxNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyw0QkFBNEIsQ0FBQztBQUV4RSxNQUFNLGNBQWMsR0FBRyxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQ3BDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxlQUFlLENBQUM7QUFFM0QsTUFBTSxjQUFjLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUNwQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxlQUFlLENBQUMsTUFBTSxDQUFDLEtBQUssZUFBZSxDQUFDO0FBRTNELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUN0QyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBRWxFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUN0QyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBRWxFLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTVFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3RDLGNBQWMsRUFBRSxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxlQUFlLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFO0lBQ3hFLGNBQWMsRUFBRSxDQUFDLEVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxlQUFlLElBQUksWUFBWSxDQUFDLEVBQUUsQ0FBQyxFQUFFO0lBQ3hFLFlBQVk7SUFDWixjQUFjO0lBQ2QsY0FBYztDQUNmLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IExFVkVMX0lEX1BSRUZJWCA9ICdMRVZFTCc7XG5jb25zdCBHUk9VUF9JRF9QUkVGSVggPSAnT1VfR1JPVVAnO1xuZXhwb3J0IGNvbnN0IFVTRVJfT1JHX1VOSVQgPSAnVVNFUl9PUkdVTklUJztcbmV4cG9ydCBjb25zdCBVU0VSX09SR19VTklUX0NISUxEUkVOID0gJ1VTRVJfT1JHVU5JVF9DSElMRFJFTic7XG5leHBvcnQgY29uc3QgVVNFUl9PUkdfVU5JVF9HUkFORENISUxEUkVOID0gJ1VTRVJfT1JHVU5JVF9HUkFORENISUxEUkVOJztcblxuY29uc3QgaGFzR3JvdXBQcmVmaXggPSAoaWQ6IHN0cmluZykgPT5cbiAgaWQuc3Vic3RyKDAsIEdST1VQX0lEX1BSRUZJWC5sZW5ndGgpID09PSBHUk9VUF9JRF9QUkVGSVg7XG5cbmNvbnN0IGhhc0xldmVsUHJlZml4ID0gKGlkOiBzdHJpbmcpID0+XG4gIGlkLnN1YnN0cigwLCBMRVZFTF9JRF9QUkVGSVgubGVuZ3RoKSA9PT0gTEVWRUxfSURfUFJFRklYO1xuXG5jb25zdCBzdHJpcExldmVsUHJlZml4ID0gKGlkOiBzdHJpbmcpID0+XG4gIGhhc0xldmVsUHJlZml4KGlkKSA/IGlkLnN1YnN0cihMRVZFTF9JRF9QUkVGSVgubGVuZ3RoICsgMSkgOiBpZDtcblxuY29uc3Qgc3RyaXBHcm91cFByZWZpeCA9IChpZDogc3RyaW5nKSA9PlxuICBoYXNHcm91cFByZWZpeChpZCkgPyBpZC5zdWJzdHIoR1JPVVBfSURfUFJFRklYLmxlbmd0aCArIDEpIDogaWQ7XG5cbmNvbnN0IHJlbW92ZVByZWZpeCA9IChpZDogc3RyaW5nKSA9PiBzdHJpcEdyb3VwUHJlZml4KHN0cmlwTGV2ZWxQcmVmaXgoaWQpKTtcblxuZXhwb3J0IGNvbnN0IG91SWRIZWxwZXIgPSBPYmplY3QuZnJlZXplKHtcbiAgYWRkTGV2ZWxQcmVmaXg6IChpZDogc3RyaW5nKSA9PiBgJHtMRVZFTF9JRF9QUkVGSVh9LSR7cmVtb3ZlUHJlZml4KGlkKX1gLFxuICBhZGRHcm91cFByZWZpeDogKGlkOiBzdHJpbmcpID0+IGAke0dST1VQX0lEX1BSRUZJWH0tJHtyZW1vdmVQcmVmaXgoaWQpfWAsXG4gIHJlbW92ZVByZWZpeCxcbiAgaGFzR3JvdXBQcmVmaXgsXG4gIGhhc0xldmVsUHJlZml4LFxufSk7XG4iXX0=
|
package/esm2022/lib/modules/organisation-unit-selector/components/utils/ouLevelUtils/index.mjs
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DIMENSION_ID_ORGUNIT, dimensionGetItems, layoutGetDimension, layoutReplaceDimension, } from '../../../../../shared';
|
|
2
|
+
import { ouIdHelper } from '../ouIdHelper';
|
|
3
|
+
const isOuLevelIntId = (id) => ouIdHelper.hasLevelPrefix(id)
|
|
4
|
+
? Number.isInteger(parseInt(ouIdHelper.removePrefix(id), 10))
|
|
5
|
+
: false;
|
|
6
|
+
const replaceNumericOuLevelWithUid = (ouLevels) => (item) => {
|
|
7
|
+
if (!isOuLevelIntId(item.id)) {
|
|
8
|
+
return item;
|
|
9
|
+
}
|
|
10
|
+
const ouIntId = parseInt(ouIdHelper.removePrefix(item.id), 10);
|
|
11
|
+
const ouUid = ouLevels.find((l) => parseInt(l.level, 10) === ouIntId)?.id;
|
|
12
|
+
return ouUid
|
|
13
|
+
? Object.assign({}, item, { id: ouIdHelper.addLevelPrefix(ouUid) })
|
|
14
|
+
: item;
|
|
15
|
+
};
|
|
16
|
+
export const convertOuLevelsToUids = (ouLevels, layout) => {
|
|
17
|
+
const ouDimension = layoutGetDimension(layout, DIMENSION_ID_ORGUNIT);
|
|
18
|
+
const hasNumericOuLevels = ouDimension &&
|
|
19
|
+
dimensionGetItems(ouDimension).some((item) => isOuLevelIntId(item.id));
|
|
20
|
+
if (hasNumericOuLevels) {
|
|
21
|
+
const replaceNumericOuLevel = replaceNumericOuLevelWithUid(ouLevels);
|
|
22
|
+
const updatedOuItems = dimensionGetItems(ouDimension).map(replaceNumericOuLevel);
|
|
23
|
+
return layoutReplaceDimension(layout, DIMENSION_ID_ORGUNIT, updatedOuItems);
|
|
24
|
+
}
|
|
25
|
+
return layout;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3IvY29tcG9uZW50cy91dGlscy9vdUxldmVsVXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLHNCQUFzQixHQUN2QixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsTUFBTSxjQUFjLEdBQUcsQ0FBQyxFQUFVLEVBQUUsRUFBRSxDQUNwQyxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztJQUMzQixDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDLENBQUMsS0FBSyxDQUFDO0FBRVosTUFBTSw0QkFBNEIsR0FBRyxDQUFDLFFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRTtJQUNwRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQ3pCLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxPQUFPLENBQzlDLEVBQUUsRUFBRSxDQUFDO0lBRU4sT0FBTyxLQUFLO1FBQ1YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDbkUsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNYLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsUUFBYSxFQUFFLE1BQVcsRUFBRSxFQUFFO0lBQ2xFLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sa0JBQWtCLEdBQ3RCLFdBQVc7UUFDWCxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU5RSxJQUFJLGtCQUFrQixFQUFFO1FBQ3RCLE1BQU0scUJBQXFCLEdBQUcsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFckUsTUFBTSxjQUFjLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxDQUN2RCxxQkFBcUIsQ0FDdEIsQ0FBQztRQUVGLE9BQU8sc0JBQXNCLENBQUMsTUFBTSxFQUFFLG9CQUFvQixFQUFFLGNBQWMsQ0FBQyxDQUFDO0tBQzdFO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRElNRU5TSU9OX0lEX09SR1VOSVQsXG4gIGRpbWVuc2lvbkdldEl0ZW1zLFxuICBsYXlvdXRHZXREaW1lbnNpb24sXG4gIGxheW91dFJlcGxhY2VEaW1lbnNpb24sXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZCc7XG5cbmltcG9ydCB7IG91SWRIZWxwZXIgfSBmcm9tICcuLi9vdUlkSGVscGVyJztcblxuY29uc3QgaXNPdUxldmVsSW50SWQgPSAoaWQ6IHN0cmluZykgPT5cbiAgb3VJZEhlbHBlci5oYXNMZXZlbFByZWZpeChpZClcbiAgICA/IE51bWJlci5pc0ludGVnZXIocGFyc2VJbnQob3VJZEhlbHBlci5yZW1vdmVQcmVmaXgoaWQpLCAxMCkpXG4gICAgOiBmYWxzZTtcblxuY29uc3QgcmVwbGFjZU51bWVyaWNPdUxldmVsV2l0aFVpZCA9IChvdUxldmVsczogYW55KSA9PiAoaXRlbTogYW55KSA9PiB7XG4gIGlmICghaXNPdUxldmVsSW50SWQoaXRlbS5pZCkpIHtcbiAgICByZXR1cm4gaXRlbTtcbiAgfVxuXG4gIGNvbnN0IG91SW50SWQgPSBwYXJzZUludChvdUlkSGVscGVyLnJlbW92ZVByZWZpeChpdGVtLmlkKSwgMTApO1xuICBjb25zdCBvdVVpZCA9IG91TGV2ZWxzLmZpbmQoXG4gICAgKGw6IGFueSkgPT4gcGFyc2VJbnQobC5sZXZlbCwgMTApID09PSBvdUludElkXG4gICk/LmlkO1xuXG4gIHJldHVybiBvdVVpZFxuICAgID8gT2JqZWN0LmFzc2lnbih7fSwgaXRlbSwgeyBpZDogb3VJZEhlbHBlci5hZGRMZXZlbFByZWZpeChvdVVpZCkgfSlcbiAgICA6IGl0ZW07XG59O1xuXG5leHBvcnQgY29uc3QgY29udmVydE91TGV2ZWxzVG9VaWRzID0gKG91TGV2ZWxzOiBhbnksIGxheW91dDogYW55KSA9PiB7XG4gIGNvbnN0IG91RGltZW5zaW9uID0gbGF5b3V0R2V0RGltZW5zaW9uKGxheW91dCwgRElNRU5TSU9OX0lEX09SR1VOSVQpO1xuXG4gIGNvbnN0IGhhc051bWVyaWNPdUxldmVscyA9XG4gICAgb3VEaW1lbnNpb24gJiZcbiAgICBkaW1lbnNpb25HZXRJdGVtcyhvdURpbWVuc2lvbikuc29tZSgoaXRlbTogYW55KSA9PiBpc091TGV2ZWxJbnRJZChpdGVtLmlkKSk7XG5cbiAgaWYgKGhhc051bWVyaWNPdUxldmVscykge1xuICAgIGNvbnN0IHJlcGxhY2VOdW1lcmljT3VMZXZlbCA9IHJlcGxhY2VOdW1lcmljT3VMZXZlbFdpdGhVaWQob3VMZXZlbHMpO1xuXG4gICAgY29uc3QgdXBkYXRlZE91SXRlbXMgPSBkaW1lbnNpb25HZXRJdGVtcyhvdURpbWVuc2lvbikubWFwKFxuICAgICAgcmVwbGFjZU51bWVyaWNPdUxldmVsXG4gICAgKTtcblxuICAgIHJldHVybiBsYXlvdXRSZXBsYWNlRGltZW5zaW9uKGxheW91dCwgRElNRU5TSU9OX0lEX09SR1VOSVQsIHVwZGF0ZWRPdUl0ZW1zKTtcbiAgfVxuXG4gIHJldHVybiBsYXlvdXQ7XG59O1xuIl19
|
|
@@ -0,0 +1,6 @@
|
|
|
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 * from './organisation-unit-selector.component';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELHFEQUFxRDtBQUNyRCxpREFBaUQ7QUFDakQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjMgVURTTSBESElTMiBMYWIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4vLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZVxuLy8gbGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLlxuZXhwb3J0ICogZnJvbSAnLi9vcmdhbmlzYXRpb24tdW5pdC1zZWxlY3Rvci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vcmdhbmlzYXRpb24tdW5pdC1zZWxlY3Rvci5jb21wb25lbnQnO1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9uZy1kaGlzMi11aS9zcmMvbGliL21vZHVsZXMvb3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3IvbW9kZWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNEQUFzRDtBQUN0RCxxREFBcUQ7QUFDckQsaURBQWlEO0FBQ2pELGNBQWMsa0NBQWtDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyMyBVRFNNIERISVMyIExhYi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbi8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlXG4vLyBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuXG5leHBvcnQgKiBmcm9tICcuL29yZ2FuaXNhdGlvbi11bml0LWNvbmZpZy5tb2RlbCc7XG4iXX0=
|
package/esm2022/lib/modules/organisation-unit-selector/models/organisation-unit-config.model.mjs
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9uLXVuaXQtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbmctZGhpczItdWkvc3JjL2xpYi9tb2R1bGVzL29yZ2FuaXNhdGlvbi11bml0LXNlbGVjdG9yL21vZGVscy9vcmdhbmlzYXRpb24tdW5pdC1jb25maWcubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELHFEQUFxRDtBQUNyRCxpREFBaUQ7QUFHakQsTUFBTSxPQUFPLCtCQUErQjtJQVUxQyxZQUFZLE1BQWlEO1FBQzNELElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxFQUFFLGVBQWUsSUFBSSxLQUFLLENBQUM7UUFDeEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxNQUFNLEVBQUUsZUFBZSxJQUFJLEtBQUssQ0FBQztRQUN4RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxFQUFFLGdCQUFnQixJQUFJLEtBQUssQ0FBQztRQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sRUFBRSxTQUFTLElBQUksWUFBWSxDQUFDO1FBQ25ELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxFQUFFLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxFQUFFLG9CQUFvQixJQUFJLEtBQUssQ0FBQztRQUNsRSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sRUFBRSxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQztJQUM3RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyMyBVRFNNIERISVMyIExhYi4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbi8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlXG4vLyBsaWNlbnNlIHRoYXQgY2FuIGJlIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuXG5cbmV4cG9ydCB0eXBlIE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25Vc2FnZVR5cGUgPSAnREFUQV9FTlRSWScgfCAnREFUQV9WSUVXJztcbmV4cG9ydCBjbGFzcyBPcmdhbmlzYXRpb25Vbml0U2VsZWN0aW9uQ29uZmlnIHtcbiAgaGlkZUdyb3VwU2VsZWN0ITogYm9vbGVhbjtcbiAgaGlkZUxldmVsU2VsZWN0ITogYm9vbGVhbjtcbiAgaGlkZVVzZXJPcmdVbml0cyE6IGJvb2xlYW47XG4gIHVzYWdlVHlwZSE6IE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25Vc2FnZVR5cGU7XG4gIG1pbkxldmVsPzogbnVtYmVyO1xuICBhbGxvd1NpbmdsZVNlbGVjdGlvbj86IGJvb2xlYW47XG4gIGJhdGNoU2l6ZT86IG51bWJlcjtcbiAgYWRkaXRpb25hbFF1ZXJ5RmllbGRzPzogc3RyaW5nW107XG5cbiAgY29uc3RydWN0b3IocGFyYW1zPzogUGFydGlhbDxPcmdhbmlzYXRpb25Vbml0U2VsZWN0aW9uQ29uZmlnPikge1xuICAgIHRoaXMuaGlkZUdyb3VwU2VsZWN0ID0gcGFyYW1zPy5oaWRlR3JvdXBTZWxlY3QgfHwgZmFsc2U7XG4gICAgdGhpcy5oaWRlTGV2ZWxTZWxlY3QgPSBwYXJhbXM/LmhpZGVMZXZlbFNlbGVjdCB8fCBmYWxzZTtcbiAgICB0aGlzLmhpZGVVc2VyT3JnVW5pdHMgPSBwYXJhbXM/LmhpZGVVc2VyT3JnVW5pdHMgfHwgZmFsc2U7XG4gICAgdGhpcy51c2FnZVR5cGUgPSBwYXJhbXM/LnVzYWdlVHlwZSB8fCAnREFUQV9FTlRSWSc7XG4gICAgdGhpcy5taW5MZXZlbCA9IHBhcmFtcz8ubWluTGV2ZWw7XG4gICAgdGhpcy5hbGxvd1NpbmdsZVNlbGVjdGlvbiA9IHBhcmFtcz8uYWxsb3dTaW5nbGVTZWxlY3Rpb24gfHwgZmFsc2U7XG4gICAgdGhpcy5iYXRjaFNpemUgPSBwYXJhbXM/LmJhdGNoU2l6ZTtcbiAgICB0aGlzLmFkZGl0aW9uYWxRdWVyeUZpZWxkcyA9IHBhcmFtcz8uYWRkaXRpb25hbFF1ZXJ5RmllbGRzO1xuICB9XG59XG4iXX0=
|