@michalrakus/x-react-web-lib 0.25.0 → 1.1.0
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/LICENSE.md +21 -0
- package/XEnvVars.d.ts +3 -0
- package/XEnvVars.js +5 -0
- package/XInputTextarea.d.ts +3 -0
- package/XInputTextarea.js +5 -0
- package/gulpfile.js +2 -0
- package/lib/administration/XBrowseMetaForm.js +1 -1
- package/lib/administration/XUserBrowse.js +5 -4
- package/lib/administration/XUserForm.js +40 -28
- package/lib/components/SourceCodeLinkEntity.js +1 -1
- package/lib/components/XAutoComplete.d.ts +3 -3
- package/lib/components/XAutoComplete.js +16 -37
- package/lib/components/XAutoCompleteBase.d.ts +1 -1
- package/lib/components/XAutoCompleteBase.js +23 -22
- package/lib/components/XBrowse.js +7 -3
- package/lib/components/XChangePasswordForm.js +9 -5
- package/lib/components/XCheckbox.d.ts +8 -9
- package/lib/components/XCheckbox.js +38 -30
- package/lib/components/XDataTable.js +11 -7
- package/lib/components/XDropdown.d.ts +4 -3
- package/lib/components/XDropdown.js +21 -44
- package/lib/components/XDropdownDT.js +7 -3
- package/lib/components/XDropdownDTFilter.js +9 -5
- package/lib/components/XDropdownFormDTFilter.js +9 -5
- package/lib/components/XEditColumnDialog.js +9 -5
- package/lib/components/XEnvVars.d.ts +12 -0
- package/lib/components/XEnvVars.js +20 -0
- package/lib/components/XErrors.d.ts +1 -0
- package/lib/components/XExportRowsDialog.js +12 -6
- package/lib/components/XFieldSelector.js +8 -4
- package/lib/components/XFormBase.d.ts +1 -0
- package/lib/components/XFormBase.js +47 -21
- package/lib/components/XFormComponent.d.ts +10 -6
- package/lib/components/XFormComponent.js +60 -48
- package/lib/components/XFormDataTable2.d.ts +8 -3
- package/lib/components/XFormDataTable2.js +106 -28
- package/lib/components/XFormNavigator3.js +14 -6
- package/lib/components/XInput.d.ts +13 -0
- package/lib/components/XInput.js +38 -0
- package/lib/components/XInputDate.js +1 -1
- package/lib/components/XInputDateDT.js +1 -1
- package/lib/components/XInputText.d.ts +6 -11
- package/lib/components/XInputText.js +14 -49
- package/lib/components/XInputTextDT.js +2 -3
- package/lib/components/XInputTextarea.d.ts +18 -0
- package/lib/components/XInputTextarea.js +85 -0
- package/lib/components/XLazyDataTable.d.ts +3 -0
- package/lib/components/XLazyDataTable.js +162 -77
- package/lib/components/XLoginForm.js +9 -5
- package/lib/components/XResponseError.js +1 -1
- package/lib/components/XSearchButton.d.ts +2 -3
- package/lib/components/XSearchButton.js +12 -35
- package/lib/components/XSearchButtonDT.js +10 -6
- package/lib/components/XSearchButtonOld.js +10 -6
- package/lib/components/XToken.d.ts +4 -3
- package/lib/components/XUtils.d.ts +13 -4
- package/lib/components/XUtils.js +90 -15
- package/lib/components/XUtilsConversions.js +10 -2
- package/lib/components/XUtilsMetadata.d.ts +1 -1
- package/lib/components/XUtilsMetadata.js +20 -11
- package/lib/components/useXToken.js +1 -1
- package/lib/serverApi/ExportImportParam.d.ts +3 -3
- package/lib/serverApi/FindParam.d.ts +3 -13
- package/lib/serverApi/FindParam.js +14 -0
- package/lib/serverApi/XUser.d.ts +1 -0
- package/lib/serverApi/XUtilsCommon.js +2 -2
- package/package.json +34 -32
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -33,7 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
33
37
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
38
|
function step(op) {
|
|
35
39
|
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
-
while (_) try {
|
|
40
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
37
41
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
38
42
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
43
|
switch (op[0]) {
|
|
@@ -90,12 +94,12 @@ var datatable_1 = require("primereact/datatable");
|
|
|
90
94
|
var column_1 = require("primereact/column");
|
|
91
95
|
// TODO - nedokoncena nepouzivana ne-lazy DataTable
|
|
92
96
|
var XDataTable = function (props) {
|
|
93
|
-
var dataTableEl = react_1.useRef(null);
|
|
94
|
-
var _a = __read(react_1.useState([]), 2), value = _a[0], setValue = _a[1];
|
|
95
|
-
var _b = __read(react_1.useState(false), 2), loading = _b[0], setLoading = _b[1];
|
|
96
|
-
var _c = __read(react_1.useState(null), 2), selectedRow = _c[0], setSelectedRow = _c[1];
|
|
97
|
+
var dataTableEl = (0, react_1.useRef)(null);
|
|
98
|
+
var _a = __read((0, react_1.useState)([]), 2), value = _a[0], setValue = _a[1];
|
|
99
|
+
var _b = __read((0, react_1.useState)(false), 2), loading = _b[0], setLoading = _b[1];
|
|
100
|
+
var _c = __read((0, react_1.useState)(null), 2), selectedRow = _c[0], setSelectedRow = _c[1];
|
|
97
101
|
// parameter [] zabezpeci ze sa metoda zavola len po prvom renderingu (a nie po kazdej zmene stavu (zavolani setNieco()))
|
|
98
|
-
react_1.useEffect(function () {
|
|
102
|
+
(0, react_1.useEffect)(function () {
|
|
99
103
|
loadData();
|
|
100
104
|
console.log("XDataTable - data loaded (simple)");
|
|
101
105
|
}, []); // eslint-disable-line react-hooks/exhaustive-deps
|
|
@@ -11,9 +11,10 @@ export declare class XDropdown extends XFormComponent<XDropdownProps> {
|
|
|
11
11
|
options: any[];
|
|
12
12
|
};
|
|
13
13
|
constructor(props: XDropdownProps);
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
getField(): string;
|
|
15
|
+
isNotNull(): boolean;
|
|
16
|
+
getValue(): any | null;
|
|
17
|
+
onValueChange(e: any): void;
|
|
17
18
|
componentDidMount(): void;
|
|
18
19
|
private findOptions;
|
|
19
20
|
render(): JSX.Element;
|
|
@@ -40,7 +40,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
40
40
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
41
41
|
function step(op) {
|
|
42
42
|
if (f) throw new TypeError("Generator is already executing.");
|
|
43
|
-
while (_) try {
|
|
43
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
44
44
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
45
45
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
46
46
|
switch (op[0]) {
|
|
@@ -80,31 +80,30 @@ var XDropdown = /** @class */ (function (_super) {
|
|
|
80
80
|
options: []
|
|
81
81
|
};
|
|
82
82
|
props.form.addField(props.assocField + '.' + props.displayField);
|
|
83
|
+
_this.onValueChange = _this.onValueChange.bind(_this);
|
|
83
84
|
return _this;
|
|
84
85
|
}
|
|
85
|
-
XDropdown.prototype.
|
|
86
|
-
|
|
87
|
-
// TODO - zohladnit aj aktualny readOnly stav
|
|
88
|
-
var readOnly = (_a = this.props.readOnly) !== null && _a !== void 0 ? _a : false;
|
|
89
|
-
if (!readOnly) {
|
|
90
|
-
return this.props.assocField;
|
|
91
|
-
}
|
|
92
|
-
return undefined;
|
|
86
|
+
XDropdown.prototype.getField = function () {
|
|
87
|
+
return this.props.assocField;
|
|
93
88
|
};
|
|
94
|
-
XDropdown.prototype.
|
|
95
|
-
|
|
96
|
-
// TODO - zohladnit aj aktualny readOnly stav
|
|
97
|
-
return !this.xAssoc.isNullable && !((_a = this.props.readOnly) !== null && _a !== void 0 ? _a : false);
|
|
89
|
+
XDropdown.prototype.isNotNull = function () {
|
|
90
|
+
return !this.xAssoc.isNullable;
|
|
98
91
|
};
|
|
99
|
-
XDropdown.prototype.
|
|
100
|
-
var
|
|
101
|
-
var assocObject = object !== null ? object[this.props.assocField] : null;
|
|
102
|
-
// ak je undefined, pre istotu dame na null, null je standard
|
|
103
|
-
if (assocObject === undefined) {
|
|
104
|
-
assocObject = null;
|
|
105
|
-
}
|
|
92
|
+
XDropdown.prototype.getValue = function () {
|
|
93
|
+
var assocObject = this.getValueFromObject();
|
|
106
94
|
return assocObject;
|
|
107
95
|
};
|
|
96
|
+
XDropdown.prototype.onValueChange = function (e) {
|
|
97
|
+
var newValueOrNull;
|
|
98
|
+
// specialna null polozka nema ziadne atributy
|
|
99
|
+
if (Object.keys(e.target.value).length === 0) {
|
|
100
|
+
newValueOrNull = null;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
newValueOrNull = e.target.value;
|
|
104
|
+
}
|
|
105
|
+
this.onValueChangeBase(newValueOrNull);
|
|
106
|
+
};
|
|
108
107
|
XDropdown.prototype.componentDidMount = function () {
|
|
109
108
|
this.findOptions(this.props.form.getEntity(), this.props.assocField);
|
|
110
109
|
};
|
|
@@ -124,36 +123,14 @@ var XDropdown = /** @class */ (function (_super) {
|
|
|
124
123
|
});
|
|
125
124
|
};
|
|
126
125
|
XDropdown.prototype.render = function () {
|
|
127
|
-
var _this = this;
|
|
128
|
-
var _a, _b, _c;
|
|
129
|
-
var props = this.props;
|
|
130
126
|
// TODO - pridat cez generikum typ objektu v Dropdown-e (ak sa da)
|
|
131
127
|
var options = this.state.options;
|
|
132
|
-
var label = (_a = props.label) !== null && _a !== void 0 ? _a : props.assocField;
|
|
133
|
-
if (this.checkNotNull()) {
|
|
134
|
-
label = XUtils_1.XUtils.markNotNull(label);
|
|
135
|
-
}
|
|
136
|
-
var readOnly = (_b = props.readOnly) !== null && _b !== void 0 ? _b : false;
|
|
137
|
-
var labelStyle = (_c = props.labelStyle) !== null && _c !== void 0 ? _c : { width: XUtils_1.XUtils.FIELD_LABEL_WIDTH };
|
|
138
|
-
var onValueChange = function (e) {
|
|
139
|
-
var newValueOrNull;
|
|
140
|
-
// specialna null polozka nema ziadne atributy
|
|
141
|
-
if (Object.keys(e.target.value).length === 0) {
|
|
142
|
-
newValueOrNull = null;
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
newValueOrNull = e.target.value;
|
|
146
|
-
}
|
|
147
|
-
var error = _this.validateOnChange(newValueOrNull);
|
|
148
|
-
props.form.onFieldChange(props.assocField, newValueOrNull, error);
|
|
149
|
-
};
|
|
150
128
|
// TODO - readOnly implementovat
|
|
151
129
|
// Dropdown setuje do atributu object.assocField asociovany objekt zo zoznamu objektov ktore ziskame podla asociacie
|
|
152
|
-
var assocObject = this.getValueFromObject();
|
|
153
130
|
// appendTo={document.body} appenduje overlay panel na element body - eliminuje "skakanie" formularu na mobile pri kliknuti na dropdown
|
|
154
131
|
return (react_1.default.createElement("div", { className: "field grid" },
|
|
155
|
-
react_1.default.createElement("label", { htmlFor: props.assocField, className: "col-fixed", style:
|
|
156
|
-
react_1.default.createElement(dropdown_1.Dropdown, __assign({ appendTo: document.body, id: props.assocField, optionLabel: props.displayField, value:
|
|
132
|
+
react_1.default.createElement("label", { htmlFor: this.props.assocField, className: "col-fixed", style: this.getLabelStyle() }, this.getLabel()),
|
|
133
|
+
react_1.default.createElement(dropdown_1.Dropdown, __assign({ appendTo: document.body, id: this.props.assocField, optionLabel: this.props.displayField, value: this.getValue(), options: options, onChange: this.onValueChange }, this.getClassNameTooltip()))));
|
|
157
134
|
};
|
|
158
135
|
return XDropdown;
|
|
159
136
|
}(XFormComponent_1.XFormComponent));
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -33,7 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
33
37
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
38
|
function step(op) {
|
|
35
39
|
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
-
while (_) try {
|
|
40
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
37
41
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
38
42
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
43
|
switch (op[0]) {
|
|
@@ -62,7 +66,7 @@ var dropdown_1 = require("primereact/dropdown");
|
|
|
62
66
|
var XDropdownDT = function (props) {
|
|
63
67
|
// poznamka: nacitanie/ulozenie options je vytiahnute do parent komponentu XFormDataTable koli tomu aby sme nenacitavali options pre kazdy riadok tabulky
|
|
64
68
|
// parameter [] zabezpeci ze sa metoda zavola len po prvom renderingu (a nie po kazdej zmene stavu (zavolani setNieco()))
|
|
65
|
-
react_1.useEffect(function () {
|
|
69
|
+
(0, react_1.useEffect)(function () {
|
|
66
70
|
//console.log("XDropdownDT - zavolany useEffect *******************")
|
|
67
71
|
findOptions();
|
|
68
72
|
}, []); // eslint-disable-line react-hooks/exhaustive-deps
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -33,7 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
33
37
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
38
|
function step(op) {
|
|
35
39
|
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
-
while (_) try {
|
|
40
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
37
41
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
38
42
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
43
|
switch (op[0]) {
|
|
@@ -78,16 +82,16 @@ var dropdown_1 = require("primereact/dropdown");
|
|
|
78
82
|
var XUtilsCommon_1 = require("../serverApi/XUtilsCommon");
|
|
79
83
|
// pouzivany vo filtri v XLazyDataTable aj v XFormDataTable2
|
|
80
84
|
var XDropdownDTFilter = function (props) {
|
|
81
|
-
var _a = __read(react_1.useState([]), 2), options = _a[0], setOptions = _a[1];
|
|
85
|
+
var _a = __read((0, react_1.useState)([]), 2), options = _a[0], setOptions = _a[1];
|
|
82
86
|
// TODO - upravit tak aby zvladol aj path dlzky 3 a viac
|
|
83
87
|
var fieldList = XUtilsCommon_1.XUtilsCommon.getFieldListForPath(props.path);
|
|
84
88
|
if (fieldList.length < 2) {
|
|
85
|
-
throw "XDropdownDTFilter: prop path ("
|
|
89
|
+
throw "XDropdownDTFilter: prop path (".concat(props.path, ") must have at least 2 fields");
|
|
86
90
|
}
|
|
87
91
|
var assocField = fieldList[0];
|
|
88
92
|
var displayField = fieldList[fieldList.length - 1];
|
|
89
93
|
// parameter [] zabezpeci ze sa metoda zavola len po prvom renderingu (a nie po kazdej zmene stavu (zavolani setNieco()))
|
|
90
|
-
react_1.useEffect(function () {
|
|
94
|
+
(0, react_1.useEffect)(function () {
|
|
91
95
|
findOptions(props.entity, assocField, displayField);
|
|
92
96
|
}, []); // eslint-disable-line react-hooks/exhaustive-deps
|
|
93
97
|
var onValueChange = function (e) {
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -33,7 +37,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
33
37
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
38
|
function step(op) {
|
|
35
39
|
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
-
while (_) try {
|
|
40
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
37
41
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
38
42
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
43
|
switch (op[0]) {
|
|
@@ -78,10 +82,10 @@ var dropdown_1 = require("primereact/dropdown");
|
|
|
78
82
|
// stary nepouzivany Dropdown do filtra
|
|
79
83
|
var XDropdownFormDTFilter = function (props) {
|
|
80
84
|
// TODO - pridat cez generikum typ objektu v Dropdown-e (ak sa da)
|
|
81
|
-
var _a = __read(react_1.useState(null), 2), value = _a[0], setValue = _a[1];
|
|
82
|
-
var _b = __read(react_1.useState([]), 2), options = _b[0], setOptions = _b[1];
|
|
85
|
+
var _a = __read((0, react_1.useState)(null), 2), value = _a[0], setValue = _a[1];
|
|
86
|
+
var _b = __read((0, react_1.useState)([]), 2), options = _b[0], setOptions = _b[1];
|
|
83
87
|
// parameter [] zabezpeci ze sa metoda zavola len po prvom renderingu (a nie po kazdej zmene stavu (zavolani setNieco()))
|
|
84
|
-
react_1.useEffect(function () {
|
|
88
|
+
(0, react_1.useEffect)(function () {
|
|
85
89
|
findOptions(props.dataTable.getEntity(), props.assocField);
|
|
86
90
|
}, []); // eslint-disable-line react-hooks/exhaustive-deps
|
|
87
91
|
var onValueChange = function (e) {
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -46,10 +50,10 @@ var XUtilsCommon_1 = require("../serverApi/XUtilsCommon");
|
|
|
46
50
|
var XEditColumnDialog = function (props) {
|
|
47
51
|
var _a;
|
|
48
52
|
var notNullValues = (_a = props.xEditColumnDialogValues) !== null && _a !== void 0 ? _a : { field: "", header: "", dropdownInFilter: false };
|
|
49
|
-
var _b = __read(react_1.useState(notNullValues.field), 2), field = _b[0], setField = _b[1];
|
|
50
|
-
var _c = __read(react_1.useState(notNullValues.header), 2), header = _c[0], setHeader = _c[1];
|
|
51
|
-
var _d = __read(react_1.useState(notNullValues.dropdownInFilter), 2), dropdownInFilter = _d[0], setDropdownInFilter = _d[1];
|
|
52
|
-
var _e = __read(react_1.useState(true), 2), dropdownInFilterReadOnly = _e[0], setDropdownInFilterReadOnly = _e[1];
|
|
53
|
+
var _b = __read((0, react_1.useState)(notNullValues.field), 2), field = _b[0], setField = _b[1];
|
|
54
|
+
var _c = __read((0, react_1.useState)(notNullValues.header), 2), header = _c[0], setHeader = _c[1];
|
|
55
|
+
var _d = __read((0, react_1.useState)(notNullValues.dropdownInFilter), 2), dropdownInFilter = _d[0], setDropdownInFilter = _d[1];
|
|
56
|
+
var _e = __read((0, react_1.useState)(true), 2), dropdownInFilterReadOnly = _e[0], setDropdownInFilterReadOnly = _e[1];
|
|
53
57
|
// bez tejto metody by nefungovala inicializacia stavu podla "props.xEditColumnDialogValues" pri opetovnom otvarani dialogu
|
|
54
58
|
// asi to neni moc pekny sposob ale nechce sa mi posuvat stav do vyssej komponenty, zatial nechame takto
|
|
55
59
|
var onShow = function () {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare enum XEnvVar {
|
|
2
|
+
REACT_APP_BACKEND_URL = "REACT_APP_BACKEND_URL",
|
|
3
|
+
REACT_APP_AUTH = "REACT_APP_AUTH",
|
|
4
|
+
REACT_APP_AUTH0_DOMAIN = "REACT_APP_AUTH0_DOMAIN",
|
|
5
|
+
REACT_APP_AUTH0_CLIENT_ID = "REACT_APP_AUTH0_CLIENT_ID",
|
|
6
|
+
REACT_APP_AUTH0_AUDIENCE = "REACT_APP_AUTH0_AUDIENCE"
|
|
7
|
+
}
|
|
8
|
+
export declare enum XReactAppAuth {
|
|
9
|
+
LOCAL = "LOCAL",
|
|
10
|
+
AUTH0 = "AUTH0",
|
|
11
|
+
AAD = "AAD"
|
|
12
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XReactAppAuth = exports.XEnvVar = void 0;
|
|
4
|
+
// enum for environment variables in configuration file .env
|
|
5
|
+
var XEnvVar;
|
|
6
|
+
(function (XEnvVar) {
|
|
7
|
+
XEnvVar["REACT_APP_BACKEND_URL"] = "REACT_APP_BACKEND_URL";
|
|
8
|
+
XEnvVar["REACT_APP_AUTH"] = "REACT_APP_AUTH";
|
|
9
|
+
XEnvVar["REACT_APP_AUTH0_DOMAIN"] = "REACT_APP_AUTH0_DOMAIN";
|
|
10
|
+
XEnvVar["REACT_APP_AUTH0_CLIENT_ID"] = "REACT_APP_AUTH0_CLIENT_ID";
|
|
11
|
+
XEnvVar["REACT_APP_AUTH0_AUDIENCE"] = "REACT_APP_AUTH0_AUDIENCE";
|
|
12
|
+
//REACT_APP_AUTH0_SCOPE = 'REACT_APP_AUTH0_SCOPE'
|
|
13
|
+
})(XEnvVar = exports.XEnvVar || (exports.XEnvVar = {}));
|
|
14
|
+
// enum for values of the environment variable REACT_APP_AUTH
|
|
15
|
+
var XReactAppAuth;
|
|
16
|
+
(function (XReactAppAuth) {
|
|
17
|
+
XReactAppAuth["LOCAL"] = "LOCAL";
|
|
18
|
+
XReactAppAuth["AUTH0"] = "AUTH0";
|
|
19
|
+
XReactAppAuth["AAD"] = "AAD";
|
|
20
|
+
})(XReactAppAuth = exports.XReactAppAuth || (exports.XReactAppAuth = {}));
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -44,11 +48,13 @@ var dropdown_1 = require("primereact/dropdown");
|
|
|
44
48
|
var checkbox_1 = require("primereact/checkbox");
|
|
45
49
|
var XButton_1 = require("./XButton");
|
|
46
50
|
var XUtils_1 = require("./XUtils");
|
|
51
|
+
var XUtilsConversions_1 = require("./XUtilsConversions");
|
|
47
52
|
var XExportRowsDialog = function (props) {
|
|
48
|
-
var _a
|
|
49
|
-
var _b = __read(react_1.useState(
|
|
50
|
-
var _c = __read(react_1.useState(
|
|
51
|
-
var _d = __read(react_1.useState(ExportImportParam_1.
|
|
53
|
+
var _a;
|
|
54
|
+
var _b = __read((0, react_1.useState)(ExportImportParam_1.ExportType.Csv), 2), exportType = _b[0], setExportType = _b[1];
|
|
55
|
+
var _c = __read((0, react_1.useState)(false), 2), createHeaderLine = _c[0], setCreateHeaderLine = _c[1];
|
|
56
|
+
var _d = __read((0, react_1.useState)(ExportImportParam_1.CsvSeparator.Semicolon), 2), csvSeparator = _d[0], setCsvSeparator = _d[1];
|
|
57
|
+
var _e = __read((0, react_1.useState)(ExportImportParam_1.CsvDecimalFormat.Comma), 2), decimalFormat = _e[0], setDecimalFormat = _e[1];
|
|
52
58
|
// bez tejto metody by pri opetovnom otvoreni dialogu ponechal povodne hodnoty
|
|
53
59
|
var onShow = function () {
|
|
54
60
|
setExportType(ExportImportParam_1.ExportType.Csv);
|
|
@@ -79,7 +85,7 @@ var XExportRowsDialog = function (props) {
|
|
|
79
85
|
return (react_1.default.createElement(dialog_1.Dialog, { visible: props.dialogOpened, onShow: onShow, onHide: function () { return props.onHideDialog(false, undefined, undefined); } },
|
|
80
86
|
react_1.default.createElement("div", { className: "field grid" },
|
|
81
87
|
react_1.default.createElement("label", { className: "col-fixed", style: { width: '9.3rem' } }, "Row count"),
|
|
82
|
-
react_1.default.createElement(inputtext_1.InputText, { value: props.rowCount, readOnly: true })),
|
|
88
|
+
react_1.default.createElement(inputtext_1.InputText, { value: (0, XUtilsConversions_1.numberAsUI)((_a = props.rowCount) !== null && _a !== void 0 ? _a : null), readOnly: true })),
|
|
83
89
|
react_1.default.createElement("div", { className: "field grid" },
|
|
84
90
|
react_1.default.createElement("label", { className: "col-fixed", style: { width: '9.3rem' } }, "Export type"),
|
|
85
91
|
react_1.default.createElement(dropdown_1.Dropdown, { value: exportType, options: XUtils_1.XUtils.exportTypeOptions, onChange: function (e) { return setExportType(e.value); } })),
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -53,9 +57,9 @@ var column_1 = require("primereact/column");
|
|
|
53
57
|
var XUtilsMetadata_1 = require("./XUtilsMetadata");
|
|
54
58
|
var XFieldSelector = function (props) {
|
|
55
59
|
// poznamka: treeNodeList by sme mohli vypocitavat priamo, ale ked pouzijeme useState/useEffect tak sa createTreeNodeList zavola len raz pri vytvoreni komponentu
|
|
56
|
-
var _a = __read(react_1.useState([]), 2), treeNodeList = _a[0], setTreeNodeList = _a[1];
|
|
60
|
+
var _a = __read((0, react_1.useState)([]), 2), treeNodeList = _a[0], setTreeNodeList = _a[1];
|
|
57
61
|
// parameter [] zabezpeci ze sa metoda zavola len po prvom renderingu (a nie po kazdej zmene stavu (zavolani setNieco()))
|
|
58
|
-
react_1.useEffect(function () {
|
|
62
|
+
(0, react_1.useEffect)(function () {
|
|
59
63
|
setTreeNodeList(createTreeNodeList(props.entity, ""));
|
|
60
64
|
}, []); // eslint-disable-line react-hooks/exhaustive-deps
|
|
61
65
|
var createTreeNodeList = function (entity, keyPrefix) {
|
|
@@ -101,7 +105,7 @@ var XFieldSelector = function (props) {
|
|
|
101
105
|
}
|
|
102
106
|
return treeNodeList;
|
|
103
107
|
};
|
|
104
|
-
return (react_1.default.createElement(treetable_1.TreeTable, { value: treeNodeList, selectionMode: "single", selectionKeys: props.selectionField, onSelectionChange: function (e) { return props.onSelectionChange(e.value); }, className: "x-field-treetable p-treetable-sm", scrollable: true, scrollHeight: "20rem" },
|
|
108
|
+
return (react_1.default.createElement(treetable_1.TreeTable, { value: treeNodeList, selectionMode: "single", selectionKeys: props.selectionField, onSelectionChange: function (e) { return props.onSelectionChange(Object.keys(e.value)[0]); }, className: "x-field-treetable p-treetable-sm", scrollable: true, scrollHeight: "20rem" },
|
|
105
109
|
react_1.default.createElement(column_1.Column, { field: "name", header: "Field name", headerStyle: { width: "15.7rem" }, expander: true }),
|
|
106
110
|
react_1.default.createElement(column_1.Column, { field: "type", header: "Type", headerStyle: { width: "9.3rem" } })));
|
|
107
111
|
};
|
|
@@ -37,6 +37,7 @@ export declare abstract class XFormBase extends Component<FormProps> {
|
|
|
37
37
|
onTableRemoveRow(assocField: string, row: {}): void;
|
|
38
38
|
addField(field: string): void;
|
|
39
39
|
addXFormComponent(xFormComponent: XFormComponent<any>): void;
|
|
40
|
+
findXFormComponent(field: string): XFormComponent<any> | undefined;
|
|
40
41
|
addXFormDataTable(xFormDataTable: XFormDataTable2): void;
|
|
41
42
|
onClickSave(): Promise<void>;
|
|
42
43
|
onClickCancel(): void;
|
|
@@ -40,7 +40,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
40
40
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
41
41
|
function step(op) {
|
|
42
42
|
if (f) throw new TypeError("Generator is already executing.");
|
|
43
|
-
while (_) try {
|
|
43
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
44
44
|
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
45
45
|
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
46
46
|
switch (op[0]) {
|
|
@@ -277,12 +277,33 @@ var XFormBase = /** @class */ (function (_super) {
|
|
|
277
277
|
XFormBase.prototype.addXFormComponent = function (xFormComponent) {
|
|
278
278
|
this.xFormComponentList.push(xFormComponent);
|
|
279
279
|
};
|
|
280
|
+
XFormBase.prototype.findXFormComponent = function (field) {
|
|
281
|
+
var e_2, _a;
|
|
282
|
+
try {
|
|
283
|
+
// TODO - vytvorit mapu (field, ref(xFormComponent)), bude to rychlejsie
|
|
284
|
+
// vytvorit len mapu (a list zrusit) je problem - mozme mat pre jeden field viacero (napr. asociacnych) componentov
|
|
285
|
+
for (var _b = __values(this.xFormComponentList), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
286
|
+
var xFormComponent = _c.value;
|
|
287
|
+
if (xFormComponent.getField() === field) {
|
|
288
|
+
return xFormComponent;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
293
|
+
finally {
|
|
294
|
+
try {
|
|
295
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
296
|
+
}
|
|
297
|
+
finally { if (e_2) throw e_2.error; }
|
|
298
|
+
}
|
|
299
|
+
return undefined;
|
|
300
|
+
};
|
|
280
301
|
XFormBase.prototype.addXFormDataTable = function (xFormDataTable) {
|
|
281
302
|
this.xFormDataTableList.push(xFormDataTable);
|
|
282
303
|
};
|
|
283
304
|
XFormBase.prototype.onClickSave = function () {
|
|
284
305
|
return __awaiter(this, void 0, void 0, function () {
|
|
285
|
-
var isAddRow, object,
|
|
306
|
+
var isAddRow, object, e_3;
|
|
286
307
|
return __generator(this, function (_a) {
|
|
287
308
|
switch (_a.label) {
|
|
288
309
|
case 0:
|
|
@@ -312,8 +333,8 @@ var XFormBase = /** @class */ (function (_super) {
|
|
|
312
333
|
object = _a.sent();
|
|
313
334
|
return [3 /*break*/, 4];
|
|
314
335
|
case 3:
|
|
315
|
-
|
|
316
|
-
XUtils_1.XUtils.showErrorMessage("Save row failed.",
|
|
336
|
+
e_3 = _a.sent();
|
|
337
|
+
XUtils_1.XUtils.showErrorMessage("Save row failed.", e_3);
|
|
317
338
|
return [2 /*return*/]; // zostavame vo formulari
|
|
318
339
|
case 4:
|
|
319
340
|
if (this.props.onSaveOrCancel !== undefined) {
|
|
@@ -340,26 +361,28 @@ var XFormBase = /** @class */ (function (_super) {
|
|
|
340
361
|
}
|
|
341
362
|
};
|
|
342
363
|
XFormBase.prototype.validateSave = function () {
|
|
343
|
-
var
|
|
364
|
+
var e_4, _a;
|
|
365
|
+
var _b;
|
|
344
366
|
var xErrorMap = this.validateForm();
|
|
345
367
|
// zatial takto
|
|
346
368
|
var msg = "";
|
|
347
369
|
try {
|
|
348
|
-
for (var
|
|
349
|
-
var
|
|
370
|
+
for (var _c = __values(Object.entries(xErrorMap)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
371
|
+
var _e = __read(_d.value, 2), field = _e[0], xError = _e[1];
|
|
350
372
|
if (xError) {
|
|
351
|
-
|
|
352
|
-
|
|
373
|
+
var errorMessage = XUtils_1.XUtils.getXErrorMessage(xError);
|
|
374
|
+
if (errorMessage) {
|
|
375
|
+
msg += "".concat((_b = xError.fieldLabel) !== null && _b !== void 0 ? _b : field, ": ").concat(errorMessage).concat(XUtilsCommon_1.XUtilsCommon.newLine);
|
|
353
376
|
}
|
|
354
377
|
}
|
|
355
378
|
}
|
|
356
379
|
}
|
|
357
|
-
catch (
|
|
380
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
358
381
|
finally {
|
|
359
382
|
try {
|
|
360
|
-
if (
|
|
383
|
+
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
361
384
|
}
|
|
362
|
-
finally { if (
|
|
385
|
+
finally { if (e_4) throw e_4.error; }
|
|
363
386
|
}
|
|
364
387
|
var ok = true;
|
|
365
388
|
if (msg !== "") {
|
|
@@ -369,7 +392,7 @@ var XFormBase = /** @class */ (function (_super) {
|
|
|
369
392
|
return ok;
|
|
370
393
|
};
|
|
371
394
|
XFormBase.prototype.validateForm = function () {
|
|
372
|
-
var
|
|
395
|
+
var e_5, _a;
|
|
373
396
|
var xErrorMap = this.fieldValidation();
|
|
374
397
|
// form validation
|
|
375
398
|
var xErrors = this.validate(this.getXObject());
|
|
@@ -377,23 +400,26 @@ var XFormBase = /** @class */ (function (_super) {
|
|
|
377
400
|
for (var _b = __values(Object.entries(xErrors)), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
378
401
|
var _d = __read(_c.value, 2), field = _d[0], error = _d[1];
|
|
379
402
|
if (error) {
|
|
380
|
-
|
|
403
|
+
// skusime zistit label
|
|
404
|
+
var xFormComponent = this.findXFormComponent(field);
|
|
405
|
+
var fieldLabel = xFormComponent ? xFormComponent.getLabel() : undefined;
|
|
406
|
+
xErrorMap[field] = __assign(__assign({}, xErrorMap[field]), { form: error, fieldLabel: fieldLabel });
|
|
381
407
|
}
|
|
382
408
|
}
|
|
383
409
|
}
|
|
384
|
-
catch (
|
|
410
|
+
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
385
411
|
finally {
|
|
386
412
|
try {
|
|
387
413
|
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
388
414
|
}
|
|
389
|
-
finally { if (
|
|
415
|
+
finally { if (e_5) throw e_5.error; }
|
|
390
416
|
}
|
|
391
417
|
// TODO - optimalizacia - netreba setovat stav ak by sme sli prec z formulara (ak by zbehla validacia aj save a isli by sme naspet do browsu)
|
|
392
418
|
this.setState({ errorMap: xErrorMap });
|
|
393
419
|
return xErrorMap;
|
|
394
420
|
};
|
|
395
421
|
XFormBase.prototype.fieldValidation = function () {
|
|
396
|
-
var
|
|
422
|
+
var e_6, _a, e_7, _b;
|
|
397
423
|
var xErrorMap = {};
|
|
398
424
|
try {
|
|
399
425
|
for (var _c = __values(this.xFormComponentList), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
@@ -405,12 +431,12 @@ var XFormBase = /** @class */ (function (_super) {
|
|
|
405
431
|
}
|
|
406
432
|
}
|
|
407
433
|
}
|
|
408
|
-
catch (
|
|
434
|
+
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
409
435
|
finally {
|
|
410
436
|
try {
|
|
411
437
|
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
412
438
|
}
|
|
413
|
-
finally { if (
|
|
439
|
+
finally { if (e_6) throw e_6.error; }
|
|
414
440
|
}
|
|
415
441
|
try {
|
|
416
442
|
for (var _e = __values(this.xFormDataTableList), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
@@ -418,12 +444,12 @@ var XFormBase = /** @class */ (function (_super) {
|
|
|
418
444
|
// TODO - validate table
|
|
419
445
|
}
|
|
420
446
|
}
|
|
421
|
-
catch (
|
|
447
|
+
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
422
448
|
finally {
|
|
423
449
|
try {
|
|
424
450
|
if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
|
|
425
451
|
}
|
|
426
|
-
finally { if (
|
|
452
|
+
finally { if (e_7) throw e_7.error; }
|
|
427
453
|
}
|
|
428
454
|
return xErrorMap;
|
|
429
455
|
};
|
|
@@ -8,17 +8,21 @@ export interface XFormComponentProps {
|
|
|
8
8
|
labelStyle?: React.CSSProperties;
|
|
9
9
|
inline?: boolean;
|
|
10
10
|
}
|
|
11
|
-
export declare class XFormComponent<P extends XFormComponentProps> extends Component<P> {
|
|
12
|
-
constructor(props: P);
|
|
13
|
-
|
|
11
|
+
export declare abstract class XFormComponent<P extends XFormComponentProps> extends Component<P> {
|
|
12
|
+
protected constructor(props: P);
|
|
13
|
+
abstract getField(): string;
|
|
14
|
+
getValueFromObject(): any;
|
|
15
|
+
onValueChangeBase(value: any): void;
|
|
16
|
+
abstract isNotNull(): boolean;
|
|
17
|
+
isReadOnly(): boolean;
|
|
18
|
+
getLabel(): string;
|
|
19
|
+
getLabelStyle(): React.CSSProperties;
|
|
14
20
|
validate(): {
|
|
15
21
|
field: string;
|
|
16
22
|
xError: XError;
|
|
17
23
|
} | undefined;
|
|
18
24
|
validateOnChange(value: any): string | undefined;
|
|
19
25
|
validateNotNull(value: any): string | undefined;
|
|
20
|
-
checkNotNull(): boolean;
|
|
21
|
-
getValueFromObject(): any;
|
|
22
|
-
getError(): string | undefined;
|
|
23
26
|
getClassNameTooltip(): {};
|
|
27
|
+
getError(): string | undefined;
|
|
24
28
|
}
|