@iapps/ng-dhis2-ui 1.1.8 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/iapps-ng-dhis2-ui.mjs +22 -19
- package/fesm2022/iapps-ng-dhis2-ui.mjs.map +1 -1
- package/lib/modules/form/utils/field-type.util.d.ts +1 -1
- package/lib/modules/form/utils/field.util.d.ts +1 -1
- package/lib/modules/selection-filters-ui/containers/selection-filters-ui/selection-filters-ui.component.d.ts +4 -4
- package/lib/modules/selection-filters-ui/models/selection-filters-ui.model.d.ts +20 -14
- package/package.json +1 -1
|
@@ -5400,8 +5400,8 @@ class SelectionFiltersComponent extends ReactWrapperModule {
|
|
|
5400
5400
|
constructor() {
|
|
5401
5401
|
super(...arguments);
|
|
5402
5402
|
this.actionOptions = [];
|
|
5403
|
-
this.
|
|
5404
|
-
this.
|
|
5403
|
+
this.programAttributesFilters = [];
|
|
5404
|
+
this.programStageDataElementFilters = [];
|
|
5405
5405
|
this.actionSelected = new EventEmitter();
|
|
5406
5406
|
this.httpClient = inject(NgxDhis2HttpClientService);
|
|
5407
5407
|
this.ngZone = inject(NgZone);
|
|
@@ -5446,8 +5446,8 @@ class SelectionFiltersComponent extends ReactWrapperModule {
|
|
|
5446
5446
|
this.selectedOrgUnit$ = toObservable(this.selectedOrgUnit);
|
|
5447
5447
|
this.SelectionFiltersUI = () => {
|
|
5448
5448
|
const [filters, setFilters] = useState({
|
|
5449
|
-
|
|
5450
|
-
|
|
5449
|
+
programAttributesFilters: this.programAttributesFilters || [],
|
|
5450
|
+
programStageDataElementFilters: this.programStageDataElementFilters || [],
|
|
5451
5451
|
organizationUnitId: '',
|
|
5452
5452
|
startDate: this.startDate || '',
|
|
5453
5453
|
endDate: this.endDate || '',
|
|
@@ -5460,36 +5460,39 @@ class SelectionFiltersComponent extends ReactWrapperModule {
|
|
|
5460
5460
|
const [value, setValue] = useState(null);
|
|
5461
5461
|
useEffect(() => {
|
|
5462
5462
|
setFilters({
|
|
5463
|
-
|
|
5464
|
-
|
|
5463
|
+
programAttributesFilters: this.programAttributesFilters,
|
|
5464
|
+
programStageDataElementFilters: this.programStageDataElementFilters,
|
|
5465
5465
|
organizationUnitId: '',
|
|
5466
5466
|
startDate: this.startDate || '',
|
|
5467
5467
|
endDate: this.endDate || '',
|
|
5468
5468
|
});
|
|
5469
5469
|
}, [
|
|
5470
|
-
this.
|
|
5471
|
-
this.
|
|
5470
|
+
this.programAttributesFilters,
|
|
5471
|
+
this.programStageDataElementFilters,
|
|
5472
5472
|
this.startDate,
|
|
5473
5473
|
this.endDate,
|
|
5474
5474
|
]);
|
|
5475
5475
|
const handleAttributeChange = (index, selectedValue) => {
|
|
5476
5476
|
setFilters((prevFilters) => {
|
|
5477
|
-
const updatedFilters = [...prevFilters.
|
|
5477
|
+
const updatedFilters = [...prevFilters.programAttributesFilters];
|
|
5478
5478
|
updatedFilters[index] = {
|
|
5479
5479
|
...updatedFilters[index],
|
|
5480
5480
|
value: selectedValue,
|
|
5481
5481
|
};
|
|
5482
|
-
return { ...prevFilters,
|
|
5482
|
+
return { ...prevFilters, programAttributesFilters: updatedFilters };
|
|
5483
5483
|
});
|
|
5484
5484
|
};
|
|
5485
5485
|
const handleDataElementChange = (index, selectedValue) => {
|
|
5486
5486
|
setFilters((prevFilters) => {
|
|
5487
|
-
const updatedFilters = [...prevFilters.
|
|
5487
|
+
const updatedFilters = [...prevFilters.programStageDataElementFilters];
|
|
5488
5488
|
updatedFilters[index] = {
|
|
5489
5489
|
...updatedFilters[index],
|
|
5490
5490
|
value: selectedValue,
|
|
5491
5491
|
};
|
|
5492
|
-
return {
|
|
5492
|
+
return {
|
|
5493
|
+
...prevFilters,
|
|
5494
|
+
programStageDataElementFilters: updatedFilters,
|
|
5495
|
+
};
|
|
5493
5496
|
});
|
|
5494
5497
|
};
|
|
5495
5498
|
const handleSearch = () => {
|
|
@@ -5502,7 +5505,7 @@ class SelectionFiltersComponent extends ReactWrapperModule {
|
|
|
5502
5505
|
});
|
|
5503
5506
|
};
|
|
5504
5507
|
const getAttributeColumnSpan = (index) => {
|
|
5505
|
-
const totalItems = filters.
|
|
5508
|
+
const totalItems = filters.programAttributesFilters.length;
|
|
5506
5509
|
if (totalItems <= 4) {
|
|
5507
5510
|
if (totalItems === 1) {
|
|
5508
5511
|
return 'span 4';
|
|
@@ -5532,7 +5535,7 @@ class SelectionFiltersComponent extends ReactWrapperModule {
|
|
|
5532
5535
|
return 'span 1';
|
|
5533
5536
|
};
|
|
5534
5537
|
const getDataElementColumnSpan = (index) => {
|
|
5535
|
-
const totalItems = filters.
|
|
5538
|
+
const totalItems = filters.programStageDataElementFilters.length;
|
|
5536
5539
|
if (totalItems <= 4) {
|
|
5537
5540
|
if (totalItems === 1) {
|
|
5538
5541
|
return 'span 4';
|
|
@@ -5611,12 +5614,12 @@ class SelectionFiltersComponent extends ReactWrapperModule {
|
|
|
5611
5614
|
display: 'grid',
|
|
5612
5615
|
gridTemplateColumns: 'repeat(4, 1fr)',
|
|
5613
5616
|
gap: '16px',
|
|
5614
|
-
} }, filters.
|
|
5617
|
+
} }, filters.programAttributesFilters.map((filter, index) => (React__default.createElement("div", { key: index, style: { gridColumn: getAttributeColumnSpan(index) } }, filter.hasOptions && filter.options.length > 0 ? (React__default.createElement(SingleSelectField, { className: "single-select", label: filter.name || 'Select Option', selected: filter.value, onChange: (event) => handleAttributeChange(index, event.selected) }, filter.options.map((option, i) => (React__default.createElement(SingleSelectOption, { key: i, label: option.name, value: option.id }))))) : (React__default.createElement(InputField$1, { className: "input-field", label: filter.name || 'Program name', value: filter.value, onChange: (event) => handleAttributeChange(index, event.value) })))))),
|
|
5615
5618
|
React__default.createElement("div", { style: {
|
|
5616
5619
|
display: 'grid',
|
|
5617
5620
|
gridTemplateColumns: 'repeat(4, 1fr)',
|
|
5618
5621
|
gap: '16px',
|
|
5619
|
-
} }, filters.
|
|
5622
|
+
} }, filters.programStageDataElementFilters.map((filter, index) => (React__default.createElement("div", { key: index, style: { gridColumn: getDataElementColumnSpan(index) } }, filter.hasOptions && filter.options.length > 0 ? (React__default.createElement(SingleSelectField, { className: "single-select", label: filter.name || 'Aggregation type', selected: filter.value, onChange: (event) => handleDataElementChange(index, event.selected) }, filter.options.map((option, i) => (React__default.createElement(SingleSelectOption, { key: i, label: option.name, value: option.id }))))) : (React__default.createElement(InputField$1, { className: "input-field", label: filter.name || 'Program name', value: filter.value, onChange: (event) => handleDataElementChange(index, event.value) })))))),
|
|
5620
5623
|
React__default.createElement("div", { style: { textAlign: 'right', marginTop: '16px' } },
|
|
5621
5624
|
React__default.createElement(Button$1, { onClick: handleSearch }, "Search"))));
|
|
5622
5625
|
};
|
|
@@ -5672,16 +5675,16 @@ class SelectionFiltersComponent extends ReactWrapperModule {
|
|
|
5672
5675
|
this.render();
|
|
5673
5676
|
}
|
|
5674
5677
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: SelectionFiltersComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
5675
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: SelectionFiltersComponent, isStandalone: false, selector: "app-selection-filters-ui", inputs: { actionOptions: "actionOptions",
|
|
5678
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.8", type: SelectionFiltersComponent, isStandalone: false, selector: "app-selection-filters-ui", inputs: { actionOptions: "actionOptions", programAttributesFilters: "programAttributesFilters", programStageDataElementFilters: "programStageDataElementFilters", startDate: "startDate", endDate: "endDate" }, outputs: { actionSelected: "actionSelected" }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".react-filters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}.input-field,.single-select{width:100%}\n"] }); }
|
|
5676
5679
|
}
|
|
5677
5680
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.8", ngImport: i0, type: SelectionFiltersComponent, decorators: [{
|
|
5678
5681
|
type: Component,
|
|
5679
5682
|
args: [{ selector: 'app-selection-filters-ui', template: '<ng-content></ng-content>', standalone: false, styles: [".react-filters-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}.input-field,.single-select{width:100%}\n"] }]
|
|
5680
5683
|
}], propDecorators: { actionOptions: [{
|
|
5681
5684
|
type: Input
|
|
5682
|
-
}],
|
|
5685
|
+
}], programAttributesFilters: [{
|
|
5683
5686
|
type: Input
|
|
5684
|
-
}],
|
|
5687
|
+
}], programStageDataElementFilters: [{
|
|
5685
5688
|
type: Input
|
|
5686
5689
|
}], startDate: [{
|
|
5687
5690
|
type: Input
|