@iapps/ng-dhis2-ui 1.0.4 → 1.0.7

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.
Files changed (106) hide show
  1. package/README.md +60 -3
  2. package/esm2022/iapps-ng-dhis2-ui.mjs +1 -1
  3. package/esm2022/index.mjs +1 -2
  4. package/esm2022/lib/modules/button/button.component.mjs +14 -9
  5. package/esm2022/lib/modules/button/button.module.mjs +5 -5
  6. package/esm2022/lib/modules/button/index.mjs +1 -1
  7. package/esm2022/lib/modules/header-bar/header-bar.component.mjs +5 -5
  8. package/esm2022/lib/modules/header-bar/header-bar.module.mjs +5 -5
  9. package/esm2022/lib/modules/header-bar/index.mjs +1 -1
  10. package/esm2022/lib/modules/header-bar/models/header-bar-app.model.mjs +1 -1
  11. package/esm2022/lib/modules/header-bar/models/header-bar-data.model.mjs +1 -1
  12. package/esm2022/lib/modules/header-bar/models/header-bar-notification.model.mjs +1 -1
  13. package/esm2022/lib/modules/header-bar/models/index.mjs +1 -1
  14. package/esm2022/lib/modules/header-bar/utils/apps.mjs +1 -1
  15. package/esm2022/lib/modules/header-bar/utils/debug-info/debug-info-menu-item.mjs +14 -14
  16. package/esm2022/lib/modules/header-bar/utils/debug-info/debug-info-modal.mjs +1 -1
  17. package/esm2022/lib/modules/header-bar/utils/debug-info/debug-info-table.mjs +15 -15
  18. package/esm2022/lib/modules/header-bar/utils/debug-info/use-debug-info.mjs +1 -1
  19. package/esm2022/lib/modules/header-bar/utils/header-bar-context.mjs +2 -2
  20. package/esm2022/lib/modules/header-bar/utils/header-bar.mjs +1 -1
  21. package/esm2022/lib/modules/header-bar/utils/join-path.mjs +1 -1
  22. package/esm2022/lib/modules/header-bar/utils/logo-image.mjs +24 -24
  23. package/esm2022/lib/modules/header-bar/utils/logo.mjs +1 -1
  24. package/esm2022/lib/modules/header-bar/utils/notification-icon.mjs +47 -47
  25. package/esm2022/lib/modules/header-bar/utils/notifications.mjs +10 -10
  26. package/esm2022/lib/modules/header-bar/utils/profile/use-on-doc-click.mjs +1 -1
  27. package/esm2022/lib/modules/header-bar/utils/profile-menu/index.mjs +1 -1
  28. package/esm2022/lib/modules/header-bar/utils/profile-menu/profile-header.mjs +37 -37
  29. package/esm2022/lib/modules/header-bar/utils/profile-menu/profile-menu.mjs +28 -28
  30. package/esm2022/lib/modules/header-bar/utils/profile-menu/update-notification.mjs +24 -24
  31. package/esm2022/lib/modules/header-bar/utils/profile.mjs +25 -25
  32. package/esm2022/lib/modules/header-bar/utils/title.mjs +1 -1
  33. package/esm2022/lib/modules/organisation-unit-selector/components/OrgUnitDimension.mjs +14 -10
  34. package/esm2022/lib/modules/organisation-unit-selector/components/index.mjs +1 -1
  35. package/esm2022/lib/modules/organisation-unit-selector/components/styles/OrgUnitDimension.style.mjs +1 -1
  36. package/esm2022/lib/modules/organisation-unit-selector/components/utils/index.mjs +1 -1
  37. package/esm2022/lib/modules/organisation-unit-selector/components/utils/ouIdHelper/index.mjs +2 -2
  38. package/esm2022/lib/modules/organisation-unit-selector/components/utils/ouLevelUtils/index.mjs +1 -1
  39. package/esm2022/lib/modules/organisation-unit-selector/containers/organisation-unit-selector/organisation-unit-selector.component.mjs +91 -0
  40. package/esm2022/lib/modules/organisation-unit-selector/containers/organisation-unit-selector-modal/organisation-unit-selector-modal.component-modal.mjs +114 -0
  41. package/esm2022/lib/modules/organisation-unit-selector/index.mjs +3 -2
  42. package/esm2022/lib/modules/organisation-unit-selector/models/index.mjs +1 -1
  43. package/esm2022/lib/modules/organisation-unit-selector/models/organisation-unit-config.model.mjs +1 -1
  44. package/esm2022/lib/modules/organisation-unit-selector/organisation-unit-selector.module.mjs +17 -8
  45. package/esm2022/lib/modules/period-selector/components/FixedPeriodFilter.mjs +1 -1
  46. package/esm2022/lib/modules/period-selector/components/PeriodDimension.mjs +1 -1
  47. package/esm2022/lib/modules/period-selector/components/PeriodTransfer.mjs +1 -1
  48. package/esm2022/lib/modules/period-selector/components/RelativePeriodFilter.mjs +1 -1
  49. package/esm2022/lib/modules/period-selector/components/utils/fixedPeriods.mjs +17 -17
  50. package/esm2022/lib/modules/period-selector/components/utils/index.mjs +1 -1
  51. package/esm2022/lib/modules/period-selector/components/utils/periodTypes.mjs +1 -1
  52. package/esm2022/lib/modules/period-selector/components/utils/relativePeriods.mjs +1 -1
  53. package/esm2022/lib/modules/period-selector/containers/period-selector/period-selector.component.mjs +69 -0
  54. package/esm2022/lib/modules/period-selector/containers/period-selector-modal/period-selector-modal.component.mjs +82 -0
  55. package/esm2022/lib/modules/period-selector/index.mjs +3 -2
  56. package/esm2022/lib/modules/period-selector/period-selector.module.mjs +10 -9
  57. package/esm2022/lib/modules/react-wrapper/index.mjs +1 -1
  58. package/esm2022/lib/modules/react-wrapper/react-wrapper.component.mjs +17 -17
  59. package/esm2022/lib/modules/react-wrapper/react-wrapper.module.mjs +5 -5
  60. package/esm2022/lib/shared/assets/AssignedCategoriesIcon.mjs +1 -1
  61. package/esm2022/lib/shared/assets/DimensionItemIcons/PeriodIcon.mjs +1 -1
  62. package/esm2022/lib/shared/components/TransferOption.mjs +1 -1
  63. package/esm2022/lib/shared/components/index.mjs +1 -1
  64. package/esm2022/lib/shared/index.mjs +1 -1
  65. package/esm2022/lib/shared/shared.module.mjs +5 -5
  66. package/esm2022/lib/shared/styles/DimensionSelector.style.mjs +1 -1
  67. package/esm2022/lib/shared/styles/index.mjs +1 -1
  68. package/esm2022/lib/shared/utils/axis.mjs +1 -1
  69. package/esm2022/lib/shared/utils/axisGetDimension.mjs +1 -1
  70. package/esm2022/lib/shared/utils/axisHasDimension.mjs +1 -1
  71. package/esm2022/lib/shared/utils/dimension.mjs +1 -1
  72. package/esm2022/lib/shared/utils/dimensionGetItems.mjs +1 -1
  73. package/esm2022/lib/shared/utils/dimensionIs.mjs +1 -1
  74. package/esm2022/lib/shared/utils/dimensionIsEmpty.mjs +1 -1
  75. package/esm2022/lib/shared/utils/dimensionIsValid.mjs +3 -2
  76. package/esm2022/lib/shared/utils/dimensionSelectorHelper.mjs +1 -1
  77. package/esm2022/lib/shared/utils/index.mjs +1 -1
  78. package/esm2022/lib/shared/utils/layoutGetAllAxes.mjs +1 -1
  79. package/esm2022/lib/shared/utils/layoutGetAllDimensions.mjs +1 -1
  80. package/esm2022/lib/shared/utils/layoutGetDimension.mjs +1 -1
  81. package/esm2022/lib/shared/utils/layoutReplaceDimension.mjs +1 -1
  82. package/esm2022/lib/shared/utils/list.mjs +1 -1
  83. package/esm2022/lib/shared/utils/predefinedDimensions.mjs +3 -1
  84. package/fesm2022/iapps-ng-dhis2-ui.mjs +516 -332
  85. package/fesm2022/iapps-ng-dhis2-ui.mjs.map +1 -1
  86. package/index.d.ts +0 -1
  87. package/lib/modules/button/button.component.d.ts +1 -2
  88. package/lib/modules/organisation-unit-selector/{organisation-unit-selector.component.d.ts → containers/organisation-unit-selector/organisation-unit-selector.component.d.ts} +5 -4
  89. package/lib/modules/organisation-unit-selector/containers/organisation-unit-selector-modal/organisation-unit-selector-modal.component-modal.d.ts +31 -0
  90. package/lib/modules/organisation-unit-selector/index.d.ts +2 -1
  91. package/lib/modules/organisation-unit-selector/organisation-unit-selector.module.d.ts +5 -4
  92. package/lib/modules/period-selector/{period-selector.component.d.ts → containers/period-selector/period-selector.component.d.ts} +4 -3
  93. package/lib/modules/period-selector/containers/period-selector-modal/period-selector-modal.component.d.ts +17 -0
  94. package/lib/modules/period-selector/index.d.ts +2 -1
  95. package/lib/modules/period-selector/period-selector.module.d.ts +5 -4
  96. package/lib/modules/react-wrapper/react-wrapper.component.d.ts +1 -2
  97. package/lib/shared/utils/axis.d.ts +1 -1
  98. package/lib/shared/utils/dimension.d.ts +20 -10
  99. package/lib/shared/utils/dimensionIsEmpty.d.ts +3 -1
  100. package/lib/shared/utils/dimensionIsValid.d.ts +3 -1
  101. package/lib/shared/utils/predefinedDimensions.d.ts +2 -0
  102. package/package.json +1 -2
  103. package/esm2022/lib/modules/organisation-unit-selector/organisation-unit-selector.component.mjs +0 -88
  104. package/esm2022/lib/modules/period-selector/period-selector.component.mjs +0 -66
  105. package/esm2022/lib/ng-dhis2-ui.module.mjs +0 -15
  106. package/lib/ng-dhis2-ui.module.d.ts +0 -7
