@iapps/ng-dhis2-ui 1.3.7 → 1.3.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.
|
@@ -3233,18 +3233,20 @@ const orgUnitFieldStyles$1 = {
|
|
|
3233
3233
|
},
|
|
3234
3234
|
};
|
|
3235
3235
|
const OrgUnitFormField$1 = (props) => {
|
|
3236
|
-
const { onSelectOrgUnit, label, required, selected, disabled, key } = props;
|
|
3236
|
+
const { onSelectOrgUnit, label, required, selected, disabled, key, customOrgUnitRoots, multiple = false, selectedPaths, } = props;
|
|
3237
3237
|
const d2 = window?.d2Web;
|
|
3238
3238
|
const classes = useDynamicStyles$2(orgUnitFieldStyles$1);
|
|
3239
3239
|
const config = useMemo(() => {
|
|
3240
3240
|
return d2.systemInfo?.toInitObject();
|
|
3241
3241
|
}, []);
|
|
3242
3242
|
const rootOrgUnits = useMemo(() => {
|
|
3243
|
-
return
|
|
3244
|
-
|
|
3243
|
+
return (customOrgUnitRoots?.map((id) => ({ id: `/${id}`, path: `/${id}` })) ??
|
|
3244
|
+
d2.currentUser?.organisationUnits ??
|
|
3245
|
+
[]);
|
|
3246
|
+
}, [customOrgUnitRoots]);
|
|
3245
3247
|
const getExpandedItems = () => {
|
|
3246
3248
|
if (rootOrgUnits && rootOrgUnits.length === 1) {
|
|
3247
|
-
return [
|
|
3249
|
+
return [`${rootOrgUnits[0].path}`];
|
|
3248
3250
|
}
|
|
3249
3251
|
else if (rootOrgUnits?.length > 1) {
|
|
3250
3252
|
return rootOrgUnits.map((root) => root.path);
|
|
@@ -3278,11 +3280,14 @@ const OrgUnitFormField$1 = (props) => {
|
|
|
3278
3280
|
}
|
|
3279
3281
|
}, []);
|
|
3280
3282
|
const highlighted = useMemo(() => {
|
|
3283
|
+
if (selectedPaths !== undefined) {
|
|
3284
|
+
return selectedPaths;
|
|
3285
|
+
}
|
|
3281
3286
|
if (selectedOrgUnit) {
|
|
3282
3287
|
return [selectedOrgUnit['path']];
|
|
3283
3288
|
}
|
|
3284
3289
|
return undefined;
|
|
3285
|
-
}, [selectedOrgUnit]);
|
|
3290
|
+
}, [selectedPaths, selectedOrgUnit]);
|
|
3286
3291
|
const selectedOrgUnitLabel = useMemo(() => {
|
|
3287
3292
|
if (selectedOrgUnit) {
|
|
3288
3293
|
return [
|
|
@@ -3300,13 +3305,7 @@ const OrgUnitFormField$1 = (props) => {
|
|
|
3300
3305
|
}
|
|
3301
3306
|
};
|
|
3302
3307
|
const handleCollapse = ({ path }) => {
|
|
3303
|
-
|
|
3304
|
-
if (pathIndex && pathIndex !== -1 && expanded) {
|
|
3305
|
-
const updatedExpanded = pathIndex === 0
|
|
3306
|
-
? expanded.slice(1)
|
|
3307
|
-
: [...expanded.slice(0, pathIndex), ...expanded.slice(pathIndex + 1)];
|
|
3308
|
-
setExpanded(updatedExpanded);
|
|
3309
|
-
}
|
|
3308
|
+
setExpanded((previous) => previous?.filter((item) => item !== path));
|
|
3310
3309
|
};
|
|
3311
3310
|
const handleOrgUnitSearch = async (query) => {
|
|
3312
3311
|
setSearchLoading(true);
|
|
@@ -3335,15 +3334,15 @@ const OrgUnitFormField$1 = (props) => {
|
|
|
3335
3334
|
return (React__default.createElement("div", { className: classes.orgUnitTreeLoader },
|
|
3336
3335
|
React__default.createElement(CircularLoader$1, { small: true })));
|
|
3337
3336
|
}
|
|
3338
|
-
return (ready && (React__default.createElement(OrganisationUnitTree, { key: `${key}-search`, roots: searchData?.map((orgUnit) => orgUnit.id) || [], singleSelection:
|
|
3337
|
+
return (ready && (React__default.createElement(OrganisationUnitTree, { key: `${key}-search`, roots: searchData?.map((orgUnit) => orgUnit.id) || [], singleSelection: !multiple, expanded: expanded, handleExpand: handleExpand, handleCollapse: handleCollapse, selected: highlighted, onChange: (event) => {
|
|
3339
3338
|
setSelectedOrgUnit(event);
|
|
3340
|
-
setShowOrgUnitTree(
|
|
3339
|
+
setShowOrgUnitTree(multiple);
|
|
3341
3340
|
onSelectOrgUnit(event);
|
|
3342
3341
|
} })));
|
|
3343
3342
|
}
|
|
3344
|
-
return (React__default.createElement(OrganisationUnitTree, { key: key, roots: rootOrgUnits?.map((orgUnit) => orgUnit.id) || [], singleSelection:
|
|
3343
|
+
return (React__default.createElement(OrganisationUnitTree, { key: key, roots: rootOrgUnits?.map((orgUnit) => orgUnit.id) || [], singleSelection: !multiple, expanded: expanded, handleExpand: handleExpand, handleCollapse: handleCollapse, selected: highlighted, onChange: (event) => {
|
|
3345
3344
|
setSelectedOrgUnit(event);
|
|
3346
|
-
setShowOrgUnitTree(
|
|
3345
|
+
setShowOrgUnitTree(multiple);
|
|
3347
3346
|
onSelectOrgUnit(event);
|
|
3348
3347
|
} }));
|
|
3349
3348
|
};
|
|
@@ -3355,7 +3354,7 @@ const OrgUnitFormField$1 = (props) => {
|
|
|
3355
3354
|
label && (React__default.createElement("div", { className: classes.orgUnitFieldLabel },
|
|
3356
3355
|
React__default.createElement("span", null, label),
|
|
3357
3356
|
required ? (React__default.createElement("span", { className: classes.orgUnitFieldRequiredLabel }, "*")) : (React__default.createElement(React__default.Fragment, null)))),
|
|
3358
|
-
!showOrgUnitTree ? (selectedOrgUnit ? (React__default.createElement(React__default.Fragment, null,
|
|
3357
|
+
!multiple && !showOrgUnitTree ? (selectedOrgUnit ? (React__default.createElement(React__default.Fragment, null,
|
|
3359
3358
|
React__default.createElement(Tooltip, { content: selectedOrgUnitLabel },
|
|
3360
3359
|
React__default.createElement(Chip, { onRemove: () => {
|
|
3361
3360
|
setShowOrgUnitTree(true);
|
|
@@ -3367,19 +3366,27 @@ const OrgUnitFormField$1 = (props) => {
|
|
|
3367
3366
|
React__default.createElement(CircularLoader$1, { small: true }))) : (React__default.createElement("div", { className: classes.orgUnitTreeContainer, style: { maxHeight: '200px', overflowY: 'auto' } }, renderOrgUnitTree()))))))));
|
|
3368
3367
|
};
|
|
3369
3368
|
|
|
3370
|
-
const
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
|
|
3376
|
-
|
|
3377
|
-
|
|
3378
|
-
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3369
|
+
const FilterToolbar = ({ orgUnit: { customOrgUnitRoots, allowMultipleOrgUnits, showOrgUnitMode = false, appliedOrgUnits: appliedOrgUnitsProp, setAppliedOrgUnits, selectedOrgUnits: selectedOrgUnitsProp, setSelectedOrgUnits, orgUnitLabel, handleOrgUnitFilter, appliedOrgUnitMode, selectedOrgUnitMode, defaultOrgUnitMode, setSelectedOrgUnitMode, handleOrgUnitModeReset, }, dates: { startDateState, setStartDateState, endDateState, setEndDateState, setTempStartDateState, setTempEndDateState, tempStartDateState, tempEndDateState, showEnrollmentDates, handleStartDateFilter, handleEndDateFilter, }, filters: { visibleFilters, dateStates, inputValues, setInputValues, handleInputChange, handleInputChangeForSelectField, handleDateSelect, showAllFilters, setShowAllFilters, dataQueryFiltersState, setDataQueryFiltersState, handleAdditionalFilters, setDateStates, prevInputValues, setPrevInputValues, setTempDataQueryFiltersState, prevDateStates, setPrevDateStates, }, }) => {
|
|
3370
|
+
const selectedOrgUnits = selectedOrgUnitsProp;
|
|
3371
|
+
const appliedOrgUnits = appliedOrgUnitsProp;
|
|
3372
|
+
const orgUnitsChanged = selectedOrgUnits.length !== appliedOrgUnits.length ||
|
|
3373
|
+
selectedOrgUnits.some((selected) => !appliedOrgUnits.some((applied) => applied.id === selected.id));
|
|
3374
|
+
const canUpdateOrgUnits = selectedOrgUnits.length > 0 &&
|
|
3375
|
+
(orgUnitsChanged || selectedOrgUnitMode !== appliedOrgUnitMode);
|
|
3376
|
+
const canResetOrgUnits = selectedOrgUnits.length > 0 ||
|
|
3377
|
+
appliedOrgUnits.length > 0 ||
|
|
3378
|
+
selectedOrgUnitMode !== defaultOrgUnitMode ||
|
|
3379
|
+
appliedOrgUnitMode !== defaultOrgUnitMode;
|
|
3380
|
+
const appliedOrgUnitsLabel = appliedOrgUnits
|
|
3381
|
+
.map((unit) => unit.displayName)
|
|
3382
|
+
.join(', ');
|
|
3383
|
+
const displayedOrgUnitNames = appliedOrgUnits.map((unit) => unit.displayName);
|
|
3384
|
+
const orgUnitSelectionLabel = displayedOrgUnitNames.length > 2
|
|
3385
|
+
? `${displayedOrgUnitNames.slice(0, 2).join(', ')} .....`
|
|
3386
|
+
: appliedOrgUnitsLabel;
|
|
3387
|
+
const updateSelectedOrgUnits = (units) => {
|
|
3388
|
+
setSelectedOrgUnits(units);
|
|
3389
|
+
};
|
|
3383
3390
|
const [isOpen, setIsOpen] = useState(false);
|
|
3384
3391
|
const [isOpenOrgUnitDropdown, setIsOpenOrgUnitDropdown] = useState(false);
|
|
3385
3392
|
const [openDropdownKey, setOpenDropdownKey] = useState(null);
|
|
@@ -3399,41 +3406,51 @@ const FilterToolbar = ({ orgUnit: { orgUnitLabel, selectedOrgUnit, setSelectedOr
|
|
|
3399
3406
|
flexWrap: 'wrap',
|
|
3400
3407
|
} },
|
|
3401
3408
|
React__default.createElement(DropdownButton, { name: "customDropdown", open: isOpenOrgUnitDropdown, onClick: () => setIsOpenOrgUnitDropdown(!isOpenOrgUnitDropdown), component: React__default.createElement("div", null,
|
|
3402
|
-
React__default.createElement(FlyoutMenu,
|
|
3409
|
+
React__default.createElement(FlyoutMenu, { maxWidth: "90vw" },
|
|
3403
3410
|
React__default.createElement("div", { style: { padding: '16px' } },
|
|
3404
|
-
React__default.createElement(
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3411
|
+
isOpenOrgUnitDropdown && (React__default.createElement("div", { style: { width: '400px', maxWidth: '80vw' } },
|
|
3412
|
+
React__default.createElement(OrgUnitFormField$1, { key: "registering-unit", customOrgUnitRoots: customOrgUnitRoots, multiple: allowMultipleOrgUnits, selectedPaths: selectedOrgUnits.map((unit) => unit.path), onSelectOrgUnit: (unit) => {
|
|
3413
|
+
if (!allowMultipleOrgUnits) {
|
|
3414
|
+
updateSelectedOrgUnits([unit]);
|
|
3415
|
+
return;
|
|
3416
|
+
}
|
|
3417
|
+
const paths = unit.selected;
|
|
3418
|
+
const units = selectedOrgUnits.filter((chosen) => paths.includes(chosen.path));
|
|
3419
|
+
if (paths.includes(unit.path) && !units.some((chosen) => chosen.id === unit.id)) {
|
|
3420
|
+
units.push(unit);
|
|
3421
|
+
}
|
|
3422
|
+
updateSelectedOrgUnits(units);
|
|
3423
|
+
} }),
|
|
3424
|
+
showOrgUnitMode && (React__default.createElement("div", { role: "group", "aria-label": "Mode", style: { display: 'flex', alignItems: 'center', gap: '12px', margin: '8px 0 12px' } },
|
|
3425
|
+
React__default.createElement("span", { style: { fontSize: '14px', fontWeight: 400 } }, "Mode:"),
|
|
3426
|
+
React__default.createElement("div", { style: { flex: 1, minWidth: 0 } },
|
|
3427
|
+
React__default.createElement(SingleSelectField, { selected: selectedOrgUnitMode, helpText: `If no mode is selected, the default mode will be ${defaultOrgUnitMode}.`, onChange: ({ selected }) => setSelectedOrgUnitMode(selected) }, ['DESCENDANTS', 'SELECTED', 'CHILDREN'].map((mode) => (React__default.createElement(SingleSelectOption, { key: mode, label: mode, value: mode }))))))))),
|
|
3408
3428
|
React__default.createElement("div", { style: {
|
|
3409
3429
|
paddingTop: '8px',
|
|
3410
3430
|
display: 'flex',
|
|
3411
3431
|
justifyContent: 'flex-end',
|
|
3412
3432
|
} },
|
|
3413
3433
|
React__default.createElement(ButtonStrip$1, null,
|
|
3414
|
-
React__default.createElement(Button$1, { primary: true, disabled: !
|
|
3415
|
-
setPrevSelectedOrgUnit(selectedOrgUnit);
|
|
3434
|
+
React__default.createElement(Button$1, { primary: true, disabled: !canUpdateOrgUnits, onClick: () => {
|
|
3416
3435
|
handleOrgUnitFilter();
|
|
3417
3436
|
setIsOpenOrgUnitDropdown(false);
|
|
3418
3437
|
} }, "Update"),
|
|
3419
|
-
React__default.createElement(Button$1, { disabled: !
|
|
3420
|
-
|
|
3421
|
-
|
|
3422
|
-
|
|
3423
|
-
setTempOrgUnitState(defaultOrgUnit);
|
|
3438
|
+
React__default.createElement(Button$1, { disabled: !canResetOrgUnits, onClick: () => {
|
|
3439
|
+
setSelectedOrgUnits([]);
|
|
3440
|
+
setAppliedOrgUnits([]);
|
|
3441
|
+
handleOrgUnitModeReset();
|
|
3424
3442
|
setIsOpenOrgUnitDropdown(false);
|
|
3425
3443
|
} }, "Reset")))))) },
|
|
3426
3444
|
orgUnitLabel ? orgUnitLabel : 'Registering unit',
|
|
3427
3445
|
' ',
|
|
3428
|
-
|
|
3429
|
-
|
|
3430
|
-
|
|
3431
|
-
|
|
3446
|
+
appliedOrgUnitsLabel && (React__default.createElement("span", { title: appliedOrgUnitsLabel },
|
|
3447
|
+
": ",
|
|
3448
|
+
orgUnitSelectionLabel)),
|
|
3449
|
+
appliedOrgUnitsLabel && (React__default.createElement("span", { onClick: (event) => {
|
|
3432
3450
|
event.stopPropagation();
|
|
3433
|
-
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
setTempOrgUnitState(defaultOrgUnit);
|
|
3451
|
+
setSelectedOrgUnits([]);
|
|
3452
|
+
setAppliedOrgUnits([]);
|
|
3453
|
+
handleOrgUnitModeReset();
|
|
3437
3454
|
setIsOpenOrgUnitDropdown(false);
|
|
3438
3455
|
}, style: { display: 'inline-flex', alignItems: 'center' } },
|
|
3439
3456
|
React__default.createElement(ClearIcon, { className: "my-icon-class" })))),
|
|
@@ -4840,6 +4857,8 @@ const fetchLineListDownloadRows = async ({ d2, metaData, programId, programStage
|
|
|
4840
4857
|
class LineListTableComponent extends ReactWrapperModule {
|
|
4841
4858
|
constructor() {
|
|
4842
4859
|
super(...arguments);
|
|
4860
|
+
this.allowMultipleOrgUnits = false;
|
|
4861
|
+
this.showOrgUnitMode = false;
|
|
4843
4862
|
this.actionOptionOrientation = 'DROPDOWN';
|
|
4844
4863
|
this.dataQueryFilters = [];
|
|
4845
4864
|
this.hydrateForActionFiltering = true;
|
|
@@ -4874,8 +4893,15 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
4874
4893
|
const [triggerTokenState, setTriggerTokenState] = useState(this.triggerToken);
|
|
4875
4894
|
const [programIdState, setProgramIdState] = useState(this.programId);
|
|
4876
4895
|
const [isOptionSetNameVisibleState, setOptionSetNameVisible] = useState(this.isOptionSetNameVisible);
|
|
4877
|
-
const [
|
|
4878
|
-
const
|
|
4896
|
+
const [selectedOrgUnits, setSelectedOrgUnits] = useState([]);
|
|
4897
|
+
const defaultOrgUnitMode = (this.ouMode);
|
|
4898
|
+
const [appliedOrgUnitMode, setAppliedOrgUnitMode] = useState(defaultOrgUnitMode);
|
|
4899
|
+
const [selectedOrgUnitMode, setSelectedOrgUnitMode] = useState(defaultOrgUnitMode);
|
|
4900
|
+
const [defaultOrgUnit, setDefaultOrgUnit] = useState(this.orgUnit);
|
|
4901
|
+
const [appliedOrgUnits, setAppliedOrgUnits] = useState([]);
|
|
4902
|
+
const orgUnitState = appliedOrgUnits.length
|
|
4903
|
+
? appliedOrgUnits.map((unit) => unit.id).join(';')
|
|
4904
|
+
: defaultOrgUnit;
|
|
4879
4905
|
const [programStageIdState, setProgramStageIdState] = useState(this.programStageId);
|
|
4880
4906
|
const [attributeFiltersState, setAttributeFiltersState] = useState(this.attributeFilters);
|
|
4881
4907
|
const [dataQueryFiltersState, setDataQueryFiltersState] = useState(this.dataQueryFilters);
|
|
@@ -4890,9 +4916,6 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
4890
4916
|
const [filteredColumns, setFilteredColumns] = useState();
|
|
4891
4917
|
const [inputValues, setInputValues] = useState({});
|
|
4892
4918
|
const [orgUnitLabel, setOrgUnitLabel] = useState('');
|
|
4893
|
-
const [selectedOrgUnit, setSelectedOrgUnit] = useState('');
|
|
4894
|
-
const [prevSelectedOrgUnit, setPrevSelectedOrgUnit] = useState('');
|
|
4895
|
-
const [hide, setHide] = useState(true);
|
|
4896
4919
|
const [showAllFilters, setShowAllFilters] = useState(false);
|
|
4897
4920
|
const visibleFilters = showAllFilters
|
|
4898
4921
|
? filteredColumns ?? []
|
|
@@ -4900,21 +4923,21 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
4900
4923
|
// const visibleFilters = showAllFilters
|
|
4901
4924
|
// ? filteredColumns ?? []
|
|
4902
4925
|
// : filteredColumns ?? []).slice(0, 2);
|
|
4903
|
-
const defaultOrgUnit = this.orgUnit;
|
|
4904
4926
|
const [dateStates, setDateStates] = useState({});
|
|
4905
4927
|
const [prevDateStates, setPrevDateStates] = useState({});
|
|
4906
4928
|
const [metaData, setMetaData] = useState(null);
|
|
4907
4929
|
const [selectable, setSelectable] = useState(this.allowRowsSelection);
|
|
4908
4930
|
const [triggerRefetch, setTriggerRefetch] = useState(this.triggerRefetch);
|
|
4909
4931
|
const [showActionButtons, setShowActionButtons] = useState(this.showActionButtons);
|
|
4910
|
-
const [orgUnitModalVisible, setOrgUnitModalVisible] = useState(false);
|
|
4911
4932
|
const [error, setError] = useState(null);
|
|
4912
4933
|
const [prevInputValues, setPrevInputValues] = useState({});
|
|
4913
4934
|
const d2 = window.d2Web;
|
|
4914
4935
|
// Stores updaters in refs for Angular to access
|
|
4915
4936
|
const updateRefs = useRef({
|
|
4916
4937
|
setProgramIdState,
|
|
4917
|
-
|
|
4938
|
+
setDefaultOrgUnit,
|
|
4939
|
+
setAppliedOrgUnits,
|
|
4940
|
+
setSelectedOrgUnits,
|
|
4918
4941
|
setProgramStageIdState,
|
|
4919
4942
|
setAttributeFiltersState,
|
|
4920
4943
|
setStartDateState,
|
|
@@ -4969,7 +4992,7 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
4969
4992
|
.setProgram(this.programId)
|
|
4970
4993
|
.setProgramStage(this.programStageId)
|
|
4971
4994
|
.setOrgUnit(orgUnitState)
|
|
4972
|
-
.setOuMode(
|
|
4995
|
+
.setOuMode(appliedOrgUnitMode)
|
|
4973
4996
|
.setPagination(new Pager({
|
|
4974
4997
|
pageSize: pager.pageSize,
|
|
4975
4998
|
page: pager.page,
|
|
@@ -5031,7 +5054,7 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
5031
5054
|
.setProgram(this.programId)
|
|
5032
5055
|
.setProgramStage(this.programStageId)
|
|
5033
5056
|
.setOrgUnit(orgUnitState)
|
|
5034
|
-
.setOuMode(
|
|
5057
|
+
.setOuMode(appliedOrgUnitMode)
|
|
5035
5058
|
.setStatus(this.enrollmentStatus)
|
|
5036
5059
|
.setEventStatus(this.eventStatus?.status, this.eventStatus?.programStage)
|
|
5037
5060
|
.setFilters(dataQueryFiltersState)
|
|
@@ -5099,6 +5122,7 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
5099
5122
|
metaData,
|
|
5100
5123
|
programIdState,
|
|
5101
5124
|
orgUnitState,
|
|
5125
|
+
appliedOrgUnitMode,
|
|
5102
5126
|
programStageIdState,
|
|
5103
5127
|
attributeFiltersState,
|
|
5104
5128
|
startDateState,
|
|
@@ -5120,7 +5144,7 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
5120
5144
|
programId: programIdState,
|
|
5121
5145
|
programStageId: programStageIdState,
|
|
5122
5146
|
orgUnit: orgUnitState,
|
|
5123
|
-
ouMode:
|
|
5147
|
+
ouMode: appliedOrgUnitMode,
|
|
5124
5148
|
startDate: startDateState,
|
|
5125
5149
|
endDate: endDateState,
|
|
5126
5150
|
dataQueryFilters: dataQueryFiltersState,
|
|
@@ -5271,7 +5295,16 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
5271
5295
|
const handleAdditionalFilters = () => setDataQueryFiltersState(tempDataQueryFiltersState);
|
|
5272
5296
|
const handleStartDateFilter = () => setStartDateState(tempStartDateState);
|
|
5273
5297
|
const handleEndDateFilter = () => setEndDateState(tempEndDateState);
|
|
5274
|
-
const handleOrgUnitFilter = () =>
|
|
5298
|
+
const handleOrgUnitFilter = () => {
|
|
5299
|
+
setAppliedOrgUnits([...selectedOrgUnits]);
|
|
5300
|
+
setAppliedOrgUnitMode(selectedOrgUnitMode);
|
|
5301
|
+
setPager((previous) => new Pager({ ...previous, page: 1 }));
|
|
5302
|
+
};
|
|
5303
|
+
const handleOrgUnitModeReset = () => {
|
|
5304
|
+
setAppliedOrgUnitMode(defaultOrgUnitMode);
|
|
5305
|
+
setSelectedOrgUnitMode(defaultOrgUnitMode);
|
|
5306
|
+
setPager((previous) => new Pager({ ...previous, page: 1 }));
|
|
5307
|
+
};
|
|
5275
5308
|
function getTextColorFromBackGround(hex) {
|
|
5276
5309
|
hex = hex.replace('#', '');
|
|
5277
5310
|
const r = parseInt(hex.substr(0, 2), 16);
|
|
@@ -5315,30 +5348,23 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
5315
5348
|
value: 'Download',
|
|
5316
5349
|
}, downloadLoading
|
|
5317
5350
|
? React__default.createElement(CircularLoader$1, { small: true })
|
|
5318
|
-
: 'Download')),
|
|
5319
|
-
React__default.createElement(OrgUnitSelector, {
|
|
5320
|
-
hide: hide,
|
|
5321
|
-
setHide: setHide,
|
|
5322
|
-
selectedOrgUnit: selectedOrgUnit,
|
|
5323
|
-
setSelectedOrgUnit: setSelectedOrgUnit,
|
|
5324
|
-
setOrgUnitState: setOrgUnitState,
|
|
5325
|
-
setTempOrgUnitState: setTempOrgUnitState,
|
|
5326
|
-
tempOrgUnitState: tempOrgUnitState,
|
|
5327
|
-
}), this.showFilters &&
|
|
5351
|
+
: 'Download')), this.showFilters &&
|
|
5328
5352
|
React__default.createElement(FilterToolbar, {
|
|
5329
5353
|
orgUnit: {
|
|
5354
|
+
allowMultipleOrgUnits: this.allowMultipleOrgUnits,
|
|
5355
|
+
showOrgUnitMode: this.showOrgUnitMode,
|
|
5356
|
+
appliedOrgUnits,
|
|
5357
|
+
setAppliedOrgUnits,
|
|
5358
|
+
selectedOrgUnits,
|
|
5359
|
+
setSelectedOrgUnits,
|
|
5360
|
+
customOrgUnitRoots: this.customOrgUnitRoots,
|
|
5330
5361
|
orgUnitLabel,
|
|
5331
|
-
selectedOrgUnit,
|
|
5332
|
-
setSelectedOrgUnit,
|
|
5333
|
-
setOrgUnitState,
|
|
5334
|
-
defaultOrgUnit,
|
|
5335
|
-
setHide,
|
|
5336
|
-
setTempOrgUnitState,
|
|
5337
|
-
tempOrgUnitState,
|
|
5338
|
-
SetOrgUnitModalVisible: setOrgUnitModalVisible,
|
|
5339
5362
|
handleOrgUnitFilter,
|
|
5340
|
-
|
|
5341
|
-
|
|
5363
|
+
appliedOrgUnitMode,
|
|
5364
|
+
selectedOrgUnitMode,
|
|
5365
|
+
defaultOrgUnitMode,
|
|
5366
|
+
setSelectedOrgUnitMode,
|
|
5367
|
+
handleOrgUnitModeReset,
|
|
5342
5368
|
},
|
|
5343
5369
|
dates: {
|
|
5344
5370
|
startDateState,
|
|
@@ -5403,7 +5429,9 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
5403
5429
|
this.reactStateUpdaters.setOptionSetNameVisible(this.isOptionSetNameVisible);
|
|
5404
5430
|
}
|
|
5405
5431
|
if (changes['orgUnit']) {
|
|
5406
|
-
this.reactStateUpdaters.
|
|
5432
|
+
this.reactStateUpdaters.setDefaultOrgUnit(this.orgUnit);
|
|
5433
|
+
this.reactStateUpdaters.setAppliedOrgUnits([]);
|
|
5434
|
+
this.reactStateUpdaters.setSelectedOrgUnits([]);
|
|
5407
5435
|
}
|
|
5408
5436
|
if (changes['programStageId']) {
|
|
5409
5437
|
this.reactStateUpdaters.setProgramStageIdState(this.programStageId);
|
|
@@ -5436,7 +5464,7 @@ class LineListTableComponent extends ReactWrapperModule {
|
|
|
5436
5464
|
this.render();
|
|
5437
5465
|
}
|
|
5438
5466
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LineListTableComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
5439
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: LineListTableComponent, isStandalone: false, selector: "ng-dhis2-ui-line-list", inputs: { triggerToken: "triggerToken", programId: "programId", orgUnit: "orgUnit", programStageId: "programStageId", actionOptions: "actionOptions", actionOptionOrientation: "actionOptionOrientation", attributeFilters: "attributeFilters", useOuModeWithOlderDHIS2Instance: "useOuModeWithOlderDHIS2Instance", startDate: "startDate", endDate: "endDate", dataQueryFilters: "dataQueryFilters", lineListRowActionFilterConfig: "lineListRowActionFilterConfig", hydrateForActionFiltering: "hydrateForActionFiltering", ouMode: "ouMode", isButtonLoading: "isButtonLoading", buttonFilter: "buttonFilter", filterRootOrgUnit: "filterRootOrgUnit", showFilters: "showFilters", isOptionSetNameVisible: "isOptionSetNameVisible", allowRowsSelection: "allowRowsSelection", enrollmentStatus: "enrollmentStatus", filterableColumnIds: "filterableColumnIds", triggerRefetch: "triggerRefetch", eventStatus: "eventStatus", showActionButtons: "showActionButtons", showEnrollmentDates: "showEnrollmentDates", showDownloadButton: "showDownloadButton", searcheableDataElements: "searcheableDataElements", columnNameSource: "columnNameSource", orgUnitAndDateColumnsPosition: "orgUnitAndDateColumnsPosition", customDisplayInReportsIds: "customDisplayInReportsIds", columnMetadataDisplayMode: "columnMetadataDisplayMode" }, outputs: { actionSelected: "actionSelected", rowsSelected: "rowsSelected" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["@charset \"UTF-8\";::ng-deep .line-list-root{width:100%;max-width:100%;min-width:0}::ng-deep .line-list-download-toolbar{position:sticky;left:0;z-index:2;display:flex;justify-content:flex-end;width:100%;max-width:100%;box-sizing:border-box;background:#fff}::ng-deep .line-list-table-scroll{width:100%;max-width:100%;overflow-x:auto}::ng-deep .custom-input{display:flex!important;gap:4px!important;align-items:center!important;border:1px solid #9fadba!important;border-radius:4px!important;margin:0;padding:0 0 0 8px;background-color:#fff!important}::ng-deep .custom-input div{margin:0!important}::ng-deep .custom-input label{font-size:12px;padding-right:0}::ng-deep .custom-input input{border:none!important;font-size:12px!important;display:flex;align-items:center;padding-left:4px;height:40px;outline:none!important;box-shadow:none!important}::ng-deep .custom-input input:focus{border:none!important;box-shadow:none!important}::ng-deep .custom-input [data-test=calendar-clear-button]{background-color:#f2f2f2!important;color:#870808!important;border-radius:6px!important;padding:4px 10px!important;font-size:0!important}::ng-deep .custom-input [data-test=calendar-clear-button]:before{content:\"\\2715\";font-size:14px;color:#870808}::ng-deep .custom-input [data-test=calendar-clear-button]:hover{background-color:#ddd}::ng-deep .calendar-input-wrapper{position:relative}::ng-deep .calendar-input-wrapper .custom-input{position:relative;width:100%;display:flex;align-items:center}::ng-deep .calendar-input-wrapper [data-test=calendar-clear-button]{right:8px;bottom:14px;margin:auto;display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:0!important;background-color:#a0adba!important;border-radius:50%;padding:2px;cursor:pointer}::ng-deep .calendar-input-wrapper [data-test=calendar-clear-button]:before{content:\"\\2715\";font-size:10px;color:#f0f0f0}::ng-deep .calendar-input-wrapper input{padding-right:40px!important;height:40px;line-height:40px;box-sizing:border-box}::ng-deep .custom-input label{color:gray!important;opacity:1}::ng-deep .table-top-toolbar{background-color:var(--colors-grey100)!important;color:var(--colors-grey900)!important}::ng-deep .custom-select-input{display:flex!important;gap:4px!important;align-items:center!important;border:1px solid #9fadba!important;border-radius:4px!important;margin:0;padding:0 0 0 8px;background-color:#fff!important}::ng-deep .custom-select-input div{margin:0!important}::ng-deep .custom-select-input [data-test=dhis2-uiwidgets-singleselectfield-label]{font-size:12px;color:gray!important}::ng-deep .custom-select-input [data-test=dhis2-uicore-select-input]{border:none!important;font-size:12px!important;display:flex;align-items:center;padding-left:4px;height:40px;outline:none!important;box-shadow:none!important}::ng-deep .custom-select-input [data-test=dhis2-uicore-select-input]:focus-within{box-shadow:none!important}::ng-deep .custom-select-input input:focus{border:none!important;box-shadow:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
5467
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: LineListTableComponent, isStandalone: false, selector: "ng-dhis2-ui-line-list", inputs: { triggerToken: "triggerToken", programId: "programId", orgUnit: "orgUnit", allowMultipleOrgUnits: "allowMultipleOrgUnits", showOrgUnitMode: "showOrgUnitMode", customOrgUnitRoots: "customOrgUnitRoots", programStageId: "programStageId", actionOptions: "actionOptions", actionOptionOrientation: "actionOptionOrientation", attributeFilters: "attributeFilters", useOuModeWithOlderDHIS2Instance: "useOuModeWithOlderDHIS2Instance", startDate: "startDate", endDate: "endDate", dataQueryFilters: "dataQueryFilters", lineListRowActionFilterConfig: "lineListRowActionFilterConfig", hydrateForActionFiltering: "hydrateForActionFiltering", ouMode: "ouMode", isButtonLoading: "isButtonLoading", buttonFilter: "buttonFilter", filterRootOrgUnit: "filterRootOrgUnit", showFilters: "showFilters", isOptionSetNameVisible: "isOptionSetNameVisible", allowRowsSelection: "allowRowsSelection", enrollmentStatus: "enrollmentStatus", filterableColumnIds: "filterableColumnIds", triggerRefetch: "triggerRefetch", eventStatus: "eventStatus", showActionButtons: "showActionButtons", showEnrollmentDates: "showEnrollmentDates", showDownloadButton: "showDownloadButton", searcheableDataElements: "searcheableDataElements", columnNameSource: "columnNameSource", orgUnitAndDateColumnsPosition: "orgUnitAndDateColumnsPosition", customDisplayInReportsIds: "customDisplayInReportsIds", columnMetadataDisplayMode: "columnMetadataDisplayMode" }, outputs: { actionSelected: "actionSelected", rowsSelected: "rowsSelected" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: ["@charset \"UTF-8\";::ng-deep .line-list-root{width:100%;max-width:100%;min-width:0}::ng-deep .line-list-download-toolbar{position:sticky;left:0;z-index:2;display:flex;justify-content:flex-end;width:100%;max-width:100%;box-sizing:border-box;background:#fff}::ng-deep .line-list-table-scroll{width:100%;max-width:100%;overflow-x:auto}::ng-deep .custom-input{display:flex!important;gap:4px!important;align-items:center!important;border:1px solid #9fadba!important;border-radius:4px!important;margin:0;padding:0 0 0 8px;background-color:#fff!important}::ng-deep .custom-input div{margin:0!important}::ng-deep .custom-input label{font-size:12px;padding-right:0}::ng-deep .custom-input input{border:none!important;font-size:12px!important;display:flex;align-items:center;padding-left:4px;height:40px;outline:none!important;box-shadow:none!important}::ng-deep .custom-input input:focus{border:none!important;box-shadow:none!important}::ng-deep .custom-input [data-test=calendar-clear-button]{background-color:#f2f2f2!important;color:#870808!important;border-radius:6px!important;padding:4px 10px!important;font-size:0!important}::ng-deep .custom-input [data-test=calendar-clear-button]:before{content:\"\\2715\";font-size:14px;color:#870808}::ng-deep .custom-input [data-test=calendar-clear-button]:hover{background-color:#ddd}::ng-deep .calendar-input-wrapper{position:relative}::ng-deep .calendar-input-wrapper .custom-input{position:relative;width:100%;display:flex;align-items:center}::ng-deep .calendar-input-wrapper [data-test=calendar-clear-button]{right:8px;bottom:14px;margin:auto;display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:0!important;background-color:#a0adba!important;border-radius:50%;padding:2px;cursor:pointer}::ng-deep .calendar-input-wrapper [data-test=calendar-clear-button]:before{content:\"\\2715\";font-size:10px;color:#f0f0f0}::ng-deep .calendar-input-wrapper input{padding-right:40px!important;height:40px;line-height:40px;box-sizing:border-box}::ng-deep .custom-input label{color:gray!important;opacity:1}::ng-deep .table-top-toolbar{background-color:var(--colors-grey100)!important;color:var(--colors-grey900)!important}::ng-deep .custom-select-input{display:flex!important;gap:4px!important;align-items:center!important;border:1px solid #9fadba!important;border-radius:4px!important;margin:0;padding:0 0 0 8px;background-color:#fff!important}::ng-deep .custom-select-input div{margin:0!important}::ng-deep .custom-select-input [data-test=dhis2-uiwidgets-singleselectfield-label]{font-size:12px;color:gray!important}::ng-deep .custom-select-input [data-test=dhis2-uicore-select-input]{border:none!important;font-size:12px!important;display:flex;align-items:center;padding-left:4px;height:40px;outline:none!important;box-shadow:none!important}::ng-deep .custom-select-input [data-test=dhis2-uicore-select-input]:focus-within{box-shadow:none!important}::ng-deep .custom-select-input input:focus{border:none!important;box-shadow:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.Eager }); }
|
|
5440
5468
|
}
|
|
5441
5469
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LineListTableComponent, decorators: [{
|
|
5442
5470
|
type: Component,
|
|
@@ -5447,6 +5475,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
5447
5475
|
type: Input
|
|
5448
5476
|
}], orgUnit: [{
|
|
5449
5477
|
type: Input
|
|
5478
|
+
}], allowMultipleOrgUnits: [{
|
|
5479
|
+
type: Input
|
|
5480
|
+
}], showOrgUnitMode: [{
|
|
5481
|
+
type: Input
|
|
5482
|
+
}], customOrgUnitRoots: [{
|
|
5483
|
+
type: Input
|
|
5450
5484
|
}], programStageId: [{
|
|
5451
5485
|
type: Input
|
|
5452
5486
|
}], actionOptions: [{
|
|
@@ -13297,14 +13331,22 @@ class ProgramEntryFormModule {
|
|
|
13297
13331
|
throw new Error('Could not initialize tracker query');
|
|
13298
13332
|
}
|
|
13299
13333
|
if (!this.trackedEntity()) {
|
|
13300
|
-
|
|
13334
|
+
const instance = await instanceQuery.create();
|
|
13335
|
+
return this.codeGeneratorOrgUnit()
|
|
13336
|
+
? await this.#setReservedValuesForCodeGeneration(instance)
|
|
13337
|
+
: instance;
|
|
13301
13338
|
}
|
|
13302
13339
|
const instanceResult = (await instanceQuery.setTrackedEntity(this.trackedEntity()).get()).data;
|
|
13303
13340
|
if (!instanceResult) {
|
|
13304
|
-
|
|
13341
|
+
const instance = await instanceQuery.create();
|
|
13342
|
+
return this.codeGeneratorOrgUnit()
|
|
13343
|
+
? await this.#setReservedValuesForCodeGeneration(instance)
|
|
13344
|
+
: instance;
|
|
13305
13345
|
}
|
|
13306
13346
|
instanceQuery.setInstanceFields(this.metaData()?.program);
|
|
13307
|
-
const instance =
|
|
13347
|
+
const instance = this.codeGeneratorOrgUnit()
|
|
13348
|
+
? await this.#setReservedValuesForCodeGeneration(instanceQuery.instance)
|
|
13349
|
+
: await instanceQuery.setReservedValues();
|
|
13308
13350
|
if (this.orgUnit()) {
|
|
13309
13351
|
instance.setOrgUnit(this.orgUnit());
|
|
13310
13352
|
}
|