@michalrakus/x-react-web-lib 1.31.1 → 1.31.3

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.
@@ -16,6 +16,7 @@ export interface XAutoCompleteDTProps extends XFormComponentDTProps {
16
16
  suggestionsLoad?: XSuggestionsLoadProp;
17
17
  lazyLoadMaxRows?: number;
18
18
  splitQueryValue?: boolean;
19
+ addRowEnabled: boolean;
19
20
  minLength?: number;
20
21
  filter?: XTableFieldFilterProp;
21
22
  sortField?: string | DataTableSortMeta[];
@@ -68,7 +68,7 @@ var XAutoCompleteDT = /** @class */ (function (_super) {
68
68
  // TODO - size
69
69
  //const size = this.props.size ?? xDisplayField.length;
70
70
  // div className="col" nam zabezpeci aby XAutoCompleteBase nezaberal celu dlzku grid-u (ma nastaveny width=100% vdaka "formgroup-inline")
71
- return (react_1.default.createElement(XAutoCompleteBase_1.XAutoCompleteBase, { value: this.getValue(), onChange: this.onChangeAutoCompleteBase, field: this.props.displayField, itemTemplate: this.props.itemTemplate, searchBrowse: this.props.searchBrowse, valueForm: this.props.assocForm, idField: xEntityAssoc.idField, readOnly: this.isReadOnly(), error: this.getError(), onErrorChange: this.onErrorChangeAutoCompleteBase, suggestions: this.props.suggestions, suggestionsLoad: this.props.suggestionsLoad, lazyLoadMaxRows: this.props.lazyLoadMaxRows, splitQueryValue: this.props.splitQueryValue, minLength: this.props.minLength, scrollHeight: this.props.scrollHeight, suggestionsQuery: { entity: this.xAssoc.entityName, filter: function () { return _this.getFilterBase(_this.props.filter); }, sortField: this.props.sortField, fields: this.props.fields }, inputClassName: this.props.inputClassName }));
71
+ return (react_1.default.createElement(XAutoCompleteBase_1.XAutoCompleteBase, { value: this.getValue(), onChange: this.onChangeAutoCompleteBase, field: this.props.displayField, itemTemplate: this.props.itemTemplate, searchBrowse: this.props.searchBrowse, valueForm: this.props.assocForm, idField: xEntityAssoc.idField, readOnly: this.isReadOnly(), error: this.getError(), onErrorChange: this.onErrorChangeAutoCompleteBase, suggestions: this.props.suggestions, suggestionsLoad: this.props.suggestionsLoad, lazyLoadMaxRows: this.props.lazyLoadMaxRows, splitQueryValue: this.props.splitQueryValue, addRowEnabled: this.props.addRowEnabled, minLength: this.props.minLength, scrollHeight: this.props.scrollHeight, suggestionsQuery: { entity: this.xAssoc.entityName, filter: function () { return _this.getFilterBase(_this.props.filter); }, sortField: this.props.sortField, fields: this.props.fields }, inputClassName: this.props.inputClassName }));
72
72
  };
73
73
  return XAutoCompleteDT;
74
74
  }(XFormComponentDT_1.XFormComponentDT));