package/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- export * from './lib/ng-dhis2-ui.module';
2
1
  export * from './lib/modules/header-bar';
3
2
  export * from './lib/modules/button';
4
3
  export * from './lib/modules/period-selector';
@@ -10,8 +10,7 @@ export declare class ButtonComponent extends ReactWrapperComponent {
10
10
  small?: boolean;
11
11
  large?: boolean;
12
12
  buttonClick: EventEmitter<any>;
13
- props: Record<string, unknown>;
14
- component: any;
13
+ ngAfterViewInit(): Promise<void>;
15
14
  ngOnInit(): void;
16
15
  onButtonClick(event: any): void;
17
16
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
@@ -1,7 +1,7 @@
1
- import { ElementRef, EventEmitter } from '@angular/core';
1
+ import { ElementRef, EventEmitter, NgZone } from '@angular/core';
2
2
  import { NgxDhis2HttpClientService } from '@iapps/ngx-dhis2-http-client';
3
- import { OrganisationUnitSelectionConfig, OrganisationUnitSelectionUsageType } from './models';
4
- import { ReactWrapperComponent } from '../react-wrapper';
3
+ import { ReactWrapperComponent } from '../../../react-wrapper';
4
+ import { OrganisationUnitSelectionConfig, OrganisationUnitSelectionUsageType } from '../../models';
5
5
  import * as i0 from "@angular/core";
6
6
  type OrganisationUnitSelectionEvent = {
7
7
  dimensionId: string;
@@ -9,11 +9,12 @@ type OrganisationUnitSelectionEvent = {
9
9
  };
10
10
  export declare class OrganisationUnitSelectorComponent extends ReactWrapperComponent {
11
11
  private httpClient;
12
+ private ngZone;
12
13
  selectedOrgUnits: any[];
13
14
  orgUnitSelectionConfig: OrganisationUnitSelectionConfig;
14
15
  selectOrgUnits: EventEmitter<any>;
15
16
  props: Record<string, unknown>;
16
- constructor(elementRef: ElementRef<HTMLElement>, httpClient: NgxDhis2HttpClientService);
17
+ constructor(elementRef: ElementRef<HTMLElement>, httpClient: NgxDhis2HttpClientService, ngZone: NgZone);
17
18
  ngAfterViewInit(): Promise<void>;
18
19
  private getAppConfig;
19
20
  getOrgUnitAttributeByUsage(usageType: OrganisationUnitSelectionUsageType): "organisationUnits" | "dataViewOrganisationUnits";
@@ -0,0 +1,31 @@
1
+ import { ElementRef, EventEmitter } from '@angular/core';
2
+ import { NgxDhis2HttpClientService } from '@iapps/ngx-dhis2-http-client';
3
+ import { ReactWrapperComponent } from '../../../react-wrapper';
4
+ import { OrganisationUnitSelectionConfig, OrganisationUnitSelectionUsageType } from '../../models';
5
+ import * as i0 from "@angular/core";
6
+ type OrganisationUnitSelectionEvent = {
7
+ dimensionId: string;
8
+ items: Record<string, unknown>[];
9
+ };
10
+ export declare class OrganisationUnitSelectorModalComponent extends ReactWrapperComponent {
11
+ private httpClient;
12
+ selectedOrgUnits: any[];
13
+ orgUnitSelectionConfig: OrganisationUnitSelectionConfig;
14
+ selectOrgUnits: EventEmitter<any>;
15
+ cancel: EventEmitter<any>;
16
+ confirm: EventEmitter<any>;
17
+ props: Record<string, unknown>;
18
+ constructor(elementRef: ElementRef<HTMLElement>, httpClient: NgxDhis2HttpClientService);
19
+ ngAfterViewInit(): Promise<void>;
20
+ onCancel(): void;
21
+ onConfirm(selectedItems: any[]): void;
22
+ private getAppConfig;
23
+ getOrgUnitAttributeByUsage(usageType: OrganisationUnitSelectionUsageType): "organisationUnits" | "dataViewOrganisationUnits";
24
+ getRootOrgUnits(): Promise<string[]>;
25
+ getOrgUnitGroups(): Promise<any>;
26
+ getOrgUnitLevels(): Promise<any>;
27
+ onSelectItems(selectionEvent: OrganisationUnitSelectionEvent): void;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<OrganisationUnitSelectorModalComponent, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<OrganisationUnitSelectorModalComponent, "ng-dhis2-ui-org-unit-selector-modal", never, { "selectedOrgUnits": { "alias": "selectedOrgUnits"; "required": false; }; "orgUnitSelectionConfig": { "alias": "orgUnitSelectionConfig"; "required": false; }; }, { "selectOrgUnits": "selectOrgUnits"; "cancel": "cancel"; "confirm": "confirm"; }, never, never, false, never>;
30
+ }
31
+ export {};
@@ -1,2 +1,3 @@
1
1
  export * from './organisation-unit-selector.module';
2
- export * from './organisation-unit-selector.component';
2
+ export { OrganisationUnitSelectorComponent } from './containers/organisation-unit-selector/organisation-unit-selector.component';
3
+ export { OrganisationUnitSelectorModalComponent } from './containers/organisation-unit-selector-modal/organisation-unit-selector-modal.component-modal';
@@ -1,9 +1,10 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./organisation-unit-selector.component.tsx";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "../../shared/shared.module";
2
+ import * as i1 from "./containers/organisation-unit-selector/organisation-unit-selector.component.tsx";
3
+ import * as i2 from "./containers/organisation-unit-selector-modal/organisation-unit-selector-modal.component-modal.tsx";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "../../shared/shared.module";
5
6
  export declare class OrganisationUnitSelectorModule {
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<OrganisationUnitSelectorModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<OrganisationUnitSelectorModule, [typeof i1.OrganisationUnitSelectorComponent], [typeof i2.CommonModule, typeof i3.SharedDhis2UiModule], [typeof i1.OrganisationUnitSelectorComponent]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<OrganisationUnitSelectorModule, [typeof i1.OrganisationUnitSelectorComponent, typeof i2.OrganisationUnitSelectorModalComponent], [typeof i3.CommonModule, typeof i4.SharedDhis2UiModule], [typeof i1.OrganisationUnitSelectorComponent, typeof i2.OrganisationUnitSelectorModalComponent]>;
8
9
  static ɵinj: i0.ɵɵInjectorDeclaration<OrganisationUnitSelectorModule>;
9
10
  }
@@ -1,6 +1,6 @@
1
- import { ElementRef, EventEmitter } from '@angular/core';
1
+ import { ElementRef, EventEmitter, NgZone } from '@angular/core';
2
2
  import { NgxDhis2HttpClientService } from '@iapps/ngx-dhis2-http-client';
3
- import { ReactWrapperComponent } from '../react-wrapper/react-wrapper.component';
3
+ import { ReactWrapperComponent } from '../../../react-wrapper/react-wrapper.component';
4
4
  import * as i0 from "@angular/core";
5
5
  type PeriodSelectionEvent = {
6
6
  dimensionId: string;
@@ -8,10 +8,11 @@ type PeriodSelectionEvent = {
8
8
  };
9
9
  export declare class PeriodSelectorComponent extends ReactWrapperComponent {
10
10
  private httpClient;
11
+ private ngZone;
11
12
  selectedPeriods: any[];
12
13
  selectPeriods: EventEmitter<any>;
13
14
  props: Record<string, unknown>;
14
- constructor(elementRef: ElementRef<HTMLElement>, httpClient: NgxDhis2HttpClientService);
15
+ constructor(elementRef: ElementRef<HTMLElement>, httpClient: NgxDhis2HttpClientService, ngZone: NgZone);
15
16
  ngAfterViewInit(): Promise<void>;
16
17
  onSelectItems(selectionEvent: PeriodSelectionEvent): void;
17
18
  getExcludedPeriodTypes: (systemSettings?: any) => any[];
@@ -0,0 +1,17 @@
1
+ import { ElementRef, EventEmitter } from '@angular/core';
2
+ import { NgxDhis2HttpClientService } from '@iapps/ngx-dhis2-http-client';
3
+ import { ReactWrapperComponent } from '../../../react-wrapper/react-wrapper.component';
4
+ import * as i0 from "@angular/core";
5
+ export declare class PeriodSelectorModalComponent extends ReactWrapperComponent {
6
+ private httpClient;
7
+ selectedPeriods: any[];
8
+ cancel: EventEmitter<any>;
9
+ confirm: EventEmitter<any>;
10
+ constructor(elementRef: ElementRef<HTMLElement>, httpClient: NgxDhis2HttpClientService);
11
+ ngAfterViewInit(): Promise<void>;
12
+ onCancel(): void;
13
+ onConfirm(selectedItems: any[]): void;
14
+ getExcludedPeriodTypes: (systemSettings?: any) => any[];
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<PeriodSelectorModalComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<PeriodSelectorModalComponent, "ng-dhis2-ui-period-selector-modal", never, { "selectedPeriods": { "alias": "selectedPeriods"; "required": false; }; }, { "cancel": "cancel"; "confirm": "confirm"; }, never, never, false, never>;
17
+ }
@@ -1,2 +1,3 @@
1
1
  export * from './period-selector.module';
2
- export * from './period-selector.component';
2
+ export { PeriodSelectorComponent } from './containers/period-selector/period-selector.component';
3
+ export { PeriodSelectorModalComponent } from './containers/period-selector-modal/period-selector-modal.component';
@@ -1,9 +1,10 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./period-selector.component.tsx";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "../../shared/shared.module";
2
+ import * as i1 from "./containers/period-selector/period-selector.component.tsx";
3
+ import * as i2 from "./containers/period-selector-modal/period-selector-modal.component.tsx";
4
+ import * as i3 from "@angular/common";
5
+ import * as i4 from "../../shared/shared.module";
5
6
  export declare class PeriodSelectorModule {
6
7
  static ɵfac: i0.ɵɵFactoryDeclaration<PeriodSelectorModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<PeriodSelectorModule, [typeof i1.PeriodSelectorComponent], [typeof i2.CommonModule, typeof i3.SharedDhis2UiModule], [typeof i1.PeriodSelectorComponent]>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PeriodSelectorModule, [typeof i1.PeriodSelectorComponent, typeof i2.PeriodSelectorModalComponent], [typeof i3.CommonModule, typeof i4.SharedDhis2UiModule], [typeof i1.PeriodSelectorComponent, typeof i2.PeriodSelectorModalComponent]>;
8
9
  static ɵinj: i0.ɵɵInjectorDeclaration<PeriodSelectorModule>;
9
10
  }
@@ -1,12 +1,11 @@
1
1
  import { AfterViewInit, ElementRef, OnChanges, OnDestroy } from '@angular/core';
2
- import * as React from 'react';
3
2
  import { ComponentProps } from 'react';
4
3
  import * as ReactDOM from 'react-dom/client';
5
4
  import * as i0 from "@angular/core";
6
5
  export declare class ReactWrapperComponent implements OnChanges, OnDestroy, AfterViewInit {
7
6
  protected elementRef: ElementRef<HTMLElement>;
8
7
  props?: ComponentProps<any>;
9
- component: React.ElementType;
8
+ component: any;
10
9
  content: ElementRef<HTMLElement>;
11
10
  protected reactDomRoot?: ReactDOM.Root;
12
11
  constructor(elementRef: ElementRef<HTMLElement>);
@@ -1,6 +1,6 @@
1
1
  export declare const AXIS: {
2
2
  defaultValue: any[];
3
- isValid: (axis: any) => boolean;
3
+ isValid: (axis: any) => axis is any[];
4
4
  };
5
5
  export declare const AXIS_ID_COLUMNS = "columns";
6
6
  export declare const AXIS_ID_ROWS = "rows";
@@ -1,45 +1,55 @@
1
1
  export declare const DIMENSION: {
2
- isValid: (dimension: any) => boolean;
2
+ isValid: (dimension: any) => dimension is object;
3
3
  };
4
4
  export declare const DIMENSION_PROP_ID: {
5
5
  name: string;
6
6
  defaultValue: string;
7
7
  required: boolean;
8
- isValid: (prop: any) => boolean;
8
+ isValid: (prop: any) => prop is string;
9
9
  };
10
10
  export declare const DIMENSION_PROP_ITEMS: {
11
11
  name: string;
12
12
  defaultValue: any[];
13
13
  required: boolean;
14
- isValid: (prop: any) => boolean;
14
+ isValid: (prop: any) => prop is any[];
15
15
  };
16
16
  export declare const DIMENSION_PROP_FILTER: {
17
17
  name: string;
18
18
  defaultValue: any[];
19
19
  required: boolean;
20
- isValid: (prop: any) => boolean;
20
+ isValid: (prop: any) => prop is string;
21
21
  };
22
22
  export declare const DIMENSION_PROP_LEGEND_SET: {
23
23
  name: string;
24
24
  defaultValue: any[];
25
25
  required: boolean;
26
- isValid: (prop: any) => boolean;
26
+ isValid: (prop: any) => prop is string;
27
27
  };
28
28
  export declare const DIMENSION_PROP_PROGRAM_STAGE: {
29
29
  name: string;
30
30
  defaultValue: {};
31
31
  required: boolean;
32
- isValid: (prop: any) => boolean;
32
+ isValid: (prop: any) => prop is object;
33
33
  };
34
34
  export declare const DIMENSION_PROP_REPETITION: {
35
35
  name: string;
36
36
  defaultValue: any[];
37
37
  required: boolean;
38
- isValid: (prop: any) => boolean;
38
+ isValid: (prop: any) => prop is any[];
39
39
  };
40
- export declare const DIMENSION_PROPS: {
40
+ export declare const DIMENSION_PROPS: ({
41
+ name: string;
42
+ defaultValue: string;
43
+ required: boolean;
44
+ isValid: (prop: any) => prop is string;
45
+ } | {
46
+ name: string;
47
+ defaultValue: any[];
48
+ required: boolean;
49
+ isValid: (prop: any) => prop is string;
50
+ } | {
41
51
  name: string;
42
52
  defaultValue: {};
43
53
  required: boolean;
44
- isValid: (prop: any) => boolean;
45
- }[];
54
+ isValid: (prop: any) => prop is object;
55
+ })[];
@@ -1 +1,3 @@
1
- export declare const dimensionIsEmpty: (dimension: any) => boolean;
1
+ export declare const dimensionIsEmpty: (dimension: {
2
+ [x: string]: any[];
3
+ }) => boolean;
@@ -1 +1,3 @@
1
- export declare const dimensionIsValid: (dimension: any, { requireItems }?: any) => boolean;
1
+ export declare const dimensionIsValid: (dimension: {
2
+ [x: string]: unknown;
3
+ }, { requireItems }?: any) => boolean;
@@ -2,6 +2,8 @@ import React from 'react';
2
2
  export declare const DIMENSION_ID_DATA = "dx";
3
3
  export declare const DIMENSION_ID_PERIOD = "pe";
4
4
  export declare const DIMENSION_ID_ORGUNIT = "ou";
5
+ export declare const DIMENSION_ID_ORGUNIT_LEVEL = "ouLevel";
6
+ export declare const DIMENSION_ID_ORGUNIT_GROUP = "ouGroup";
5
7
  export declare const DIMENSION_ID_ASSIGNED_CATEGORIES = "co";
6
8
  export declare const DIMENSION_PROP_NO_ITEMS = "noItems";
7
9
  export declare const getFixedDimensions: () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@iapps/ng-dhis2-ui",
3
- "version": "1.0.4",
3
+ "version": "1.0.7",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^16.2.0",
6
6
  "@angular/core": "^16.2.0",
@@ -9,7 +9,6 @@
9
9
  "@dhis2/d2-i18n": "^1.1.2",
10
10
  "@dhis2/pwa": "^10.3.10",
11
11
  "@dhis2/ui": "^8.14.9",
12
- "@iapps/ngx-dhis2-http-client": "^3.0.0-alpha.3",
13
12
  "dexie": "^3.2.4",
14
13
  "html-react-parser": "^5.0.6",
15
14
  "react": "^18.2.0",
@@ -1,88 +0,0 @@
1
- import { Component, ElementRef, EventEmitter, Input, Output, } from '@angular/core';
2
- import { NgxDhis2HttpClientService } from '@iapps/ngx-dhis2-http-client';
3
- import React from 'react';
4
- import * as ReactDOM from 'react-dom/client';
5
- import { firstValueFrom, map } from 'rxjs';
6
- import { Provider } from '@dhis2/app-runtime';
7
- import OrgUnitDimension from './components/OrgUnitDimension';
8
- import { OrganisationUnitSelectionConfig, } from './models';
9
- import { ReactWrapperComponent } from '../react-wrapper';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@iapps/ngx-dhis2-http-client";
12
- export class OrganisationUnitSelectorComponent extends ReactWrapperComponent {
13
- constructor(elementRef, httpClient) {
14
- super(elementRef);
15
- this.httpClient = httpClient;
16
- this.selectedOrgUnits = [];
17
- this.orgUnitSelectionConfig = new OrganisationUnitSelectionConfig();
18
- this.selectOrgUnits = new EventEmitter();
19
- this.props = {
20
- onSelect: (e) => {
21
- this.onSelectItems(e);
22
- },
23
- };
24
- }
25
- async ngAfterViewInit() {
26
- if (!this.elementRef)
27
- throw new Error('No element ref');
28
- this.reactDomRoot = ReactDOM.createRoot(this.elementRef.nativeElement);
29
- const rootOrgUnits = await this.getRootOrgUnits();
30
- const config = await this.getAppConfig();
31
- this.component = () => (React.createElement(Provider, { config: config }, React.createElement(OrgUnitDimension, { selected: this.selectedOrgUnits, hideGroupSelect: this.orgUnitSelectionConfig.hideGroupSelect, hideLevelSelect: this.orgUnitSelectionConfig.hideLevelSelect, hideUserOrgUnits: this.orgUnitSelectionConfig.hideUserOrgUnits, onSelect: (selectionEvent) => this.onSelectItems(selectionEvent), orgUnitGroupPromise: this.getOrgUnitGroups(), orgUnitLevelPromise: this.getOrgUnitLevels(), roots: rootOrgUnits })));
32
- this.render();
33
- }
34
- async getAppConfig() {
35
- const systemInfo = (await firstValueFrom(this.httpClient.systemInfo()));
36
- return {
37
- baseUrl: (document?.location?.host?.includes('localhost')
38
- ? `${document.location.protocol}//${document.location.host}`
39
- : systemInfo['contextPath']),
40
- apiVersion: Number(((systemInfo['version'] || '')?.split('.') || [])[1]),
41
- };
42
- }
43
- getOrgUnitAttributeByUsage(usageType) {
44
- switch (usageType) {
45
- case 'DATA_ENTRY':
46
- return 'organisationUnits';
47
- case 'DATA_VIEW':
48
- return 'dataViewOrganisationUnits';
49
- default:
50
- return 'organisationUnits';
51
- }
52
- }
53
- getRootOrgUnits() {
54
- const orgUnitAttribute = this.getOrgUnitAttributeByUsage(this.orgUnitSelectionConfig.usageType);
55
- return firstValueFrom(this.httpClient
56
- .me()
57
- .pipe(map((user) => (user ? user[orgUnitAttribute] : []).map((orgUnit) => orgUnit.id))));
58
- }
59
- getOrgUnitGroups() {
60
- return firstValueFrom(this.httpClient
61
- .get('organisationUnitGroups.json?fields=id,displayName,name&paging=false')
62
- .pipe(map((res) => res?.['organisationUnitGroups'])));
63
- }
64
- getOrgUnitLevels() {
65
- return firstValueFrom(this.httpClient
66
- .get('organisationUnitLevels.json?fields=id,level,displayName,name&paging=false')
67
- .pipe(map((res) => res?.['organisationUnitLevels'])));
68
- }
69
- onSelectItems(selectionEvent) {
70
- this.selectOrgUnits.emit(selectionEvent.items);
71
- }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationUnitSelectorComponent, deps: [{ token: i0.ElementRef }, { token: i1.NgxDhis2HttpClientService }], target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: OrganisationUnitSelectorComponent, selector: "ng-dhis2-ui-org-unit-selector", inputs: { selectedOrgUnits: "selectedOrgUnits", orgUnitSelectionConfig: "orgUnitSelectionConfig" }, outputs: { selectOrgUnits: "selectOrgUnits" }, usesInheritance: true, ngImport: i0, template: '<ng-container><ng-container>', isInline: true }); }
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: OrganisationUnitSelectorComponent, decorators: [{
76
- type: Component,
77
- args: [{
78
- selector: 'ng-dhis2-ui-org-unit-selector',
79
- template: '<ng-container><ng-container>',
80
- }]
81
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgxDhis2HttpClientService }]; }, propDecorators: { selectedOrgUnits: [{
82
- type: Input
83
- }], orgUnitSelectionConfig: [{
84
- type: Input
85
- }], selectOrgUnits: [{
86
- type: Output
87
- }] } });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JnYW5pc2F0aW9uLXVuaXQtc2VsZWN0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbmctZGhpczItdWkvc3JjL2xpYi9tb2R1bGVzL29yZ2FuaXNhdGlvbi11bml0LXNlbGVjdG9yL29yZ2FuaXNhdGlvbi11bml0LXNlbGVjdG9yLmNvbXBvbmVudC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHlCQUF5QixFQUFRLE1BQU0sOEJBQThCLENBQUM7QUFDL0UsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sS0FBSyxRQUFRLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBaUIsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLGdCQUFnQixNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFDTCwrQkFBK0IsR0FFaEMsTUFBTSxVQUFVLENBQUM7QUFDbEIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVd6RCxNQUFNLE9BQU8saUNBQWtDLFNBQVEscUJBQXFCO0lBYTFFLFlBQ0UsVUFBbUMsRUFDM0IsVUFBcUM7UUFFN0MsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRlYsZUFBVSxHQUFWLFVBQVUsQ0FBMkI7UUFkdEMscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQzdCLDJCQUFzQixHQUM3QixJQUFJLCtCQUErQixFQUFFLENBQUM7UUFFOUIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXJDLFVBQUssR0FBNEI7WUFDeEMsUUFBUSxFQUFFLENBQUMsQ0FBTSxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsQ0FBQztTQUNGLENBQUM7SUFPRixDQUFDO0lBRVEsS0FBSyxDQUFDLGVBQWU7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRWxELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FDckIsb0JBQUMsUUFBUSxJQUFDLE1BQU0sRUFBRSxNQUFNLElBRXBCLG9CQUFDLGdCQUFnQixJQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQy9CLGVBQWUsRUFBRSxJQUFJLENBQUMsc0JBQXNCLENBQUMsZUFBZSxFQUM1RCxlQUFlLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsRUFDNUQsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQixDQUFDLGdCQUFnQixFQUM5RCxRQUFRLEVBQUUsQ0FBQyxjQUE4QyxFQUFFLEVBQUUsQ0FDM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFFcEMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQzVDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUM1QyxLQUFLLEVBQUUsWUFBWSxHQUNuQixDQUVLLENBQ1osQ0FBQztRQUVGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU8sS0FBSyxDQUFDLFlBQVk7UUFDeEIsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFNLGNBQWMsQ0FDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FDN0IsQ0FBdUMsQ0FBQztRQUV6QyxPQUFPO1lBQ0wsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQztnQkFDdkQsQ0FBQyxDQUFDLEdBQUcsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7Z0JBQzVELENBQUMsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQVc7WUFDeEMsVUFBVSxFQUFFLE1BQU0sQ0FDaEIsQ0FBQyxDQUFFLFVBQVUsQ0FBQyxTQUFTLENBQVksSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2pFO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxTQUE2QztRQUN0RSxRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLFlBQVk7Z0JBQ2YsT0FBTyxtQkFBbUIsQ0FBQztZQUU3QixLQUFLLFdBQVc7Z0JBQ2QsT0FBTywyQkFBMkIsQ0FBQztZQUVyQztnQkFDRSxPQUFPLG1CQUFtQixDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FDdEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FDdEMsQ0FBQztRQUNGLE9BQU8sY0FBYyxDQUNuQixJQUFJLENBQUMsVUFBVTthQUNaLEVBQUUsRUFBRTthQUNKLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUNqQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUNsRSxDQUNGLENBQ0osQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLGNBQWMsQ0FDbkIsSUFBSSxDQUFDLFVBQVU7YUFDWixHQUFHLENBQ0YscUVBQXFFLENBQ3RFO2FBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEdBQTRCLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FDdkUsQ0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sY0FBYyxDQUNuQixJQUFJLENBQUMsVUFBVTthQUNaLEdBQUcsQ0FDRiwyRUFBMkUsQ0FDNUU7YUFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsR0FBNEIsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUN2RSxDQUNKLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLGNBQThDO1FBQzFELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDOytHQXRIVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQywrT0FGbEMsOEJBQThCOzs0RkFFN0IsaUNBQWlDO2tCQUo3QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFFBQVEsRUFBRSw4QkFBOEI7aUJBQ3pDO3lJQUVVLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBR0ksY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5neERoaXMySHR0cENsaWVudFNlcnZpY2UsIFVzZXIgfSBmcm9tICdAaWFwcHMvbmd4LWRoaXMyLWh0dHAtY2xpZW50JztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgKiBhcyBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20vY2xpZW50JztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBsYXN0VmFsdWVGcm9tLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGRoaXMyL2FwcC1ydW50aW1lJztcbmltcG9ydCBPcmdVbml0RGltZW5zaW9uIGZyb20gJy4vY29tcG9uZW50cy9PcmdVbml0RGltZW5zaW9uJztcbmltcG9ydCB7XG4gIE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25Db25maWcsXG4gIE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25Vc2FnZVR5cGUsXG59IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFJlYWN0V3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL3JlYWN0LXdyYXBwZXInO1xuXG50eXBlIE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25FdmVudCA9IHtcbiAgZGltZW5zaW9uSWQ6IHN0cmluZztcbiAgaXRlbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W107XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1kaGlzMi11aS1vcmctdW5pdC1zZWxlY3RvcicsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRhaW5lcj48bmctY29udGFpbmVyPicsXG59KVxuZXhwb3J0IGNsYXNzIE9yZ2FuaXNhdGlvblVuaXRTZWxlY3RvckNvbXBvbmVudCBleHRlbmRzIFJlYWN0V3JhcHBlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkT3JnVW5pdHM6IGFueVtdID0gW107XG4gIEBJbnB1dCgpIG9yZ1VuaXRTZWxlY3Rpb25Db25maWc6IE9yZ2FuaXNhdGlvblVuaXRTZWxlY3Rpb25Db25maWcgPVxuICAgIG5ldyBPcmdhbmlzYXRpb25Vbml0U2VsZWN0aW9uQ29uZmlnKCk7XG5cbiAgQE91dHB1dCgpIHNlbGVjdE9yZ1VuaXRzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIG92ZXJyaWRlIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICBvblNlbGVjdDogKGU6IGFueSkgPT4ge1xuICAgICAgdGhpcy5vblNlbGVjdEl0ZW1zKGUpO1xuICAgIH0sXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBodHRwQ2xpZW50OiBOZ3hEaGlzMkh0dHBDbGllbnRTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuICB9XG5cbiAgb3ZlcnJpZGUgYXN5bmMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICghdGhpcy5lbGVtZW50UmVmKSB0aHJvdyBuZXcgRXJyb3IoJ05vIGVsZW1lbnQgcmVmJyk7XG4gICAgdGhpcy5yZWFjdERvbVJvb3QgPSBSZWFjdERPTS5jcmVhdGVSb290KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICBjb25zdCByb290T3JnVW5pdHMgPSBhd2FpdCB0aGlzLmdldFJvb3RPcmdVbml0cygpO1xuXG4gICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5nZXRBcHBDb25maWcoKTtcblxuICAgIHRoaXMuY29tcG9uZW50ID0gKCkgPT4gKFxuICAgICAgPFByb3ZpZGVyIGNvbmZpZz17Y29uZmlnfT5cbiAgICAgICAge1xuICAgICAgICAgIDxPcmdVbml0RGltZW5zaW9uXG4gICAgICAgICAgICBzZWxlY3RlZD17dGhpcy5zZWxlY3RlZE9yZ1VuaXRzfVxuICAgICAgICAgICAgaGlkZUdyb3VwU2VsZWN0PXt0aGlzLm9yZ1VuaXRTZWxlY3Rpb25Db25maWcuaGlkZUdyb3VwU2VsZWN0fVxuICAgICAgICAgICAgaGlkZUxldmVsU2VsZWN0PXt0aGlzLm9yZ1VuaXRTZWxlY3Rpb25Db25maWcuaGlkZUxldmVsU2VsZWN0fVxuICAgICAgICAgICAgaGlkZVVzZXJPcmdVbml0cz17dGhpcy5vcmdVbml0U2VsZWN0aW9uQ29uZmlnLmhpZGVVc2VyT3JnVW5pdHN9XG4gICAgICAgICAgICBvblNlbGVjdD17KHNlbGVjdGlvbkV2ZW50OiBPcmdhbmlzYXRpb25Vbml0U2VsZWN0aW9uRXZlbnQpID0+XG4gICAgICAgICAgICAgIHRoaXMub25TZWxlY3RJdGVtcyhzZWxlY3Rpb25FdmVudClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9yZ1VuaXRHcm91cFByb21pc2U9e3RoaXMuZ2V0T3JnVW5pdEdyb3VwcygpfVxuICAgICAgICAgICAgb3JnVW5pdExldmVsUHJvbWlzZT17dGhpcy5nZXRPcmdVbml0TGV2ZWxzKCl9XG4gICAgICAgICAgICByb290cz17cm9vdE9yZ1VuaXRzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvUHJvdmlkZXI+XG4gICAgKTtcblxuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEFwcENvbmZpZygpIHtcbiAgICBjb25zdCBzeXN0ZW1JbmZvID0gKGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwQ2xpZW50LnN5c3RlbUluZm8oKVxuICAgICkpIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbiAgICByZXR1cm4ge1xuICAgICAgYmFzZVVybDogKGRvY3VtZW50Py5sb2NhdGlvbj8uaG9zdD8uaW5jbHVkZXMoJ2xvY2FsaG9zdCcpXG4gICAgICAgID8gYCR7ZG9jdW1lbnQubG9jYXRpb24ucHJvdG9jb2x9Ly8ke2RvY3VtZW50LmxvY2F0aW9uLmhvc3R9YFxuICAgICAgICA6IHN5c3RlbUluZm9bJ2NvbnRleHRQYXRoJ10pIGFzIHN0cmluZyxcbiAgICAgIGFwaVZlcnNpb246IE51bWJlcihcbiAgICAgICAgKCgoc3lzdGVtSW5mb1sndmVyc2lvbiddIGFzIHN0cmluZykgfHwgJycpPy5zcGxpdCgnLicpIHx8IFtdKVsxXVxuICAgICAgKSxcbiAgICB9O1xuICB9XG5cbiAgZ2V0T3JnVW5pdEF0dHJpYnV0ZUJ5VXNhZ2UodXNhZ2VUeXBlOiBPcmdhbmlzYXRpb25Vbml0U2VsZWN0aW9uVXNhZ2VUeXBlKSB7XG4gICAgc3dpdGNoICh1c2FnZVR5cGUpIHtcbiAgICAgIGNhc2UgJ0RBVEFfRU5UUlknOlxuICAgICAgICByZXR1cm4gJ29yZ2FuaXNhdGlvblVuaXRzJztcblxuICAgICAgY2FzZSAnREFUQV9WSUVXJzpcbiAgICAgICAgcmV0dXJuICdkYXRhVmlld09yZ2FuaXNhdGlvblVuaXRzJztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdvcmdhbmlzYXRpb25Vbml0cyc7XG4gICAgfVxuICB9XG5cbiAgZ2V0Um9vdE9yZ1VuaXRzKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBjb25zdCBvcmdVbml0QXR0cmlidXRlID0gdGhpcy5nZXRPcmdVbml0QXR0cmlidXRlQnlVc2FnZShcbiAgICAgIHRoaXMub3JnVW5pdFNlbGVjdGlvbkNvbmZpZy51c2FnZVR5cGVcbiAgICApO1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuaHR0cENsaWVudFxuICAgICAgICAubWUoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHVzZXI6IFVzZXIpID0+XG4gICAgICAgICAgICAodXNlciA/IHVzZXJbb3JnVW5pdEF0dHJpYnV0ZV0gOiBbXSkubWFwKChvcmdVbml0KSA9PiBvcmdVbml0LmlkKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICk7XG4gIH1cblxuICBnZXRPcmdVbml0R3JvdXBzKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5odHRwQ2xpZW50XG4gICAgICAgIC5nZXQoXG4gICAgICAgICAgJ29yZ2FuaXNhdGlvblVuaXRHcm91cHMuanNvbj9maWVsZHM9aWQsZGlzcGxheU5hbWUsbmFtZSZwYWdpbmc9ZmFsc2UnXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiByZXM/Llsnb3JnYW5pc2F0aW9uVW5pdEdyb3VwcyddKVxuICAgICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGdldE9yZ1VuaXRMZXZlbHMoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmh0dHBDbGllbnRcbiAgICAgICAgLmdldChcbiAgICAgICAgICAnb3JnYW5pc2F0aW9uVW5pdExldmVscy5qc29uP2ZpZWxkcz1pZCxsZXZlbCxkaXNwbGF5TmFtZSxuYW1lJnBhZ2luZz1mYWxzZSdcbiAgICAgICAgKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHJlcz8uWydvcmdhbmlzYXRpb25Vbml0TGV2ZWxzJ10pXG4gICAgICAgIClcbiAgICApO1xuICB9XG5cbiAgb25TZWxlY3RJdGVtcyhzZWxlY3Rpb25FdmVudDogT3JnYW5pc2F0aW9uVW5pdFNlbGVjdGlvbkV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RPcmdVbml0cy5lbWl0KHNlbGVjdGlvbkV2ZW50Lml0ZW1zKTtcbiAgfVxufVxuIl19
@@ -1,66 +0,0 @@
1
- import { Component, Input, ElementRef, Output, EventEmitter, } from '@angular/core';
2
- import { DataProvider } from '@dhis2/app-runtime';
3
- import { NgxDhis2HttpClientService } from '@iapps/ngx-dhis2-http-client';
4
- import React from 'react';
5
- import * as ReactDOM from 'react-dom/client';
6
- import { firstValueFrom } from 'rxjs';
7
- import { PeriodDimension } from './components/PeriodDimension';
8
- import { BIMONTHLY, BIWEEKLY, DAILY, MONTHLY, WEEKLY, WEEKLYSAT, WEEKLYSUN, WEEKLYTHU, WEEKLYWED, } from './components/utils';
9
- import { ReactWrapperComponent } from '../react-wrapper/react-wrapper.component';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@iapps/ngx-dhis2-http-client";
12
- export class PeriodSelectorComponent extends ReactWrapperComponent {
13
- constructor(elementRef, httpClient) {
14
- super(elementRef);
15
- this.httpClient = httpClient;
16
- this.selectedPeriods = [];
17
- this.selectPeriods = new EventEmitter();
18
- this.props = {
19
- onSelect: (e) => {
20
- this.onSelectItems(e);
21
- },
22
- };
23
- this.getExcludedPeriodTypes = (systemSettings = {}) => {
24
- const types = [];
25
- if (systemSettings['hideDailyPeriods']) {
26
- types.push(DAILY);
27
- }
28
- if (systemSettings['hideWeeklyPeriods']) {
29
- types.push(WEEKLY, WEEKLYWED, WEEKLYTHU, WEEKLYSAT, WEEKLYSUN);
30
- }
31
- if (systemSettings['hideBiWeeklyPeriods']) {
32
- types.push(BIWEEKLY);
33
- }
34
- if (systemSettings['hideMonthlyPeriods']) {
35
- types.push(MONTHLY);
36
- }
37
- if (systemSettings['hideBiMonthlyPeriods']) {
38
- types.push(BIMONTHLY);
39
- }
40
- return types;
41
- };
42
- }
43
- async ngAfterViewInit() {
44
- if (!this.elementRef)
45
- throw new Error('No element ref');
46
- this.reactDomRoot = ReactDOM.createRoot(this.elementRef.nativeElement);
47
- const systemInfo = await firstValueFrom(this.httpClient.systemInfo());
48
- const excludedPeriodTypes = this.getExcludedPeriodTypes(systemInfo);
49
- this.component = () => (React.createElement(DataProvider, null, React.createElement(PeriodDimension, { selectedPeriods: this.selectedPeriods, onSelect: (selectionEvent) => this.onSelectItems(selectionEvent), excludedPeriodTypes: excludedPeriodTypes, systemInfo: systemInfo })));
50
- this.render();
51
- }
52
- onSelectItems(selectionEvent) {
53
- this.selectPeriods.emit(selectionEvent.items);
54
- }
55
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PeriodSelectorComponent, deps: [{ token: i0.ElementRef }, { token: i1.NgxDhis2HttpClientService }], target: i0.ɵɵFactoryTarget.Component }); }
56
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PeriodSelectorComponent, selector: "ng-dhis2-ui-period-selector", inputs: { selectedPeriods: "selectedPeriods" }, outputs: { selectPeriods: "selectPeriods" }, usesInheritance: true, ngImport: i0, template: `<ng-container></ng-container>`, isInline: true, styles: ["::ng-deep .content-container{z-index:0!important}\n"] }); }
57
- }
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PeriodSelectorComponent, decorators: [{
59
- type: Component,
60
- args: [{ selector: 'ng-dhis2-ui-period-selector', template: `<ng-container></ng-container>`, styles: ["::ng-deep .content-container{z-index:0!important}\n"] }]
61
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.NgxDhis2HttpClientService }]; }, propDecorators: { selectedPeriods: [{
62
- type: Input
63
- }], selectPeriods: [{
64
- type: Output
65
- }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyaW9kLXNlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL25nLWRoaXMyLXVpL3NyYy9saWIvbW9kdWxlcy9wZXJpb2Qtc2VsZWN0b3IvcGVyaW9kLXNlbGVjdG9yLmNvbXBvbmVudC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsVUFBVSxFQUNWLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEtBQUssUUFBUSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLEVBQ1AsTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7QUFrQmpGLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxxQkFBcUI7SUFXaEUsWUFDRSxVQUFtQyxFQUMzQixVQUFxQztRQUU3QyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7UUFGVixlQUFVLEdBQVYsVUFBVSxDQUEyQjtRQVp0QyxvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUUzQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFcEMsVUFBSyxHQUE0QjtZQUN4QyxRQUFRLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQztRQW9DRiwyQkFBc0IsR0FBRyxDQUFDLGlCQUFzQixFQUFFLEVBQUUsRUFBRTtZQUNwRCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDakIsSUFBSSxjQUFjLENBQUMsa0JBQWtCLENBQUMsRUFBRTtnQkFDdEMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNuQjtZQUNELElBQUksY0FBYyxDQUFDLG1CQUFtQixDQUFDLEVBQUU7Z0JBQ3ZDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2FBQ2hFO1lBQ0QsSUFBSSxjQUFjLENBQUMscUJBQXFCLENBQUMsRUFBRTtnQkFDekMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUN0QjtZQUNELElBQUksY0FBYyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7Z0JBQ3hDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDckI7WUFDRCxJQUFJLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFO2dCQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3ZCO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7SUEvQ0YsQ0FBQztJQUVRLEtBQUssQ0FBQyxlQUFlO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RSxNQUFNLFVBQVUsR0FBRyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDdEUsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUNyQixvQkFBQyxZQUFZLFFBRVQsb0JBQUMsZUFBZSxJQUNkLGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUNyQyxRQUFRLEVBQUUsQ0FBQyxjQUFvQyxFQUFFLEVBQUUsQ0FDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsRUFFcEMsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQ3hDLFVBQVUsRUFBRSxVQUFVLEdBQ3RCLENBRVMsQ0FDaEIsQ0FBQztRQUNGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRUQsYUFBYSxDQUFDLGNBQW9DO1FBQ2hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDOytHQTNDVSx1QkFBdUI7bUdBQXZCLHVCQUF1Qix1TEFUeEIsK0JBQStCOzs0RkFTOUIsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNFLDZCQUE2QixZQUM3QiwrQkFBK0I7eUlBVWhDLGVBQWU7c0JBQXZCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIEVsZW1lbnRSZWYsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFQcm92aWRlciB9IGZyb20gJ0BkaGlzMi9hcHAtcnVudGltZSc7XG5pbXBvcnQgeyBOZ3hEaGlzMkh0dHBDbGllbnRTZXJ2aWNlIH0gZnJvbSAnQGlhcHBzL25neC1kaGlzMi1odHRwLWNsaWVudCc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tL2NsaWVudCc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUGVyaW9kRGltZW5zaW9uIH0gZnJvbSAnLi9jb21wb25lbnRzL1BlcmlvZERpbWVuc2lvbic7XG5pbXBvcnQge1xuICBCSU1PTlRITFksXG4gIEJJV0VFS0xZLFxuICBEQUlMWSxcbiAgTU9OVEhMWSxcbiAgV0VFS0xZLFxuICBXRUVLTFlTQVQsXG4gIFdFRUtMWVNVTixcbiAgV0VFS0xZVEhVLFxuICBXRUVLTFlXRUQsXG59IGZyb20gJy4vY29tcG9uZW50cy91dGlscyc7XG5pbXBvcnQgeyBSZWFjdFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi9yZWFjdC13cmFwcGVyL3JlYWN0LXdyYXBwZXIuY29tcG9uZW50JztcblxudHlwZSBQZXJpb2RTZWxlY3Rpb25FdmVudCA9IHtcbiAgZGltZW5zaW9uSWQ6IHN0cmluZztcbiAgaXRlbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+W107XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1kaGlzMi11aS1wZXJpb2Qtc2VsZWN0b3InLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250YWluZXI+PC9uZy1jb250YWluZXI+YCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOjpuZy1kZWVwIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHotaW5kZXg6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXJpb2RTZWxlY3RvckNvbXBvbmVudCBleHRlbmRzIFJlYWN0V3JhcHBlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkUGVyaW9kczogYW55W10gPSBbXTtcblxuICBAT3V0cHV0KCkgc2VsZWN0UGVyaW9kcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBvdmVycmlkZSBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG4gICAgb25TZWxlY3Q6IChlOiBhbnkpID0+IHtcbiAgICAgIHRoaXMub25TZWxlY3RJdGVtcyhlKTtcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgaHR0cENsaWVudDogTmd4RGhpczJIdHRwQ2xpZW50U2VydmljZVxuICApIHtcbiAgICBzdXBlcihlbGVtZW50UmVmKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudFJlZikgdGhyb3cgbmV3IEVycm9yKCdObyBlbGVtZW50IHJlZicpO1xuICAgIHRoaXMucmVhY3REb21Sb290ID0gUmVhY3RET00uY3JlYXRlUm9vdCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgY29uc3Qgc3lzdGVtSW5mbyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaHR0cENsaWVudC5zeXN0ZW1JbmZvKCkpO1xuICAgIGNvbnN0IGV4Y2x1ZGVkUGVyaW9kVHlwZXMgPSB0aGlzLmdldEV4Y2x1ZGVkUGVyaW9kVHlwZXMoc3lzdGVtSW5mbyk7XG5cbiAgICB0aGlzLmNvbXBvbmVudCA9ICgpID0+IChcbiAgICAgIDxEYXRhUHJvdmlkZXI+XG4gICAgICAgIHtcbiAgICAgICAgICA8UGVyaW9kRGltZW5zaW9uXG4gICAgICAgICAgICBzZWxlY3RlZFBlcmlvZHM9e3RoaXMuc2VsZWN0ZWRQZXJpb2RzfVxuICAgICAgICAgICAgb25TZWxlY3Q9eyhzZWxlY3Rpb25FdmVudDogUGVyaW9kU2VsZWN0aW9uRXZlbnQpID0+XG4gICAgICAgICAgICAgIHRoaXMub25TZWxlY3RJdGVtcyhzZWxlY3Rpb25FdmVudClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGV4Y2x1ZGVkUGVyaW9kVHlwZXM9e2V4Y2x1ZGVkUGVyaW9kVHlwZXN9XG4gICAgICAgICAgICBzeXN0ZW1JbmZvPXtzeXN0ZW1JbmZvfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvRGF0YVByb3ZpZGVyPlxuICAgICk7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIG9uU2VsZWN0SXRlbXMoc2VsZWN0aW9uRXZlbnQ6IFBlcmlvZFNlbGVjdGlvbkV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RQZXJpb2RzLmVtaXQoc2VsZWN0aW9uRXZlbnQuaXRlbXMpO1xuICB9XG5cbiAgZ2V0RXhjbHVkZWRQZXJpb2RUeXBlcyA9IChzeXN0ZW1TZXR0aW5nczogYW55ID0ge30pID0+IHtcbiAgICBjb25zdCB0eXBlcyA9IFtdO1xuICAgIGlmIChzeXN0ZW1TZXR0aW5nc1snaGlkZURhaWx5UGVyaW9kcyddKSB7XG4gICAgICB0eXBlcy5wdXNoKERBSUxZKTtcbiAgICB9XG4gICAgaWYgKHN5c3RlbVNldHRpbmdzWydoaWRlV2Vla2x5UGVyaW9kcyddKSB7XG4gICAgICB0eXBlcy5wdXNoKFdFRUtMWSwgV0VFS0xZV0VELCBXRUVLTFlUSFUsIFdFRUtMWVNBVCwgV0VFS0xZU1VOKTtcbiAgICB9XG4gICAgaWYgKHN5c3RlbVNldHRpbmdzWydoaWRlQmlXZWVrbHlQZXJpb2RzJ10pIHtcbiAgICAgIHR5cGVzLnB1c2goQklXRUVLTFkpO1xuICAgIH1cbiAgICBpZiAoc3lzdGVtU2V0dGluZ3NbJ2hpZGVNb250aGx5UGVyaW9kcyddKSB7XG4gICAgICB0eXBlcy5wdXNoKE1PTlRITFkpO1xuICAgIH1cbiAgICBpZiAoc3lzdGVtU2V0dGluZ3NbJ2hpZGVCaU1vbnRobHlQZXJpb2RzJ10pIHtcbiAgICAgIHR5cGVzLnB1c2goQklNT05USExZKTtcbiAgICB9XG4gICAgcmV0dXJuIHR5cGVzO1xuICB9O1xufVxuIl19
@@ -1,15 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- export class NgDhis2UiModule {
5
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgDhis2UiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NgDhis2UiModule, imports: [CommonModule] }); }
7
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgDhis2UiModule, imports: [CommonModule] }); }
8
- }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgDhis2UiModule, decorators: [{
10
- type: NgModule,
11
- args: [{
12
- imports: [CommonModule],
13
- }]
14
- }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctZGhpczItdWkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbmctZGhpczItdWkvc3JjL2xpYi9uZy1kaGlzMi11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBSy9DLE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxZQUZoQixZQUFZO2dIQUVYLGVBQWUsWUFGaEIsWUFBWTs7NEZBRVgsZUFBZTtrQkFIM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ0RoaXMyVWlNb2R1bGUge31cbiJdfQ==
@@ -1,7 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/common";
3
- export declare class NgDhis2UiModule {
4
- static ɵfac: i0.ɵɵFactoryDeclaration<NgDhis2UiModule, never>;
5
- static ɵmod: i0.ɵɵNgModuleDeclaration<NgDhis2UiModule, never, [typeof i1.CommonModule], never>;
6
- static ɵinj: i0.ɵɵInjectorDeclaration<NgDhis2UiModule>;
7
- }