@michalrakus/x-react-web-lib 0.24.0 → 1.0.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/XEnvVars.d.ts +3 -0
- package/XEnvVars.js +5 -0
- package/gulpfile.js +1 -0
- package/lib/administration/XBrowseMetaBrowse.js +1 -2
- package/lib/administration/XBrowseMetaForm.js +10 -11
- package/lib/administration/XUserBrowse.js +5 -5
- package/lib/administration/XUserForm.js +39 -29
- package/lib/components/SourceCodeLinkEntity.js +1 -2
- package/lib/components/XAutoComplete.js +1 -3
- package/lib/components/XAutoCompleteBase.js +6 -9
- package/lib/components/XBrowse.js +2 -4
- package/lib/components/XButton.js +1 -2
- package/lib/components/XButtonIconSmall.js +1 -2
- package/lib/components/XChangePasswordForm.js +2 -3
- package/lib/components/XCheckbox.d.ts +1 -0
- package/lib/components/XCheckbox.js +4 -4
- package/lib/components/XCheckboxDT.js +1 -2
- package/lib/components/XDataTable.js +3 -5
- package/lib/components/XDropdown.js +3 -4
- package/lib/components/XDropdownDT.js +2 -3
- package/lib/components/XDropdownDTFilter.js +2 -3
- package/lib/components/XDropdownFormDTFilter.js +2 -3
- package/lib/components/XEditColumnDialog.js +2 -3
- package/lib/components/XEnvVars.d.ts +12 -0
- package/lib/components/XEnvVars.js +20 -0
- package/lib/components/XExportRowsDialog.js +11 -9
- package/lib/components/XFieldSelector.js +2 -3
- package/lib/components/XFormBase.js +1 -3
- package/lib/components/XFormBaseT.js +1 -3
- package/lib/components/XFormComponent.js +1 -3
- package/lib/components/XFormDataTable2.js +16 -17
- package/lib/components/XFormFooter.js +1 -2
- package/lib/components/XFormNavigator3.js +21 -11
- package/lib/components/XHolders.js +2 -4
- package/lib/components/XInputDate.js +1 -2
- package/lib/components/XInputDateDT.js +1 -2
- package/lib/components/XInputDecimal.js +1 -2
- package/lib/components/XInputDecimalDT.js +1 -2
- package/lib/components/XInputText.js +1 -3
- package/lib/components/XInputTextDT.js +1 -2
- package/lib/components/XLazyDataTable.d.ts +8 -3
- package/lib/components/XLazyDataTable.js +62 -33
- package/lib/components/XLoginDialog.js +1 -2
- package/lib/components/XLoginForm.js +4 -5
- package/lib/components/XResponseError.js +1 -3
- package/lib/components/XSearchButton.js +1 -3
- package/lib/components/XSearchButtonDT.js +2 -3
- package/lib/components/XSearchButtonOld.js +2 -3
- package/lib/components/XToOneAssocButton.js +1 -2
- package/lib/components/XToken.d.ts +4 -3
- package/lib/components/XUtils.d.ts +10 -3
- package/lib/components/XUtils.js +61 -13
- package/lib/serverApi/XUser.d.ts +1 -0
- package/package.json +14 -11
|
@@ -14,7 +14,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
14
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
15
|
if (mod && mod.__esModule) return mod;
|
|
16
16
|
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
@@ -44,11 +44,13 @@ var dropdown_1 = require("primereact/dropdown");
|
|
|
44
44
|
var checkbox_1 = require("primereact/checkbox");
|
|
45
45
|
var XButton_1 = require("./XButton");
|
|
46
46
|
var XUtils_1 = require("./XUtils");
|
|
47
|
-
var
|
|
48
|
-
|
|
49
|
-
var
|
|
50
|
-
var
|
|
51
|
-
var
|
|
47
|
+
var XUtilsConversions_1 = require("./XUtilsConversions");
|
|
48
|
+
exports.XExportRowsDialog = function (props) {
|
|
49
|
+
var _a;
|
|
50
|
+
var _b = __read(react_1.useState(ExportImportParam_1.ExportType.Csv), 2), exportType = _b[0], setExportType = _b[1];
|
|
51
|
+
var _c = __read(react_1.useState(false), 2), createHeaderLine = _c[0], setCreateHeaderLine = _c[1];
|
|
52
|
+
var _d = __read(react_1.useState(ExportImportParam_1.CsvSeparator.Semicolon), 2), csvSeparator = _d[0], setCsvSeparator = _d[1];
|
|
53
|
+
var _e = __read(react_1.useState(ExportImportParam_1.CsvDecimalFormat.Comma), 2), decimalFormat = _e[0], setDecimalFormat = _e[1];
|
|
52
54
|
// bez tejto metody by pri opetovnom otvoreni dialogu ponechal povodne hodnoty
|
|
53
55
|
var onShow = function () {
|
|
54
56
|
setExportType(ExportImportParam_1.ExportType.Csv);
|
|
@@ -79,11 +81,11 @@ var XExportRowsDialog = function (props) {
|
|
|
79
81
|
return (react_1.default.createElement(dialog_1.Dialog, { visible: props.dialogOpened, onShow: onShow, onHide: function () { return props.onHideDialog(false, undefined, undefined); } },
|
|
80
82
|
react_1.default.createElement("div", { className: "field grid" },
|
|
81
83
|
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 })),
|
|
84
|
+
react_1.default.createElement(inputtext_1.InputText, { value: XUtilsConversions_1.numberAsUI((_a = props.rowCount) !== null && _a !== void 0 ? _a : null), readOnly: true })),
|
|
83
85
|
react_1.default.createElement("div", { className: "field grid" },
|
|
84
86
|
react_1.default.createElement("label", { className: "col-fixed", style: { width: '9.3rem' } }, "Export type"),
|
|
85
87
|
react_1.default.createElement(dropdown_1.Dropdown, { value: exportType, options: XUtils_1.XUtils.exportTypeOptions, onChange: function (e) { return setExportType(e.value); } })),
|
|
86
88
|
elem,
|
|
87
|
-
react_1.default.createElement(
|
|
89
|
+
react_1.default.createElement("div", { className: "flex justify-content-center" },
|
|
90
|
+
react_1.default.createElement(XButton_1.XButton, { label: "Export", onClick: onExport }))));
|
|
88
91
|
};
|
|
89
|
-
exports.XExportRowsDialog = XExportRowsDialog;
|
|
@@ -14,7 +14,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
14
14
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
15
|
if (mod && mod.__esModule) return mod;
|
|
16
16
|
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
@@ -51,7 +51,7 @@ var react_1 = __importStar(require("react"));
|
|
|
51
51
|
var treetable_1 = require("primereact/treetable");
|
|
52
52
|
var column_1 = require("primereact/column");
|
|
53
53
|
var XUtilsMetadata_1 = require("./XUtilsMetadata");
|
|
54
|
-
|
|
54
|
+
exports.XFieldSelector = function (props) {
|
|
55
55
|
// poznamka: treeNodeList by sme mohli vypocitavat priamo, ale ked pouzijeme useState/useEffect tak sa createTreeNodeList zavola len raz pri vytvoreni komponentu
|
|
56
56
|
var _a = __read(react_1.useState([]), 2), treeNodeList = _a[0], setTreeNodeList = _a[1];
|
|
57
57
|
// parameter [] zabezpeci ze sa metoda zavola len po prvom renderingu (a nie po kazdej zmene stavu (zavolani setNieco()))
|
|
@@ -105,4 +105,3 @@ var XFieldSelector = function (props) {
|
|
|
105
105
|
react_1.default.createElement(column_1.Column, { field: "name", header: "Field name", headerStyle: { width: "15.7rem" }, expander: true }),
|
|
106
106
|
react_1.default.createElement(column_1.Column, { field: "type", header: "Type", headerStyle: { width: "9.3rem" } })));
|
|
107
107
|
};
|
|
108
|
-
exports.XFieldSelector = XFieldSelector;
|
|
@@ -3,12 +3,10 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
3
3
|
var extendStatics = function (d, b) {
|
|
4
4
|
extendStatics = Object.setPrototypeOf ||
|
|
5
5
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (
|
|
6
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
7
|
return extendStatics(d, b);
|
|
8
8
|
};
|
|
9
9
|
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
10
|
extendStatics(d, b);
|
|
13
11
|
function __() { this.constructor = d; }
|
|
14
12
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -3,12 +3,10 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
3
3
|
var extendStatics = function (d, b) {
|
|
4
4
|
extendStatics = Object.setPrototypeOf ||
|
|
5
5
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (
|
|
6
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
7
|
return extendStatics(d, b);
|
|
8
8
|
};
|
|
9
9
|
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
10
|
extendStatics(d, b);
|
|
13
11
|
function __() { this.constructor = d; }
|
|
14
12
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -3,12 +3,10 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
3
3
|
var extendStatics = function (d, b) {
|
|
4
4
|
extendStatics = Object.setPrototypeOf ||
|
|
5
5
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (
|
|
6
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
7
|
return extendStatics(d, b);
|
|
8
8
|
};
|
|
9
9
|
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
10
|
extendStatics(d, b);
|
|
13
11
|
function __() { this.constructor = d; }
|
|
14
12
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -3,12 +3,10 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
3
3
|
var extendStatics = function (d, b) {
|
|
4
4
|
extendStatics = Object.setPrototypeOf ||
|
|
5
5
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (
|
|
6
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
7
|
return extendStatics(d, b);
|
|
8
8
|
};
|
|
9
9
|
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
10
|
extendStatics(d, b);
|
|
13
11
|
function __() { this.constructor = d; }
|
|
14
12
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -40,7 +38,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
40
38
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
41
39
|
if (mod && mod.__esModule) return mod;
|
|
42
40
|
var result = {};
|
|
43
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.
|
|
41
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
44
42
|
__setModuleDefault(result, mod);
|
|
45
43
|
return result;
|
|
46
44
|
};
|
|
@@ -305,11 +303,15 @@ var XFormDataTable2 = /** @class */ (function (_super) {
|
|
|
305
303
|
var object = this.props.form.state.object;
|
|
306
304
|
var valueList = object !== null ? object[this.props.assocField] : [];
|
|
307
305
|
var xEntity = XUtilsMetadata_1.XUtilsMetadata.getXEntity(this.getEntity());
|
|
308
|
-
var scrollWidth;
|
|
309
|
-
var scrollHeight;
|
|
306
|
+
var scrollWidth = undefined; // vypnute horizontalne scrollovanie
|
|
307
|
+
var scrollHeight = undefined; // vypnute vertikalne scrollovanie
|
|
310
308
|
if (this.props.scrollable) {
|
|
311
|
-
|
|
312
|
-
|
|
309
|
+
if (this.props.scrollWidth !== "none") {
|
|
310
|
+
scrollWidth = this.props.scrollWidth;
|
|
311
|
+
}
|
|
312
|
+
if (this.props.scrollHeight !== "none") {
|
|
313
|
+
scrollHeight = this.props.scrollHeight;
|
|
314
|
+
}
|
|
313
315
|
}
|
|
314
316
|
var style = {};
|
|
315
317
|
if (scrollWidth !== undefined) {
|
|
@@ -355,7 +357,7 @@ var XFormDataTable2 = /** @class */ (function (_super) {
|
|
|
355
357
|
if (width === undefined || width === "default") {
|
|
356
358
|
width = XUtilsMetadata_1.XUtilsMetadata.computeColumnWidth(xField, childColumnProps.type, header);
|
|
357
359
|
}
|
|
358
|
-
var headerStyle;
|
|
360
|
+
var headerStyle = {};
|
|
359
361
|
if (width !== undefined) {
|
|
360
362
|
headerStyle = { width: width };
|
|
361
363
|
}
|
|
@@ -376,10 +378,10 @@ var XFormDataTable2 = /** @class */ (function (_super) {
|
|
|
376
378
|
}
|
|
377
379
|
// }
|
|
378
380
|
// *********** style ***********
|
|
379
|
-
var style;
|
|
381
|
+
var style = {};
|
|
380
382
|
// TODO - pouzit className a nie style
|
|
381
383
|
if (align === "center" || align === "right") {
|
|
382
|
-
style = {
|
|
384
|
+
style = { textAlign: align };
|
|
383
385
|
headerStyle = __assign(__assign({}, headerStyle), style); // headerStyle overrides style in TH cell
|
|
384
386
|
}
|
|
385
387
|
return react_1.default.createElement(column_1.Column, { field: field, header: header, filter: true, sortable: true, filterElement: filterElement, headerStyle: headerStyle, style: style, body: function (rowData) { return thisLocal.bodyTemplate(childColumnProps, rowData, xEntity); } });
|
|
@@ -403,27 +405,24 @@ var XFormDataTable2 = /** @class */ (function (_super) {
|
|
|
403
405
|
return XFormDataTable2;
|
|
404
406
|
}(react_1.Component));
|
|
405
407
|
exports.XFormDataTable2 = XFormDataTable2;
|
|
406
|
-
|
|
408
|
+
exports.XFormColumn = function (props) {
|
|
407
409
|
// nevadi ze tu nic nevraciame, field a header vieme precitat a zvysok by sme aj tak zahodili lebo vytvarame novy element
|
|
408
410
|
return (null);
|
|
409
411
|
};
|
|
410
|
-
exports.XFormColumn = XFormColumn;
|
|
411
412
|
exports.XFormColumn.defaultProps = {
|
|
412
413
|
type: "inputSimple"
|
|
413
414
|
};
|
|
414
|
-
|
|
415
|
+
exports.XFormDropdownColumn = function (props) {
|
|
415
416
|
// nevadi ze tu nic nevraciame, field a header vieme precitat a zvysok by sme aj tak zahodili lebo vytvarame novy element
|
|
416
417
|
return (null);
|
|
417
418
|
};
|
|
418
|
-
exports.XFormDropdownColumn = XFormDropdownColumn;
|
|
419
419
|
exports.XFormDropdownColumn.defaultProps = {
|
|
420
420
|
type: "dropdown"
|
|
421
421
|
};
|
|
422
|
-
|
|
422
|
+
exports.XFormSearchButtonColumn = function (props) {
|
|
423
423
|
// nevadi ze tu nic nevraciame, field a header vieme precitat a zvysok by sme aj tak zahodili lebo vytvarame novy element
|
|
424
424
|
return (null);
|
|
425
425
|
};
|
|
426
|
-
exports.XFormSearchButtonColumn = XFormSearchButtonColumn;
|
|
427
426
|
exports.XFormSearchButtonColumn.defaultProps = {
|
|
428
427
|
type: "searchButton"
|
|
429
428
|
};
|
|
@@ -7,9 +7,8 @@ exports.XFormFooter = void 0;
|
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var XButton_1 = require("./XButton");
|
|
9
9
|
// helper wrapper
|
|
10
|
-
|
|
10
|
+
exports.XFormFooter = function (props) {
|
|
11
11
|
return (react_1.default.createElement("div", { className: "flex justify-content-center" },
|
|
12
12
|
react_1.default.createElement(XButton_1.XButton, { label: "Save", onClick: props.form.onClickSave }),
|
|
13
13
|
react_1.default.createElement(XButton_1.XButton, { label: "Cancel", onClick: props.form.onClickCancel })));
|
|
14
14
|
};
|
|
15
|
-
exports.XFormFooter = XFormFooter;
|
|
@@ -3,12 +3,10 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
3
3
|
var extendStatics = function (d, b) {
|
|
4
4
|
extendStatics = Object.setPrototypeOf ||
|
|
5
5
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (
|
|
6
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
7
|
return extendStatics(d, b);
|
|
8
8
|
};
|
|
9
9
|
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
10
|
extendStatics(d, b);
|
|
13
11
|
function __() { this.constructor = d; }
|
|
14
12
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -29,7 +27,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
29
27
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
28
|
if (mod && mod.__esModule) return mod;
|
|
31
29
|
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.
|
|
30
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
31
|
__setModuleDefault(result, mod);
|
|
34
32
|
return result;
|
|
35
33
|
};
|
|
@@ -49,10 +47,9 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
49
47
|
}
|
|
50
48
|
return ar;
|
|
51
49
|
};
|
|
52
|
-
var
|
|
53
|
-
for (var
|
|
54
|
-
|
|
55
|
-
return to;
|
|
50
|
+
var __spread = (this && this.__spread) || function () {
|
|
51
|
+
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
52
|
+
return ar;
|
|
56
53
|
};
|
|
57
54
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
58
55
|
exports.XFormNavigator3 = void 0;
|
|
@@ -86,11 +83,23 @@ var XFormNavigator3 = /** @class */ (function (_super) {
|
|
|
86
83
|
console.log("neocakavana chyba - pole formElements je prazdne");
|
|
87
84
|
}
|
|
88
85
|
}
|
|
89
|
-
this.setState({ formElements: formElementsCloned })
|
|
86
|
+
this.setState({ formElements: formElementsCloned }, function () {
|
|
87
|
+
// ked sa na mobile preklikavame medzi formularmi, tak browser drzi nascrollovanu poziciu ale my sa chceme vratit na zaciatok stranky
|
|
88
|
+
// (tento callback sa zavola po refreshnuti stranky)
|
|
89
|
+
// taketo nieco nezafungovalo, neviem preco...
|
|
90
|
+
// setTimeout(function() {
|
|
91
|
+
// window.scrollTo(0,0);
|
|
92
|
+
// }, 100);
|
|
93
|
+
// tak scrollujeme k menu, ktore je v hornej casti
|
|
94
|
+
var menuElem = document.getElementById("menuId");
|
|
95
|
+
if (menuElem !== null) {
|
|
96
|
+
menuElem.scrollIntoView();
|
|
97
|
+
}
|
|
98
|
+
});
|
|
90
99
|
};
|
|
91
100
|
XFormNavigator3.prototype.render = function () {
|
|
92
101
|
var _this = this;
|
|
93
|
-
var formElements = this.props.rootFormElement !== null ?
|
|
102
|
+
var formElements = this.props.rootFormElement !== null ? __spread([this.props.rootFormElement], this.state.formElements) : this.state.formElements;
|
|
94
103
|
var forms = formElements.map(function (formElement, index) {
|
|
95
104
|
var displayed = (index === formElements.length - 1);
|
|
96
105
|
// klonovanim elementu pridame atribut openForm={this.openForm} (nemusime tento atribut pridavat pri vytvarani elementu)
|
|
@@ -100,7 +109,8 @@ var XFormNavigator3 = /** @class */ (function (_super) {
|
|
|
100
109
|
var display = (displayed ? "block" : "none");
|
|
101
110
|
// TODO - neviem ci naisto treba key={index}
|
|
102
111
|
// max-width: 100% - koli chybe ked sa na mobile nezobrazovala lava cast tabulky/formularu (nedalo sa k nej doscrollovat)
|
|
103
|
-
|
|
112
|
+
// poznamka2: tento problem sa vyskytoval v suvislosti s flex-direction: column na .App-form - ten sme zrusili a preto maxWidth (zatial) odstranujeme
|
|
113
|
+
return react_1.default.createElement("div", { key: index, style: { display: display /*, maxWidth: "100%"*/ } }, formElementCloned);
|
|
104
114
|
});
|
|
105
115
|
return (react_1.default.createElement("div", { className: "App-form" }, forms));
|
|
106
116
|
};
|
|
@@ -5,11 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.XHolder2 = exports.XHolder1 = void 0;
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
|
-
|
|
8
|
+
exports.XHolder1 = function (props) {
|
|
9
9
|
return react_1.default.createElement("div", null, props.element);
|
|
10
10
|
};
|
|
11
|
-
exports.
|
|
12
|
-
var XHolder2 = function (props) {
|
|
11
|
+
exports.XHolder2 = function (props) {
|
|
13
12
|
return react_1.default.createElement("div", null, props.element);
|
|
14
13
|
};
|
|
15
|
-
exports.XHolder2 = XHolder2;
|
|
@@ -10,7 +10,7 @@ var XUtilsConversions_1 = require("./XUtilsConversions");
|
|
|
10
10
|
var XUtilsMetadata_1 = require("./XUtilsMetadata");
|
|
11
11
|
var XUtilsCommon_1 = require("../serverApi/XUtilsCommon");
|
|
12
12
|
var XUtils_1 = require("./XUtils");
|
|
13
|
-
|
|
13
|
+
exports.XInputDate = function (props) {
|
|
14
14
|
var _a;
|
|
15
15
|
props.form.addField(props.field);
|
|
16
16
|
var xField = XUtilsMetadata_1.XUtilsMetadata.getXFieldByPathStr(props.form.getEntity(), props.field);
|
|
@@ -53,4 +53,3 @@ var XInputDate = function (props) {
|
|
|
53
53
|
react_1.default.createElement("label", { htmlFor: props.field, className: "col-fixed", style: { width: XUtils_1.XUtils.FIELD_LABEL_WIDTH } }, label),
|
|
54
54
|
react_1.default.createElement(calendar_1.Calendar, { id: props.field, value: fieldValue, onChange: onValueChange, disabled: readOnly, showIcon: true, dateFormat: XUtilsConversions_1.dateFormatCalendar(), showTime: showTime, showSeconds: showTime, inputClassName: cssClassName, showOnFocus: false })));
|
|
55
55
|
};
|
|
56
|
-
exports.XInputDate = XInputDate;
|
|
@@ -8,7 +8,7 @@ var XUtilsConversions_1 = require("./XUtilsConversions");
|
|
|
8
8
|
var calendar_1 = require("primereact/calendar");
|
|
9
9
|
var react_1 = __importDefault(require("react"));
|
|
10
10
|
var XUtilsCommon_1 = require("../serverApi/XUtilsCommon");
|
|
11
|
-
|
|
11
|
+
exports.XInputDateDT = function (props) {
|
|
12
12
|
var showTime = (props.xField.type === 'datetime');
|
|
13
13
|
var cssClassName = showTime ? 'x-input-datetime' : 'x-input-date';
|
|
14
14
|
// ak mame path, field je vzdy readOnly
|
|
@@ -52,4 +52,3 @@ var XInputDateDT = function (props) {
|
|
|
52
52
|
// appendTo={document.body} appenduje overlay panel na element body - eliminuje problem s overflow (pozri poznamku v XDropdownDTFilter)
|
|
53
53
|
return (react_1.default.createElement(calendar_1.Calendar, { appendTo: document.body, id: props.field, value: fieldValue, onChange: function (e) { return onValueChange(props.field, props.rowData, e.value); }, disabled: readOnly, showIcon: true, dateFormat: XUtilsConversions_1.dateFormatCalendar(), showTime: showTime, showSeconds: showTime, inputClassName: cssClassName, showOnFocus: false }));
|
|
54
54
|
};
|
|
55
|
-
exports.XInputDateDT = XInputDateDT;
|
|
@@ -9,7 +9,7 @@ var inputnumber_1 = require("primereact/inputnumber");
|
|
|
9
9
|
var XUtilsMetadata_1 = require("./XUtilsMetadata");
|
|
10
10
|
var XUtilsCommon_1 = require("../serverApi/XUtilsCommon");
|
|
11
11
|
var XUtils_1 = require("./XUtils");
|
|
12
|
-
|
|
12
|
+
exports.XInputDecimal = function (props) {
|
|
13
13
|
var _a, _b, _c;
|
|
14
14
|
props.form.addField(props.field);
|
|
15
15
|
var xField = XUtilsMetadata_1.XUtilsMetadata.getXFieldByPathStr(props.form.getEntity(), props.field);
|
|
@@ -58,4 +58,3 @@ var XInputDecimal = function (props) {
|
|
|
58
58
|
react_1.default.createElement("label", { htmlFor: props.field, className: "col-fixed", style: labelStyle }, label),
|
|
59
59
|
react_1.default.createElement(inputnumber_1.InputNumber, { id: props.field, value: fieldValue, onChange: onValueChange, disabled: readOnly, mode: "decimal", locale: "de-DE", useGrouping: useGrouping, minFractionDigits: fractionDigits, maxFractionDigits: fractionDigits, min: min, max: max, size: sizeInput, style: props.inputStyle })));
|
|
60
60
|
};
|
|
61
|
-
exports.XInputDecimal = XInputDecimal;
|
|
@@ -8,7 +8,7 @@ var react_1 = __importDefault(require("react"));
|
|
|
8
8
|
var inputnumber_1 = require("primereact/inputnumber");
|
|
9
9
|
var XUtilsMetadata_1 = require("./XUtilsMetadata");
|
|
10
10
|
var XUtilsCommon_1 = require("../serverApi/XUtilsCommon");
|
|
11
|
-
|
|
11
|
+
exports.XInputDecimalDT = function (props) {
|
|
12
12
|
var xField = XUtilsMetadata_1.XUtilsMetadata.getXFieldByPathStr(props.entity, props.field);
|
|
13
13
|
var _a = XUtilsMetadata_1.XUtilsMetadata.getParamsForInputNumber(xField), useGrouping = _a.useGrouping, fractionDigits = _a.fractionDigits, min = _a.min, max = _a.max;
|
|
14
14
|
// ak mame path, field je vzdy readOnly
|
|
@@ -49,4 +49,3 @@ var XInputDecimalDT = function (props) {
|
|
|
49
49
|
}
|
|
50
50
|
return (react_1.default.createElement(inputnumber_1.InputNumber, { id: props.field, value: fieldValue, onChange: function (e) { return onValueChange(props.field, props.rowData, e.value); }, disabled: readOnly, mode: "decimal", locale: "de-DE", useGrouping: useGrouping, minFractionDigits: fractionDigits, maxFractionDigits: fractionDigits, min: min, max: max, className: "x-input-to-resize" }));
|
|
51
51
|
};
|
|
52
|
-
exports.XInputDecimalDT = XInputDecimalDT;
|
|
@@ -3,12 +3,10 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
3
3
|
var extendStatics = function (d, b) {
|
|
4
4
|
extendStatics = Object.setPrototypeOf ||
|
|
5
5
|
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (
|
|
6
|
+
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
|
7
7
|
return extendStatics(d, b);
|
|
8
8
|
};
|
|
9
9
|
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
10
|
extendStatics(d, b);
|
|
13
11
|
function __() { this.constructor = d; }
|
|
14
12
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -9,7 +9,7 @@ var inputtext_1 = require("primereact/inputtext");
|
|
|
9
9
|
var XUtilsConversions_1 = require("./XUtilsConversions");
|
|
10
10
|
var XUtilsMetadata_1 = require("./XUtilsMetadata");
|
|
11
11
|
var XUtilsCommon_1 = require("../serverApi/XUtilsCommon");
|
|
12
|
-
|
|
12
|
+
exports.XInputTextDT = function (props) {
|
|
13
13
|
var xField = XUtilsMetadata_1.XUtilsMetadata.getXFieldByPathStr(props.entity, props.field);
|
|
14
14
|
// ak mame path, field je vzdy readOnly
|
|
15
15
|
var readOnly;
|
|
@@ -40,4 +40,3 @@ var XInputTextDT = function (props) {
|
|
|
40
40
|
}
|
|
41
41
|
return (react_1.default.createElement(inputtext_1.InputText, { id: props.field, value: fieldValue, onChange: function (e) { return onValueChange(props.field, props.rowData, e.target.value); }, readOnly: readOnly, maxLength: xField.length, className: "x-input-to-resize" }));
|
|
42
42
|
};
|
|
43
|
-
exports.XInputTextDT = XInputTextDT;
|
|
@@ -13,10 +13,11 @@ export interface XEditModeHandlers {
|
|
|
13
13
|
export interface XLazyDataTableProps {
|
|
14
14
|
entity: string;
|
|
15
15
|
dataKey?: string;
|
|
16
|
-
|
|
16
|
+
paginator: boolean;
|
|
17
|
+
rows: number;
|
|
17
18
|
scrollable: boolean;
|
|
18
|
-
scrollWidth
|
|
19
|
-
scrollHeight
|
|
19
|
+
scrollWidth: string;
|
|
20
|
+
scrollHeight: string;
|
|
20
21
|
formFooterHeight?: string;
|
|
21
22
|
shrinkWidth: boolean;
|
|
22
23
|
onAddRow?: () => void;
|
|
@@ -33,7 +34,11 @@ export interface XLazyDataTableProps {
|
|
|
33
34
|
export declare const XLazyDataTable: {
|
|
34
35
|
(props: XLazyDataTableProps): JSX.Element;
|
|
35
36
|
defaultProps: {
|
|
37
|
+
paginator: boolean;
|
|
38
|
+
rows: number;
|
|
36
39
|
scrollable: boolean;
|
|
40
|
+
scrollWidth: string;
|
|
41
|
+
scrollHeight: string;
|
|
37
42
|
shrinkWidth: boolean;
|
|
38
43
|
};
|
|
39
44
|
};
|
|
@@ -25,7 +25,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
25
25
|
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
26
|
if (mod && mod.__esModule) return mod;
|
|
27
27
|
var result = {};
|
|
28
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
29
|
__setModuleDefault(result, mod);
|
|
30
30
|
return result;
|
|
31
31
|
};
|
|
@@ -107,12 +107,12 @@ var XButtonIconSmall_1 = require("./XButtonIconSmall");
|
|
|
107
107
|
var tristatecheckbox_1 = require("primereact/tristatecheckbox");
|
|
108
108
|
var XUtilsCommon_1 = require("../serverApi/XUtilsCommon");
|
|
109
109
|
var XExportRowsDialog_1 = require("./XExportRowsDialog");
|
|
110
|
-
|
|
110
|
+
exports.XLazyDataTable = function (props) {
|
|
111
111
|
var dataTableEl = react_1.useRef(null);
|
|
112
112
|
var _a = __read(react_1.useState({ rowList: [], totalRecords: 0 }), 2), value = _a[0], setValue = _a[1];
|
|
113
113
|
var _b = __read(react_1.useState(false), 2), loading = _b[0], setLoading = _b[1];
|
|
114
114
|
var _c = __read(react_1.useState(0), 2), first = _c[0], setFirst = _c[1];
|
|
115
|
-
var _d = __read(react_1.useState(props.
|
|
115
|
+
var _d = __read(react_1.useState(props.paginator ? props.rows : undefined), 2), rows = _d[0], setRows = _d[1];
|
|
116
116
|
var filtersInit = {};
|
|
117
117
|
if (props.searchTableParams !== undefined && props.searchTableParams.filter !== undefined) {
|
|
118
118
|
filtersInit[props.searchTableParams.displayField] = { value: props.searchTableParams.filter, matchMode: "startsWith" };
|
|
@@ -488,29 +488,54 @@ var XLazyDataTable = function (props) {
|
|
|
488
488
|
return bodyValue;
|
|
489
489
|
};
|
|
490
490
|
var xEntity = XUtilsMetadata_1.XUtilsMetadata.getXEntity(props.entity);
|
|
491
|
-
// ak
|
|
492
|
-
var scrollWidth;
|
|
493
|
-
var scrollHeight;
|
|
491
|
+
// ak mame scrollWidth/scrollHeight = viewport (default), vyratame scrollWidth/scrollHeight tak aby tabulka "sadla" okna (viewport-u)
|
|
492
|
+
var scrollWidth = undefined; // vypnute horizontalne scrollovanie
|
|
493
|
+
var scrollHeight = undefined; // vypnute vertikalne scrollovanie
|
|
494
494
|
if (props.scrollable) {
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
495
|
+
if (props.scrollWidth !== "none") {
|
|
496
|
+
scrollWidth = props.scrollWidth;
|
|
497
|
+
if (scrollWidth === "viewport") {
|
|
498
|
+
scrollWidth = 'calc(100vw - 1.4rem)'; // 20px okraje
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
if (props.scrollHeight !== "none") {
|
|
502
|
+
scrollHeight = props.scrollHeight;
|
|
503
|
+
if (scrollHeight === "viewport") {
|
|
504
|
+
// vypocet je priblizny, robeny na mobil, desktop bude mat mozno iny
|
|
505
|
+
//const headerHeight = XUtils.toPX0('12.7rem');
|
|
506
|
+
//let footerHeight = XUtils.toPX0('3.7rem') + XUtils.toPX0('3rem'); // table footer (paging) + buttons Add row, Edit, ...
|
|
507
|
+
// na desktope mi nechce odpocitat vysku taskbar-u od window.screen.availHeight, tak to poriesime takymto hack-om:
|
|
508
|
+
// if (!XUtils.isMobile()) {
|
|
509
|
+
// footerHeight += XUtils.toPX0('6rem'); // priblizna vyska taskbaru (ak mam 2 rady buttonov)
|
|
510
|
+
// }
|
|
511
|
+
var viewHeight = void 0;
|
|
512
|
+
var headerFooterHeight = void 0;
|
|
513
|
+
if (props.searchTableParams === undefined) {
|
|
514
|
+
// sme v standardnom formulari
|
|
515
|
+
viewHeight = '100vh';
|
|
516
|
+
headerFooterHeight = XUtils_1.XUtils.toPX0('20.89rem') - XUtils_1.XUtils.toPX0('4.43rem'); // experimentalne zistena vyska header/footer (body - table body) bez formFooterHeight
|
|
517
|
+
}
|
|
518
|
+
else {
|
|
519
|
+
// sme v dialogu
|
|
520
|
+
if (XUtils_1.XUtils.isMobile()) {
|
|
521
|
+
viewHeight = '98vh'; // .p-dialog pre mobil ma max-height: 98%
|
|
522
|
+
headerFooterHeight = XUtils_1.XUtils.toPX0('17.60rem'); // rucne zratane
|
|
523
|
+
}
|
|
524
|
+
else {
|
|
525
|
+
viewHeight = '90vh'; // .p-dialog pre desktop ma max-height: 90%
|
|
526
|
+
headerFooterHeight = XUtils_1.XUtils.toPX0('18.60rem'); // rucne zratane (desktop ma vecsi margin dole na dialogu)
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
// pridame vysku paging-u, ak treba
|
|
530
|
+
if (props.paginator) {
|
|
531
|
+
headerFooterHeight += XUtils_1.XUtils.toPX0('3.71rem');
|
|
532
|
+
}
|
|
533
|
+
// este pridame vysku linkov na zdrojaky, ak treba
|
|
534
|
+
if (props.formFooterHeight !== undefined) {
|
|
535
|
+
headerFooterHeight += XUtils_1.XUtils.toPX0(XUtils_1.XUtils.processGridBreakpoints(props.formFooterHeight));
|
|
536
|
+
}
|
|
537
|
+
scrollHeight = "calc(" + viewHeight + " - " + headerFooterHeight + "px)";
|
|
512
538
|
}
|
|
513
|
-
scrollHeight = "calc(100vh - " + headerFooterHeight + "px)";
|
|
514
539
|
}
|
|
515
540
|
}
|
|
516
541
|
var style = {};
|
|
@@ -545,6 +570,8 @@ var XLazyDataTable = function (props) {
|
|
|
545
570
|
paginatorRight = react_1.default.createElement(XButtonIconSmall_1.XButtonIconSmall, { icon: "pi pi-pencil", onClick: function () { var _a; return (_a = props.editModeHandlers) === null || _a === void 0 ? void 0 : _a.onStart(); }, tooltip: "Edit form" });
|
|
546
571
|
}
|
|
547
572
|
// else -> editMode is undefined - browse is not editable
|
|
573
|
+
// export pre search button-y zatial vypneme
|
|
574
|
+
var exportRows = (props.searchTableParams === undefined);
|
|
548
575
|
// pre lepsiu citatelnost vytvarame stlpce uz tu
|
|
549
576
|
var columnElemList = react_1.default.Children.map(props.children, function (child) {
|
|
550
577
|
// ak chceme zmenit child element, tak treba bud vytvorit novy alebo vyklonovat
|
|
@@ -590,7 +617,7 @@ var XLazyDataTable = function (props) {
|
|
|
590
617
|
if (width === undefined || width === "default") {
|
|
591
618
|
width = XUtilsMetadata_1.XUtilsMetadata.computeColumnWidth(xField, undefined, headerLabel);
|
|
592
619
|
}
|
|
593
|
-
var headerStyle;
|
|
620
|
+
var headerStyle = {};
|
|
594
621
|
if (width !== undefined) {
|
|
595
622
|
headerStyle = { width: width };
|
|
596
623
|
}
|
|
@@ -609,7 +636,7 @@ var XLazyDataTable = function (props) {
|
|
|
609
636
|
}
|
|
610
637
|
}
|
|
611
638
|
// *********** style ***********
|
|
612
|
-
var style;
|
|
639
|
+
var style = {};
|
|
613
640
|
// TODO - pouzit className a nie style
|
|
614
641
|
if (align === "center" || align === "right") {
|
|
615
642
|
style = { 'textAlign': align };
|
|
@@ -621,24 +648,26 @@ var XLazyDataTable = function (props) {
|
|
|
621
648
|
react_1.default.createElement("div", { className: "flex justify-content-center" },
|
|
622
649
|
react_1.default.createElement(XButton_1.XButton, { label: "Filter", onClick: onClickFilter })),
|
|
623
650
|
react_1.default.createElement("div", { className: "flex justify-content-center" },
|
|
624
|
-
react_1.default.createElement(datatable_1.DataTable, { value: value.rowList, dataKey: dataKey, paginator:
|
|
651
|
+
react_1.default.createElement(datatable_1.DataTable, { value: value.rowList, dataKey: dataKey, paginator: props.paginator, rows: rows, totalRecords: value.totalRecords, lazy: true, first: first, onPage: onPage, loading: loading, filters: filters, onFilter: onFilter, sortMode: "multiple", removableSort: true, multiSortMeta: multiSortMeta, onSort: onSort, selectionMode: "single", selection: selectedRow, onSelectionChange: onSelectionChange, onRowDoubleClick: onRowDoubleClick, ref: dataTableEl, className: "p-datatable-sm x-lazy-datatable", resizableColumns: true, columnResizeMode: "expand", tableStyle: tableStyle, paginatorLeft: paginatorLeft, paginatorRight: paginatorRight, scrollable: props.scrollable, scrollHeight: scrollHeight, style: style }, columnElemList)),
|
|
625
652
|
react_1.default.createElement("div", { className: "flex justify-content-center" },
|
|
626
653
|
props.onAddRow !== undefined ? react_1.default.createElement(XButton_1.XButton, { label: "Add row", onClick: onClickAddRow }) : null,
|
|
627
654
|
props.onEdit !== undefined ? react_1.default.createElement(XButton_1.XButton, { label: "Edit", onClick: onClickEdit }) : null,
|
|
628
655
|
props.removeRow !== undefined && props.removeRow !== false ? react_1.default.createElement(XButton_1.XButton, { label: "Remove row", onClick: onClickRemoveRow }) : null,
|
|
629
|
-
react_1.default.createElement(XButton_1.XButton, { label: "Export rows", onClick: onClickExport }),
|
|
656
|
+
exportRows ? react_1.default.createElement(XButton_1.XButton, { label: "Export rows", onClick: onClickExport }) : null,
|
|
630
657
|
props.appButtons,
|
|
631
|
-
react_1.default.createElement(
|
|
632
|
-
|
|
658
|
+
props.searchTableParams !== undefined ? react_1.default.createElement(XButton_1.XButton, { label: "Choose", onClick: onClickChoose }) : null,
|
|
659
|
+
exportRows ? react_1.default.createElement(XExportRowsDialog_1.XExportRowsDialog, { dialogOpened: exportRowsDialogOpened, rowCount: exportRowsDialogRowCount, onHideDialog: exportRowsDialogOnHide }) : null)));
|
|
633
660
|
};
|
|
634
|
-
exports.XLazyDataTable = XLazyDataTable;
|
|
635
661
|
exports.XLazyDataTable.defaultProps = {
|
|
662
|
+
paginator: true,
|
|
663
|
+
rows: 10,
|
|
636
664
|
scrollable: true,
|
|
665
|
+
scrollWidth: 'viewport',
|
|
666
|
+
scrollHeight: 'viewport',
|
|
637
667
|
shrinkWidth: true
|
|
638
668
|
};
|
|
639
669
|
// TODO - XLazyColumn neni idealny nazov, lepsi je XColumn (ale zatial nechame XLazyColumn)
|
|
640
|
-
|
|
670
|
+
exports.XLazyColumn = function (props) {
|
|
641
671
|
// nevadi ze tu nic nevraciame, field a header vieme precitat a zvysok by sme aj tak zahodili lebo vytvarame novy element
|
|
642
672
|
return (null);
|
|
643
673
|
};
|
|
644
|
-
exports.XLazyColumn = XLazyColumn;
|
|
@@ -7,7 +7,7 @@ exports.XLoginDialog = void 0;
|
|
|
7
7
|
var react_1 = __importDefault(require("react"));
|
|
8
8
|
var dialog_1 = require("primereact/dialog");
|
|
9
9
|
var XLoginForm_1 = require("./XLoginForm");
|
|
10
|
-
|
|
10
|
+
exports.XLoginDialog = function (props) {
|
|
11
11
|
// bez tejto metody by pri opetovnom otvoreni dialogu ponechal povodne hodnoty
|
|
12
12
|
var onShow = function () {
|
|
13
13
|
};
|
|
@@ -18,4 +18,3 @@ var XLoginDialog = function (props) {
|
|
|
18
18
|
return (react_1.default.createElement(dialog_1.Dialog, { visible: props.dialogOpened, onShow: onShow, onHide: function () { return props.onHideDialog(false); } },
|
|
19
19
|
react_1.default.createElement(XLoginForm_1.XLoginForm, { setXToken: props.setXToken, onLogin: onLogin, customUserService: props.customUserService })));
|
|
20
20
|
};
|
|
21
|
-
exports.XLoginDialog = XLoginDialog;
|