@@ -77,8 +77,9 @@ var XDropdownDT = function (props) {
77
77
  var findOptions = function () { return __awaiter(void 0, void 0, void 0, function () {
78
78
  var options, xAssoc_1;
79
79
  var _a;
80
- return __generator(this, function (_b) {
81
- switch (_b.label) {
80
+ var _b;
81
+ return __generator(this, function (_c) {
82
+ switch (_c.label) {
82
83
  case 0:
83
84
  options = props.dropdownOptionsMap[props.assocField];
84
85
  if (!(options === undefined)) return [3 /*break*/, 2];
@@ -89,16 +90,16 @@ var XDropdownDT = function (props) {
89
90
  // ak by tu tento riadok nebol, tak by sa options nacitavali tolkokrat, kolko je riadkov v tabulke
90
91
  props.dropdownOptionsMap[props.assocField] = [];
91
92
  xAssoc_1 = XUtilsMetadataCommon_1.XUtilsMetadataCommon.getXAssocToOne(XUtilsMetadataCommon_1.XUtilsMetadataCommon.getXEntity(props.entity), props.assocField);
92
- return [4 /*yield*/, XUtils_1.XUtils.fetchRows(xAssoc_1.entityName, props.filter, (_a = props.sortField) !== null && _a !== void 0 ? _a : props.displayField)];
93
+ return [4 /*yield*/, XUtils_1.XUtils.fetchRows(xAssoc_1.entityName, props.filter, (_b = props.sortField) !== null && _b !== void 0 ? _b : props.displayField)];
93
94
  case 1:
94
95
  //options = await XUtils.fetchMany('findRowsForAssoc', {entity: props.entity, assocField: props.assocField});
95
- options = _b.sent();
96
- options.splice(0, 0, {}); // null polozka (nepridavat pre not null atributy)
96
+ options = _c.sent();
97
+ options.splice(0, 0, (_a = {}, _a[idField] = null, _a[props.displayField] = "", _a)); // null polozka (nepridavat pre not null atributy)
97
98
  props.dropdownOptionsMap[props.assocField] = options;
98
99
  //console.log("XDropdownDT - findOptions - citali sme options pre field = " + props.assocField);
99
100
  //console.log(props.dropdownOptionsMap);
100
101
  props.onDropdownOptionsMapChange(props.dropdownOptionsMap); // vyrenderujeme nacitane hodnoty
101
- _b.label = 2;
102
+ _c.label = 2;
102
103
  case 2: return [2 /*return*/];
103
104
  }
104
105
  });
@@ -106,8 +107,8 @@ var XDropdownDT = function (props) {
106
107
  var onValueChange = function (assocField, rowData, newValue) {
107
108
  // zmenime hodnotu v modeli (odtial sa hodnota cita)
108
109
  var newValueOrNull;
109
- // specialna null polozka nema ziadne atributy
110
- if (Object.keys(newValue).length === 0) {
110
+ // specialna null polozka ma id === null
111
+ if (newValue[idField] === null) {
111
112
  newValueOrNull = null;
112
113
  }
113
114
  else {
@@ -115,14 +115,15 @@ var XDropdownForEntity = /** @class */ (function (_super) {
115
115
  var _a;
116
116
  return __awaiter(this, void 0, void 0, function () {
117
117
  var options;
118
- return __generator(this, function (_b) {
119
- switch (_b.label) {
118
+ var _b;
119
+ return __generator(this, function (_c) {
120
+ switch (_c.label) {
120
121
  case 0: return [4 /*yield*/, XUtils_1.XUtils.fetchRows(this.props.entity, this.props.filter, (_a = this.props.sortField) !== null && _a !== void 0 ? _a : this.props.displayField)];
121
122
  case 1:
122
- options = _b.sent();
123
+ options = _c.sent();
123
124
  if (this.props.isNotNull === undefined || !this.props.isNotNull) {
124
125
  // pridame prazdnu polozku
125
- options.splice(0, 0, {}); // null polozka
126
+ options.splice(0, 0, (_b = {}, _b[this.idField] = null, _b[this.props.displayField] = "", _b)); // null polozka
126
127
  }
127
128
  this.setState({ options: options });
128
129
  return [2 /*return*/];
@@ -132,8 +133,8 @@ var XDropdownForEntity = /** @class */ (function (_super) {
132
133
  };
133
134
  XDropdownForEntity.prototype.onChange = function (e) {
134
135
  var value;
135
- // specialna null polozka nema ziadne atributy
136
- if (Object.keys(e.value).length === 0) {
136
+ // specialna null polozka id field null
137
+ if (e.value[this.idField] === null) {
137
138
  value = null;
138
139
  }
139
140
  else {
@@ -116,6 +116,7 @@ export interface XFormAutoCompleteColumnProps extends XFormColumnBaseProps {
116
116
  displayField: string;
117
117
  searchBrowse?: JSX.Element;
118
118
  assocForm?: JSX.Element;
119
+ addRowEnabled: boolean;
119
120
  filter?: XTableFieldFilterProp;
120
121
  sortField?: string | DataTableSortMeta[];
121
122
  fields?: string[];
@@ -153,6 +154,7 @@ export declare const XFormAutoCompleteColumn: {
153
154
  (props: XFormAutoCompleteColumnProps): null;
154
155
  defaultProps: {
155
156
  type: string;
157
+ addRowEnabled: boolean;
156
158
  columnViewStatus: boolean;
157
159
  };
158
160
  };
@@ -404,7 +404,7 @@ var XFormDataTable2 = /** @class */ (function (_super) {
404
404
  }
405
405
  else if (columnProps.type === "autoComplete") {
406
406
  var columnPropsAutoComplete = columnProps;
407
- body = react_1.default.createElement(XAutoCompleteDT_1.XAutoCompleteDT, { form: this.props.form, entity: this.getEntity(), assocField: columnPropsAutoComplete.assocField, displayField: columnPropsAutoComplete.displayField, searchBrowse: columnPropsAutoComplete.searchBrowse, assocForm: columnPropsAutoComplete.assocForm, filter: columnPropsAutoComplete.filter, sortField: columnPropsAutoComplete.sortField, fields: columnPropsAutoComplete.fields, suggestions: columnPropsAutoComplete.suggestions, rowData: rowData, readOnly: readOnly });
407
+ body = react_1.default.createElement(XAutoCompleteDT_1.XAutoCompleteDT, { form: this.props.form, entity: this.getEntity(), assocField: columnPropsAutoComplete.assocField, displayField: columnPropsAutoComplete.displayField, searchBrowse: columnPropsAutoComplete.searchBrowse, assocForm: columnPropsAutoComplete.assocForm, addRowEnabled: columnPropsAutoComplete.addRowEnabled, filter: columnPropsAutoComplete.filter, sortField: columnPropsAutoComplete.sortField, fields: columnPropsAutoComplete.fields, suggestions: columnPropsAutoComplete.suggestions, rowData: rowData, readOnly: readOnly });
408
408
  }
409
409
  else if (columnProps.type === "searchButton") {
410
410
  var columnPropsSearchButton = columnProps;
@@ -737,7 +737,7 @@ var XFormAutoCompleteColumn = function (props) {
737
737
  return (null);
738
738
  };
739
739
  exports.XFormAutoCompleteColumn = XFormAutoCompleteColumn;
740
- exports.XFormAutoCompleteColumn.defaultProps = __assign(__assign({}, XFormColumnBase_defaultProps), { type: "autoComplete" });
740
+ exports.XFormAutoCompleteColumn.defaultProps = __assign(__assign({}, XFormColumnBase_defaultProps), { type: "autoComplete", addRowEnabled: true });
741
741
  var XFormSearchButtonColumn = function (props) {
742
742
  // nevadi ze tu nic nevraciame, field a header vieme precitat a zvysok by sme aj tak zahodili lebo vytvarame novy element
743
743
  return (null);
@@ -35,8 +35,8 @@ var dropdown_1 = require("primereact/dropdown");
35
35
  var XOcfDropdown = function (props) {
36
36
  var onChange = function (e) {
37
37
  var value;
38
- // specialna null polozka nema ziadne atributy
39
- if (Object.keys(e.value).length === 0) {
38
+ // specialna null polozka ma label === ""
39
+ if (e.value.label === "") {
40
40
  value = undefined;
41
41
  }
42
42
  else {
@@ -47,7 +47,7 @@ var XOcfDropdown = function (props) {
47
47
  // pridame prazdnu polozku
48
48
  // polozku pridavame do kopie zoznamu, lebo inac sa nam "polozka" v props.optionalCustomFilters "mnozi"
49
49
  var options = __spreadArray([], __read(props.optionalCustomFilters), false);
50
- options.splice(0, 0, {});
50
+ options.splice(0, 0, { label: "" });
51
51
  return (react_1.default.createElement(dropdown_1.Dropdown, { options: options, optionLabel: "label", value: props.value, onChange: onChange, className: props.className }));
52
52
  };
53
53
  exports.XOcfDropdown = XOcfDropdown;
@@ -35,6 +35,7 @@
35
35
  "no": "no",
36
36
  "dateFrom": "Date from",
37
37
  "dateTo": "Date to",
38
- "year": "Year"
38
+ "year": "Year",
39
+ "yearForAgeCalculation": "Year for age calculation"
39
40
  }
40
41
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@michalrakus/x-react-web-lib",
3
- "version": "1.31.1",
3
+ "version": "1.31.3",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "clean": "rimraf lib",