@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.
Files changed (67) hide show
  1. package/LICENSE.md +21 -0
  2. package/XEnvVars.d.ts +3 -0
  3. package/XEnvVars.js +5 -0
  4. package/XInputTextarea.d.ts +3 -0
  5. package/XInputTextarea.js +5 -0
  6. package/gulpfile.js +2 -0
  7. package/lib/administration/XBrowseMetaForm.js +1 -1
  8. package/lib/administration/XUserBrowse.js +5 -4
  9. package/lib/administration/XUserForm.js +40 -28
  10. package/lib/components/SourceCodeLinkEntity.js +1 -1
  11. package/lib/components/XAutoComplete.d.ts +3 -3
  12. package/lib/components/XAutoComplete.js +16 -37
  13. package/lib/components/XAutoCompleteBase.d.ts +1 -1
  14. package/lib/components/XAutoCompleteBase.js +23 -22
  15. package/lib/components/XBrowse.js +7 -3
  16. package/lib/components/XChangePasswordForm.js +9 -5
  17. package/lib/components/XCheckbox.d.ts +8 -9
  18. package/lib/components/XCheckbox.js +38 -30
  19. package/lib/components/XDataTable.js +11 -7
  20. package/lib/components/XDropdown.d.ts +4 -3
  21. package/lib/components/XDropdown.js +21 -44
  22. package/lib/components/XDropdownDT.js +7 -3
  23. package/lib/components/XDropdownDTFilter.js +9 -5
  24. package/lib/components/XDropdownFormDTFilter.js +9 -5
  25. package/lib/components/XEditColumnDialog.js +9 -5
  26. package/lib/components/XEnvVars.d.ts +12 -0
  27. package/lib/components/XEnvVars.js +20 -0
  28. package/lib/components/XErrors.d.ts +1 -0
  29. package/lib/components/XExportRowsDialog.js +12 -6
  30. package/lib/components/XFieldSelector.js +8 -4
  31. package/lib/components/XFormBase.d.ts +1 -0
  32. package/lib/components/XFormBase.js +47 -21
  33. package/lib/components/XFormComponent.d.ts +10 -6
  34. package/lib/components/XFormComponent.js +60 -48
  35. package/lib/components/XFormDataTable2.d.ts +8 -3
  36. package/lib/components/XFormDataTable2.js +106 -28
  37. package/lib/components/XFormNavigator3.js +14 -6
  38. package/lib/components/XInput.d.ts +13 -0
  39. package/lib/components/XInput.js +38 -0
  40. package/lib/components/XInputDate.js +1 -1
  41. package/lib/components/XInputDateDT.js +1 -1
  42. package/lib/components/XInputText.d.ts +6 -11
  43. package/lib/components/XInputText.js +14 -49
  44. package/lib/components/XInputTextDT.js +2 -3
  45. package/lib/components/XInputTextarea.d.ts +18 -0
  46. package/lib/components/XInputTextarea.js +85 -0
  47. package/lib/components/XLazyDataTable.d.ts +3 -0
  48. package/lib/components/XLazyDataTable.js +162 -77
  49. package/lib/components/XLoginForm.js +9 -5
  50. package/lib/components/XResponseError.js +1 -1
  51. package/lib/components/XSearchButton.d.ts +2 -3
  52. package/lib/components/XSearchButton.js +12 -35
  53. package/lib/components/XSearchButtonDT.js +10 -6
  54. package/lib/components/XSearchButtonOld.js +10 -6
  55. package/lib/components/XToken.d.ts +4 -3
  56. package/lib/components/XUtils.d.ts +13 -4
  57. package/lib/components/XUtils.js +90 -15
  58. package/lib/components/XUtilsConversions.js +10 -2
  59. package/lib/components/XUtilsMetadata.d.ts +1 -1
  60. package/lib/components/XUtilsMetadata.js +20 -11
  61. package/lib/components/useXToken.js +1 -1
  62. package/lib/serverApi/ExportImportParam.d.ts +3 -3
  63. package/lib/serverApi/FindParam.d.ts +3 -13
  64. package/lib/serverApi/FindParam.js +14 -0
  65. package/lib/serverApi/XUser.d.ts +1 -0
  66. package/lib/serverApi/XUtilsCommon.js +2 -2
  67. 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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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
- getFieldForEdit(): string | undefined;
15
- checkNotNull(): boolean;
16
- getValueFromObject(): any;
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.getFieldForEdit = function () {
86
- var _a;
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.checkNotNull = function () {
95
- var _a;
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.getValueFromObject = function () {
100
- var object = this.props.form.state.object;
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: labelStyle }, label),
156
- react_1.default.createElement(dropdown_1.Dropdown, __assign({ appendTo: document.body, id: props.assocField, optionLabel: props.displayField, value: assocObject, options: options, onChange: onValueChange }, this.getClassNameTooltip()))));
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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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 (" + props.path + ") must have at least 2 fields";
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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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 = {}));
@@ -5,6 +5,7 @@ export interface XError {
5
5
  onChange?: string;
6
6
  onBlur?: string;
7
7
  form?: string;
8
+ fieldLabel?: string;
8
9
  }
9
10
  export interface XErrorMap {
10
11
  [name: string]: XError;
@@ -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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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 = __read(react_1.useState(ExportImportParam_1.ExportType.Csv), 2), exportType = _a[0], setExportType = _a[1];
49
- var _b = __read(react_1.useState(false), 2), createHeaderLine = _b[0], setCreateHeaderLine = _b[1];
50
- var _c = __read(react_1.useState(ExportImportParam_1.CsvSeparator.Semicolon), 2), csvSeparator = _c[0], setCsvSeparator = _c[1];
51
- var _d = __read(react_1.useState(ExportImportParam_1.CsvDecimalFormat.Comma), 2), decimalFormat = _d[0], setDecimalFormat = _d[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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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, e_2;
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
- e_2 = _a.sent();
316
- XUtils_1.XUtils.showErrorMessage("Save row failed.", e_2);
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 e_3, _a;
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 _b = __values(Object.entries(xErrorMap)), _c = _b.next(); !_c.done; _c = _b.next()) {
349
- var _d = __read(_c.value, 2), field = _d[0], xError = _d[1];
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
- if (xError.onChange || xError.onBlur || xError.form) {
352
- msg += field + ": " + xError.onChange + ", " + xError.onBlur + ", " + xError.form + XUtilsCommon_1.XUtilsCommon.newLine;
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 (e_3_1) { e_3 = { error: e_3_1 }; }
380
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
358
381
  finally {
359
382
  try {
360
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
383
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
361
384
  }
362
- finally { if (e_3) throw e_3.error; }
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 e_4, _a;
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
- xErrorMap[field] = __assign(__assign({}, xErrorMap[field]), { form: error });
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 (e_4_1) { e_4 = { error: e_4_1 }; }
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 (e_4) throw e_4.error; }
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 e_5, _a, e_6, _b;
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 (e_5_1) { e_5 = { error: e_5_1 }; }
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 (e_5) throw e_5.error; }
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 (e_6_1) { e_6 = { error: e_6_1 }; }
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 (e_6) throw e_6.error; }
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
- getFieldForEdit(): string | undefined;
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
  }