@iapps/ng-dhis2-ui 1.3.7 → 1.3.8

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 d2.currentUser?.organisationUnits || [];
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 [`/${rootOrgUnits[0].id}`];
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
- const pathIndex = expanded?.indexOf(path);
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: true, expanded: expanded, handleExpand: handleExpand, handleCollapse: handleCollapse, selected: highlighted, onChange: (event) => {
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(false);
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: true, expanded: expanded, handleExpand: handleExpand, handleCollapse: handleCollapse, selected: highlighted, onChange: (event) => {
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(false);
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,17 @@ 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 OrgUnitSelector = ({ hide, setHide, selectedOrgUnit, setSelectedOrgUnit, setOrgUnitState, setTempOrgUnitState, tempOrgUnitState }) => (React__default.createElement(Modal$1, { hide: hide, position: "middle" },
3371
- React__default.createElement(ModalTitle$1, null, "Select organization unit"),
3372
- React__default.createElement(ModalContent$1, null,
3373
- React__default.createElement(OrgUnitFormField$1, { key: selectedOrgUnit, onSelectOrgUnit: (selectedOrgUnit) => {
3374
- setSelectedOrgUnit(selectedOrgUnit.displayName);
3375
- setTempOrgUnitState(selectedOrgUnit.id);
3376
- setHide(true);
3377
- } })),
3378
- React__default.createElement(ModalActions$1, null,
3379
- React__default.createElement(ButtonStrip$1, { end: true },
3380
- React__default.createElement(Button$1, { onClick: () => setHide(true), secondary: true }, "Close")))));
3381
-
3382
- const FilterToolbar = ({ orgUnit: { orgUnitLabel, selectedOrgUnit, setSelectedOrgUnit, setOrgUnitState, defaultOrgUnit, setHide, setTempOrgUnitState, tempOrgUnitState, SetOrgUnitModalVisible, handleOrgUnitFilter, prevSelectedOrgUnit, setPrevSelectedOrgUnit, }, 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, }, }) => {
3369
+ const FilterToolbar = ({ orgUnit: { customOrgUnitRoots, allowMultipleOrgUnits, chosenOrgUnits: chosenOrgUnitsProp, setChosenOrgUnits, orgUnitLabel, selectedOrgUnit, setSelectedOrgUnit, setOrgUnitState, defaultOrgUnit, setTempOrgUnitState, tempOrgUnitState, handleOrgUnitFilter, tempOrgUnitModeState, defaultOrgUnitMode, setTempOrgUnitModeState, handleOrgUnitModeReset, prevSelectedOrgUnit, setPrevSelectedOrgUnit, }, 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 chosenOrgUnits = chosenOrgUnitsProp;
3371
+ const displayedOrgUnitNames = (prevSelectedOrgUnit || '').split(', ');
3372
+ const orgUnitSelectionLabel = displayedOrgUnitNames.length > 2
3373
+ ? `${displayedOrgUnitNames.slice(0, 2).join(', ')} .....`
3374
+ : prevSelectedOrgUnit;
3375
+ const updateChosenOrgUnits = (units) => {
3376
+ setChosenOrgUnits(units);
3377
+ setSelectedOrgUnit(units.map((unit) => unit.displayName).join(', '));
3378
+ setTempOrgUnitState(units.map((unit) => unit.id).join(';'));
3379
+ };
3383
3380
  const [isOpen, setIsOpen] = useState(false);
3384
3381
  const [isOpenOrgUnitDropdown, setIsOpenOrgUnitDropdown] = useState(false);
3385
3382
  const [openDropdownKey, setOpenDropdownKey] = useState(null);
@@ -3399,12 +3396,25 @@ const FilterToolbar = ({ orgUnit: { orgUnitLabel, selectedOrgUnit, setSelectedOr
3399
3396
  flexWrap: 'wrap',
3400
3397
  } },
3401
3398
  React__default.createElement(DropdownButton, { name: "customDropdown", open: isOpenOrgUnitDropdown, onClick: () => setIsOpenOrgUnitDropdown(!isOpenOrgUnitDropdown), component: React__default.createElement("div", null,
3402
- React__default.createElement(FlyoutMenu, null,
3399
+ React__default.createElement(FlyoutMenu, { maxWidth: "90vw" },
3403
3400
  React__default.createElement("div", { style: { padding: '16px' } },
3404
- React__default.createElement(InputField$1, { key: "location", placeholder: orgUnitLabel ? orgUnitLabel : 'Registering unit', value: selectedOrgUnit, onFocus: () => {
3405
- SetOrgUnitModalVisible(true);
3406
- setHide(false);
3407
- } }),
3401
+ isOpenOrgUnitDropdown && (React__default.createElement("div", { style: { width: '400px', maxWidth: '80vw' } },
3402
+ React__default.createElement(OrgUnitFormField$1, { key: "registering-unit", customOrgUnitRoots: customOrgUnitRoots, multiple: allowMultipleOrgUnits, selectedPaths: chosenOrgUnits.map((unit) => unit.path), onSelectOrgUnit: (unit) => {
3403
+ if (!allowMultipleOrgUnits) {
3404
+ updateChosenOrgUnits([unit]);
3405
+ return;
3406
+ }
3407
+ const paths = unit.selected;
3408
+ const units = chosenOrgUnits.filter((chosen) => paths.includes(chosen.path));
3409
+ if (paths.includes(unit.path) && !units.some((chosen) => chosen.id === unit.id)) {
3410
+ units.push(unit);
3411
+ }
3412
+ updateChosenOrgUnits(units);
3413
+ } }),
3414
+ React__default.createElement("div", { role: "group", "aria-label": "Mode", style: { display: 'flex', alignItems: 'center', gap: '12px', margin: '8px 0 12px' } },
3415
+ React__default.createElement("span", { style: { fontSize: '14px', fontWeight: 400 } }, "Mode:"),
3416
+ React__default.createElement("div", { style: { flex: 1, minWidth: 0 } },
3417
+ React__default.createElement(SingleSelectField, { selected: tempOrgUnitModeState, helpText: `If no mode is selected, the default mode will be ${defaultOrgUnitMode}.`, onChange: ({ selected }) => setTempOrgUnitModeState(selected) }, ['DESCENDANTS', 'SELECTED', 'CHILDREN'].map((mode) => (React__default.createElement(SingleSelectOption, { key: mode, label: mode, value: mode })))))))),
3408
3418
  React__default.createElement("div", { style: {
3409
3419
  paddingTop: '8px',
3410
3420
  display: 'flex',
@@ -3418,21 +3428,25 @@ const FilterToolbar = ({ orgUnit: { orgUnitLabel, selectedOrgUnit, setSelectedOr
3418
3428
  } }, "Update"),
3419
3429
  React__default.createElement(Button$1, { disabled: !selectedOrgUnit, onClick: () => {
3420
3430
  setSelectedOrgUnit('');
3431
+ setChosenOrgUnits([]);
3421
3432
  setPrevSelectedOrgUnit('');
3422
3433
  setOrgUnitState(defaultOrgUnit);
3434
+ handleOrgUnitModeReset();
3423
3435
  setTempOrgUnitState(defaultOrgUnit);
3424
3436
  setIsOpenOrgUnitDropdown(false);
3425
3437
  } }, "Reset")))))) },
3426
3438
  orgUnitLabel ? orgUnitLabel : 'Registering unit',
3427
3439
  ' ',
3428
- prevSelectedOrgUnit && ':',
3429
- " ",
3430
- prevSelectedOrgUnit,
3440
+ prevSelectedOrgUnit && (React__default.createElement("span", { title: prevSelectedOrgUnit },
3441
+ ": ",
3442
+ orgUnitSelectionLabel)),
3431
3443
  prevSelectedOrgUnit && (React__default.createElement("span", { onClick: (event) => {
3432
3444
  event.stopPropagation();
3433
3445
  setSelectedOrgUnit('');
3446
+ setChosenOrgUnits([]);
3434
3447
  setPrevSelectedOrgUnit('');
3435
3448
  setOrgUnitState(defaultOrgUnit);
3449
+ handleOrgUnitModeReset();
3436
3450
  setTempOrgUnitState(defaultOrgUnit);
3437
3451
  setIsOpenOrgUnitDropdown(false);
3438
3452
  }, style: { display: 'inline-flex', alignItems: 'center' } },
@@ -4840,6 +4854,7 @@ const fetchLineListDownloadRows = async ({ d2, metaData, programId, programStage
4840
4854
  class LineListTableComponent extends ReactWrapperModule {
4841
4855
  constructor() {
4842
4856
  super(...arguments);
4857
+ this.allowMultipleOrgUnits = false;
4843
4858
  this.actionOptionOrientation = 'DROPDOWN';
4844
4859
  this.dataQueryFilters = [];
4845
4860
  this.hydrateForActionFiltering = true;
@@ -4874,6 +4889,10 @@ class LineListTableComponent extends ReactWrapperModule {
4874
4889
  const [triggerTokenState, setTriggerTokenState] = useState(this.triggerToken);
4875
4890
  const [programIdState, setProgramIdState] = useState(this.programId);
4876
4891
  const [isOptionSetNameVisibleState, setOptionSetNameVisible] = useState(this.isOptionSetNameVisible);
4892
+ const [chosenOrgUnits, setChosenOrgUnits] = useState([]);
4893
+ const defaultOrgUnitMode = (this.ouMode);
4894
+ const [orgUnitModeState, setOrgUnitModeState] = useState(defaultOrgUnitMode);
4895
+ const [tempOrgUnitModeState, setTempOrgUnitModeState] = useState(defaultOrgUnitMode);
4877
4896
  const [orgUnitState, setOrgUnitState] = useState(this.orgUnit);
4878
4897
  const [tempOrgUnitState, setTempOrgUnitState] = useState(this.orgUnit);
4879
4898
  const [programStageIdState, setProgramStageIdState] = useState(this.programStageId);
@@ -4892,7 +4911,6 @@ class LineListTableComponent extends ReactWrapperModule {
4892
4911
  const [orgUnitLabel, setOrgUnitLabel] = useState('');
4893
4912
  const [selectedOrgUnit, setSelectedOrgUnit] = useState('');
4894
4913
  const [prevSelectedOrgUnit, setPrevSelectedOrgUnit] = useState('');
4895
- const [hide, setHide] = useState(true);
4896
4914
  const [showAllFilters, setShowAllFilters] = useState(false);
4897
4915
  const visibleFilters = showAllFilters
4898
4916
  ? filteredColumns ?? []
@@ -4907,7 +4925,6 @@ class LineListTableComponent extends ReactWrapperModule {
4907
4925
  const [selectable, setSelectable] = useState(this.allowRowsSelection);
4908
4926
  const [triggerRefetch, setTriggerRefetch] = useState(this.triggerRefetch);
4909
4927
  const [showActionButtons, setShowActionButtons] = useState(this.showActionButtons);
4910
- const [orgUnitModalVisible, setOrgUnitModalVisible] = useState(false);
4911
4928
  const [error, setError] = useState(null);
4912
4929
  const [prevInputValues, setPrevInputValues] = useState({});
4913
4930
  const d2 = window.d2Web;
@@ -4969,7 +4986,7 @@ class LineListTableComponent extends ReactWrapperModule {
4969
4986
  .setProgram(this.programId)
4970
4987
  .setProgramStage(this.programStageId)
4971
4988
  .setOrgUnit(orgUnitState)
4972
- .setOuMode(this.ouMode)
4989
+ .setOuMode(orgUnitModeState)
4973
4990
  .setPagination(new Pager({
4974
4991
  pageSize: pager.pageSize,
4975
4992
  page: pager.page,
@@ -5031,7 +5048,7 @@ class LineListTableComponent extends ReactWrapperModule {
5031
5048
  .setProgram(this.programId)
5032
5049
  .setProgramStage(this.programStageId)
5033
5050
  .setOrgUnit(orgUnitState)
5034
- .setOuMode(this.ouMode)
5051
+ .setOuMode(orgUnitModeState)
5035
5052
  .setStatus(this.enrollmentStatus)
5036
5053
  .setEventStatus(this.eventStatus?.status, this.eventStatus?.programStage)
5037
5054
  .setFilters(dataQueryFiltersState)
@@ -5099,6 +5116,7 @@ class LineListTableComponent extends ReactWrapperModule {
5099
5116
  metaData,
5100
5117
  programIdState,
5101
5118
  orgUnitState,
5119
+ orgUnitModeState,
5102
5120
  programStageIdState,
5103
5121
  attributeFiltersState,
5104
5122
  startDateState,
@@ -5120,7 +5138,7 @@ class LineListTableComponent extends ReactWrapperModule {
5120
5138
  programId: programIdState,
5121
5139
  programStageId: programStageIdState,
5122
5140
  orgUnit: orgUnitState,
5123
- ouMode: this.ouMode,
5141
+ ouMode: orgUnitModeState,
5124
5142
  startDate: startDateState,
5125
5143
  endDate: endDateState,
5126
5144
  dataQueryFilters: dataQueryFiltersState,
@@ -5271,7 +5289,16 @@ class LineListTableComponent extends ReactWrapperModule {
5271
5289
  const handleAdditionalFilters = () => setDataQueryFiltersState(tempDataQueryFiltersState);
5272
5290
  const handleStartDateFilter = () => setStartDateState(tempStartDateState);
5273
5291
  const handleEndDateFilter = () => setEndDateState(tempEndDateState);
5274
- const handleOrgUnitFilter = () => setOrgUnitState(tempOrgUnitState);
5292
+ const handleOrgUnitFilter = () => {
5293
+ setOrgUnitState(tempOrgUnitState);
5294
+ setOrgUnitModeState(tempOrgUnitModeState);
5295
+ setPager((previous) => new Pager({ ...previous, page: 1 }));
5296
+ };
5297
+ const handleOrgUnitModeReset = () => {
5298
+ setOrgUnitModeState(defaultOrgUnitMode);
5299
+ setTempOrgUnitModeState(defaultOrgUnitMode);
5300
+ setPager((previous) => new Pager({ ...previous, page: 1 }));
5301
+ };
5275
5302
  function getTextColorFromBackGround(hex) {
5276
5303
  hex = hex.replace('#', '');
5277
5304
  const r = parseInt(hex.substr(0, 2), 16);
@@ -5315,28 +5342,25 @@ class LineListTableComponent extends ReactWrapperModule {
5315
5342
  value: 'Download',
5316
5343
  }, downloadLoading
5317
5344
  ? React__default.createElement(CircularLoader$1, { small: true })
5318
- : 'Download')), orgUnitModalVisible &&
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 &&
5345
+ : 'Download')), this.showFilters &&
5328
5346
  React__default.createElement(FilterToolbar, {
5329
5347
  orgUnit: {
5348
+ allowMultipleOrgUnits: this.allowMultipleOrgUnits,
5349
+ chosenOrgUnits,
5350
+ setChosenOrgUnits,
5351
+ customOrgUnitRoots: this.customOrgUnitRoots,
5330
5352
  orgUnitLabel,
5331
5353
  selectedOrgUnit,
5332
5354
  setSelectedOrgUnit,
5333
5355
  setOrgUnitState,
5334
5356
  defaultOrgUnit,
5335
- setHide,
5336
5357
  setTempOrgUnitState,
5337
5358
  tempOrgUnitState,
5338
- SetOrgUnitModalVisible: setOrgUnitModalVisible,
5339
5359
  handleOrgUnitFilter,
5360
+ tempOrgUnitModeState,
5361
+ defaultOrgUnitMode,
5362
+ setTempOrgUnitModeState,
5363
+ handleOrgUnitModeReset,
5340
5364
  prevSelectedOrgUnit,
5341
5365
  setPrevSelectedOrgUnit,
5342
5366
  },
@@ -5436,7 +5460,7 @@ class LineListTableComponent extends ReactWrapperModule {
5436
5460
  this.render();
5437
5461
  }
5438
5462
  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 }); }
5463
+ 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", 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
5464
  }
5441
5465
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LineListTableComponent, decorators: [{
5442
5466
  type: Component,
@@ -5447,6 +5471,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
5447
5471
  type: Input
5448
5472
  }], orgUnit: [{
5449
5473
  type: Input
5474
+ }], allowMultipleOrgUnits: [{
5475
+ type: Input
5476
+ }], customOrgUnitRoots: [{
5477
+ type: Input
5450
5478
  }], programStageId: [{
5451
5479
  type: Input
5452
5480
  }], actionOptions: [{