@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.
- package/lib/components/XAutoCompleteDT.d.ts +1 -0
- package/lib/components/XAutoCompleteDT.js +1 -1
- package/lib/components/XDropdownDT.js +9 -8
- package/lib/components/XDropdownForEntity.js +7 -6
- package/lib/components/XFormDataTable2.d.ts +2 -0
- package/lib/components/XFormDataTable2.js +2 -2
- package/lib/components/XLazyDataTable/XOcfDropdown.js +3 -3
- package/lib/components/locale/x-en.json +2 -1
- package/package.json +1 -1
|
@@ -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
|
-
|
|
81
|
-
|
|
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, (
|
|
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 =
|
|
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
|
-
|
|
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
|
|
110
|
-
if (
|
|
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
|
-
|
|
119
|
-
|
|
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 =
|
|
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
|
|
136
|
-
if (
|
|
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
|
|
39
|
-
if (
|
|
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;
|