@iapps/ng-dhis2-ui 1.1.43 → 1.1.45

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.
@@ -3406,11 +3406,16 @@ class LineListTableComponent extends ReactWrapperModule {
3406
3406
  else if ('trackedEntityInstances' in response.data) {
3407
3407
  responsePager = response.data
3408
3408
  .pager;
3409
+ console.log('tei received', response.data.trackedEntityInstances);
3409
3410
  const { columns, data, filteredEntityColumns } = getTrackedEntityData(response, this.programId, pager, this.filters);
3410
3411
  entityColumns = columns;
3412
+ console.log('columns shown', entityColumns);
3411
3413
  entityData = data;
3412
- let firstTei = response.data.trackedEntityInstances[0].trackedEntityInstance;
3413
- this.firstValue.emit(firstTei);
3414
+ let firstTei = response.data
3415
+ ?.trackedEntityInstances?.[0]?.trackedEntityInstance;
3416
+ if (firstTei) {
3417
+ this.firstValue.emit(firstTei);
3418
+ }
3414
3419
  // setFilteredColumns(filteredEntityColumns);
3415
3420
  // Ensure filter inputs do not disappear when no data is returned
3416
3421
  // If filteredEntityColumns is empty, keep the previous columns instead of clearing them
@@ -3423,7 +3428,9 @@ class LineListTableComponent extends ReactWrapperModule {
3423
3428
  entityColumns = columns;
3424
3429
  entityData = data;
3425
3430
  }
3431
+ console.log('before final columns');
3426
3432
  const finalColumns = addActionsColumn([{ label: '#', key: 'index' }, ...entityColumns], this.actionOptions);
3433
+ console.log('the columns shown', finalColumns);
3427
3434
  setLoading(false);
3428
3435
  // console.log('hey');
3429
3436
  setColumns(...[finalColumns]);
@@ -3442,6 +3449,7 @@ class LineListTableComponent extends ReactWrapperModule {
3442
3449
  pager.page,
3443
3450
  pager.pageSize,
3444
3451
  ]);
3452
+ console.log('the columns shown hehe', columns);
3445
3453
  const getDropdownOptions = (row) => {
3446
3454
  return (this.actionOptions || []).map((option) => ({
3447
3455
  ...option,
@@ -3888,6 +3896,8 @@ class FormField {
3888
3896
  options.max || (this.controlType === 'date' ? new Date() : undefined);
3889
3897
  this.maxLength = options.maxLength;
3890
3898
  this.hidden = options.hidden || false;
3899
+ this.unique = options.unique || false;
3900
+ this.generated = options.generated || false;
3891
3901
  this.isDataElement = options.isDataElement;
3892
3902
  this.isAttribute = options.isAttribute;
3893
3903
  this.isOrgUnit = options.isOrgUnit;
@@ -4926,7 +4936,7 @@ class BaseFormFieldComponent extends ReactWrapperModule {
4926
4936
  }, [hasError]);
4927
4937
  switch (this.field().controlType) {
4928
4938
  case 'textarea':
4929
- return (React__default.createElement(TextAreaField, { error: hasError, validationText: validationError, type: this.field().type, inputWidth: this.fieldConfig()?.inputWidth, required: this.field().required, name: this.field().id, label: this.label(), min: this.field().min?.toString(), max: this.field().max?.toString(), placeholder: this.placeholder(), value: value, onChange: (event) => {
4939
+ return (React__default.createElement(TextAreaField, { error: hasError, validationText: validationError, type: this.field().type, inputWidth: this.fieldConfig()?.inputWidth, required: this.field().required, name: this.field().id, label: this.label(), min: this.field().min?.toString(), max: this.field().max?.toString(), disabled: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, readOnly: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, placeholder: this.placeholder(), value: value, onChange: (event) => {
4930
4940
  this.ngZone.run(() => {
4931
4941
  (this.form().get(this.field().id) ||
4932
4942
  this.form().get(this.field().key))?.setValue(event.value);
@@ -4944,7 +4954,7 @@ class BaseFormFieldComponent extends ReactWrapperModule {
4944
4954
  } }));
4945
4955
  case 'org-unit':
4946
4956
  return (React__default.createElement(React__default.Fragment, null,
4947
- React__default.createElement(InputField$1, { error: hasError, validationText: validationError, type: this.field().type, prefixIcon: React__default.createElement(IconDimensionOrgUnit16, null), required: this.field().required, name: this.field().id, label: this.label(), placeholder: this.placeholder(), value: displayValue, readOnly: false, onFocus: () => {
4957
+ React__default.createElement(InputField$1, { error: hasError, validationText: validationError, type: this.field().type, prefixIcon: React__default.createElement(IconDimensionOrgUnit16, null), required: this.field().required, name: this.field().id, label: this.label(), placeholder: this.placeholder(), value: displayValue, disabled: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, readOnly: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, onFocus: () => {
4948
4958
  setShowOrgUnit(true);
4949
4959
  }, onBlur: () => {
4950
4960
  this.ngZone.run(() => {
@@ -4970,7 +4980,7 @@ class BaseFormFieldComponent extends ReactWrapperModule {
4970
4980
  }
4971
4981
  } }))));
4972
4982
  case 'transfer':
4973
- return (React__default.createElement(Transfer, { filterable: true, filterPlaceholder: "Search", selected: selected, error: hasError, validationText: validationError, type: this.field().type, inputWidth: this.fieldConfig()?.inputWidth, required: this.field().required, name: this.field().id, label: this.label(), placeholder: this.placeholder(), value: selected, leftHeader: React__default.createElement("div", { style: {
4983
+ return (React__default.createElement(Transfer, { filterable: true, filterPlaceholder: "Search", selected: selected, error: hasError, validationText: validationError, type: this.field().type, inputWidth: this.fieldConfig()?.inputWidth, disabled: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, readOnly: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, required: this.field().required, name: this.field().id, label: this.label(), placeholder: this.placeholder(), value: selected, leftHeader: React__default.createElement("div", { style: {
4974
4984
  fontSize: 14,
4975
4985
  padding: '8px 4px',
4976
4986
  } }, this.field().availableOptionsLabel), rightHeader: React__default.createElement("div", { style: {
@@ -4987,7 +4997,7 @@ class BaseFormFieldComponent extends ReactWrapperModule {
4987
4997
  this.update.emit({ form: this.form(), value });
4988
4998
  } }));
4989
4999
  case 'checkbox':
4990
- return (React__default.createElement(Checkbox, { checked: Boolean(value), error: hasError, label: this.label(), name: this.field().id, onChange: (event) => {
5000
+ return (React__default.createElement(Checkbox, { checked: Boolean(value), error: hasError, label: this.label(), name: this.field().id, disabled: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, readOnly: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, onChange: (event) => {
4991
5001
  this.ngZone.run(() => {
4992
5002
  (this.form().get(this.field().id) ||
4993
5003
  this.form().get(this.field().key))?.setValue(event.checked);
@@ -5000,7 +5010,7 @@ class BaseFormFieldComponent extends ReactWrapperModule {
5000
5010
  });
5001
5011
  } }));
5002
5012
  case 'dropdown':
5003
- return (React__default.createElement(SingleSelectField, { filterable: (this.field().options || []).length > 5, clearable: true, error: hasError, validationText: validationError, inputWidth: this.fieldConfig()?.inputWidth, required: this.field().required, name: this.field().id, className: "select", label: this.label(), selected: value, onChange: (event) => {
5013
+ return (React__default.createElement(SingleSelectField, { filterable: (this.field().options || []).length > 5, clearable: true, error: hasError, validationText: validationError, inputWidth: this.fieldConfig()?.inputWidth, disabled: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, readOnly: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, required: this.field().required, name: this.field().id, className: "select", label: this.label(), selected: value, onChange: (event) => {
5004
5014
  this.ngZone.run(() => {
5005
5015
  (this.form().get(this.field().id) ||
5006
5016
  this.form().get(this.field().key))?.setValue(event.selected);
@@ -5013,7 +5023,7 @@ class BaseFormFieldComponent extends ReactWrapperModule {
5013
5023
  setTouched(true);
5014
5024
  } }, (this.field().options || []).map((option) => (React__default.createElement(SingleSelectOption, { key: crypto.randomUUID() || option.key, label: option.label, value: option.value })))));
5015
5025
  case 'multi-dropdown':
5016
- return (React__default.createElement(MultiSelectField, { clearText: "Clear", clearable: true, empty: "No data found", filterable: (this.field().options || []).length > 5, filterPlaceholder: "Type to filter options", error: hasError, validationText: validationError, inputWidth: this.fieldConfig()?.inputWidth, label: this.label(), name: this.field().id, required: this.field().required, loadingText: "Loading options", noMatchText: "No options found", onChange: (event) => {
5026
+ return (React__default.createElement(MultiSelectField, { clearText: "Clear", clearable: true, empty: "No data found", filterable: (this.field().options || []).length > 5, filterPlaceholder: "Type to filter options", error: hasError, validationText: validationError, inputWidth: this.fieldConfig()?.inputWidth, disabled: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, readOnly: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, label: this.label(), name: this.field().id, required: this.field().required, loadingText: "Loading options", noMatchText: "No options found", onChange: (event) => {
5017
5027
  const selectedValue = (event.selected || []).join(',');
5018
5028
  this.ngZone.run(() => {
5019
5029
  (this.form().get(this.field().id) ||
@@ -5027,7 +5037,7 @@ class BaseFormFieldComponent extends ReactWrapperModule {
5027
5037
  setTouched(true);
5028
5038
  }, selected: arrayValue }, (this.field().options || []).map((option) => (React__default.createElement(MultiSelectOption, { key: option.key, label: option.label, value: option.value })))));
5029
5039
  case 'file':
5030
- return (React__default.createElement(FileInputField, { accept: "*", buttonLabel: "Upload a file", label: this.label(), name: this.field().id, files: this.uploadedFiles, onChange: (event) => {
5040
+ return (React__default.createElement(FileInputField, { accept: "*", buttonLabel: "Upload a file", label: this.label(), name: this.field().id, disabled: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, readOnly: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, files: this.uploadedFiles, onChange: (event) => {
5031
5041
  this.uploadedFiles.push((event?.files || [])[0]);
5032
5042
  this.ngZone.run(() => {
5033
5043
  this.form().get(this.field().id) ||
@@ -5049,7 +5059,7 @@ class BaseFormFieldComponent extends ReactWrapperModule {
5049
5059
  });
5050
5060
  }, removeText: "Remove" })))));
5051
5061
  default:
5052
- return (React__default.createElement(InputField$1, { error: hasError, validationText: validationError, type: this.field().type, inputWidth: this.fieldConfig()?.inputWidth, required: this.field().required, name: this.field().id, label: this.label(), min: this.field().min?.toString(), max: this.field().max?.toString(), placeholder: this.placeholder(), value: value, readOnly: this.field().disabled, onChange: (event) => {
5062
+ return (React__default.createElement(InputField$1, { error: hasError, validationText: validationError, type: this.field().type, inputWidth: this.fieldConfig()?.inputWidth, required: this.field().required, name: this.field().id, label: this.label(), min: this.field().min?.toString(), max: this.field().max?.toString(), placeholder: this.placeholder(), value: value, disabled: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, readOnly: this.field()?.disabled || this.field()?.generated || this.field()?.unique || false, onChange: (event) => {
5053
5063
  this.ngZone.run(() => {
5054
5064
  (this.form().get(this.field().id) ||
5055
5065
  this.form().get(this.field().key))?.setValue(event.value);