@michalrakus/x-react-web-lib 1.8.0 → 1.9.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/README.md +3 -3
- package/gulpfile.js +82 -82
- package/lib/administration/XBrowseMetaBrowse.d.ts +2 -2
- package/lib/administration/XBrowseMetaBrowse.js +21 -21
- package/lib/administration/XBrowseMetaForm.d.ts +5 -5
- package/lib/administration/XBrowseMetaForm.js +63 -63
- package/lib/administration/XUserBrowse.d.ts +2 -2
- package/lib/administration/XUserBrowse.js +88 -87
- package/lib/administration/XUserForm.d.ts +9 -9
- package/lib/administration/XUserForm.js +195 -194
- package/lib/components/SearchTableParams.d.ts +11 -11
- package/lib/components/SearchTableParams.js +2 -2
- package/lib/components/SourceCodeLinkEntity.d.ts +4 -4
- package/lib/components/SourceCodeLinkEntity.js +14 -14
- package/lib/components/XAutoComplete.d.ts +36 -36
- package/lib/components/XAutoComplete.js +155 -155
- package/lib/components/XAutoCompleteBase.d.ts +45 -45
- package/lib/components/XAutoCompleteBase.js +371 -371
- package/lib/components/XAutoCompleteDT.d.ts +33 -33
- package/lib/components/XAutoCompleteDT.js +140 -140
- package/lib/components/XBrowse.d.ts +33 -33
- package/lib/components/XBrowse.js +360 -360
- package/lib/components/XButton.d.ts +9 -9
- package/lib/components/XButton.js +13 -13
- package/lib/components/XButtonIconMedium.d.ts +9 -9
- package/lib/components/XButtonIconMedium.js +13 -13
- package/lib/components/XButtonIconNarrow.d.ts +10 -10
- package/lib/components/XButtonIconNarrow.js +25 -25
- package/lib/components/XButtonIconSmall.d.ts +9 -9
- package/lib/components/XButtonIconSmall.js +13 -13
- package/lib/components/XCalendar.d.ts +8 -8
- package/lib/components/XCalendar.js +27 -27
- package/lib/components/XChangePasswordForm.d.ts +5 -5
- package/lib/components/XChangePasswordForm.js +160 -160
- package/lib/components/XCheckbox.d.ts +8 -8
- package/lib/components/XCheckbox.js +57 -57
- package/lib/components/XCheckboxDT.d.ts +10 -10
- package/lib/components/XCheckboxDT.js +46 -46
- package/lib/components/XDataTable.d.ts +11 -11
- package/lib/components/XDataTable.js +197 -197
- package/lib/components/XDropdown.d.ts +18 -18
- package/lib/components/XDropdown.js +57 -57
- package/lib/components/XDropdownDT.d.ts +13 -13
- package/lib/components/XDropdownDT.js +128 -128
- package/lib/components/XDropdownDTFilter.d.ts +7 -7
- package/lib/components/XDropdownDTFilter.js +121 -121
- package/lib/components/XDropdownForEntity.d.ts +25 -25
- package/lib/components/XDropdownForEntity.js +149 -149
- package/lib/components/XDropdownFormDTFilter.d.ts +7 -7
- package/lib/components/XDropdownFormDTFilter.js +121 -121
- package/lib/components/XEditColumnDialog.d.ts +13 -13
- package/lib/components/XEditColumnDialog.js +112 -112
- package/lib/components/XEnvVars.d.ts +15 -12
- package/lib/components/XEnvVars.js +23 -20
- package/lib/components/XErrors.d.ts +12 -12
- package/lib/components/XErrors.js +2 -2
- package/lib/components/XExportRowsDialog.d.ts +15 -15
- package/lib/components/XExportRowsDialog.js +184 -184
- package/lib/components/XFieldChangeEvent.d.ts +11 -11
- package/lib/components/XFieldChangeEvent.js +2 -2
- package/lib/components/XFieldSelector.d.ts +7 -7
- package/lib/components/XFieldSelector.js +113 -113
- package/lib/components/XFormBase.d.ts +59 -59
- package/lib/components/XFormBase.js +526 -526
- package/lib/components/XFormBaseModif.d.ts +5 -5
- package/lib/components/XFormBaseModif.js +33 -33
- package/lib/components/XFormBaseT.d.ts +4 -4
- package/lib/components/XFormBaseT.js +31 -31
- package/lib/components/XFormComponent.d.ts +40 -40
- package/lib/components/XFormComponent.js +177 -177
- package/lib/components/XFormComponentDT.d.ts +30 -30
- package/lib/components/XFormComponentDT.js +145 -145
- package/lib/components/XFormDataTable2.d.ts +143 -143
- package/lib/components/XFormDataTable2.js +686 -686
- package/lib/components/XFormFooter.d.ts +6 -6
- package/lib/components/XFormFooter.js +19 -19
- package/lib/components/XFormNavigator3.d.ts +12 -12
- package/lib/components/XFormNavigator3.js +130 -130
- package/lib/components/XHolders.d.ts +7 -7
- package/lib/components/XHolders.js +15 -15
- package/lib/components/XInput.d.ts +13 -13
- package/lib/components/XInput.js +38 -38
- package/lib/components/XInputDT.d.ts +11 -11
- package/lib/components/XInputDT.js +37 -37
- package/lib/components/XInputDate.d.ts +13 -13
- package/lib/components/XInputDate.js +63 -63
- package/lib/components/XInputDateDT.d.ts +10 -10
- package/lib/components/XInputDateDT.js +55 -55
- package/lib/components/XInputDecimal.d.ts +15 -15
- package/lib/components/XInputDecimal.js +78 -78
- package/lib/components/XInputDecimalBase.d.ts +12 -12
- package/lib/components/XInputDecimalBase.js +18 -18
- package/lib/components/XInputDecimalDT.d.ts +11 -11
- package/lib/components/XInputDecimalDT.js +74 -74
- package/lib/components/XInputFileList.d.ts +36 -36
- package/lib/components/XInputFileList.js +251 -251
- package/lib/components/XInputText.d.ts +12 -12
- package/lib/components/XInputText.js +69 -69
- package/lib/components/XInputTextDT.d.ts +9 -9
- package/lib/components/XInputTextDT.js +42 -42
- package/lib/components/XInputTextarea.d.ts +18 -18
- package/lib/components/XInputTextarea.js +85 -85
- package/lib/components/XLazyDataTable.d.ts +78 -78
- package/lib/components/XLazyDataTable.js +885 -885
- package/lib/components/XLocale.d.ts +26 -26
- package/lib/components/XLocale.js +59 -59
- package/lib/components/XLoginDialog.d.ts +8 -8
- package/lib/components/XLoginDialog.js +21 -21
- package/lib/components/XLoginForm.d.ts +7 -7
- package/lib/components/XLoginForm.js +128 -128
- package/lib/components/XObject.d.ts +3 -3
- package/lib/components/XObject.js +2 -2
- package/lib/components/XResponseError.d.ts +11 -11
- package/lib/components/XResponseError.js +32 -32
- package/lib/components/XSearchButton.d.ts +26 -26
- package/lib/components/XSearchButton.js +225 -225
- package/lib/components/XSearchButtonDT.d.ts +12 -12
- package/lib/components/XSearchButtonDT.js +188 -188
- package/lib/components/XSearchButtonOld.d.ts +13 -13
- package/lib/components/XSearchButtonOld.js +212 -212
- package/lib/components/XToOneAssocButton.d.ts +8 -8
- package/lib/components/XToOneAssocButton.js +30 -30
- package/lib/components/XToken.d.ts +6 -6
- package/lib/components/XToken.js +2 -2
- package/lib/components/XUtils.d.ts +74 -74
- package/lib/components/XUtils.js +627 -627
- package/lib/components/XUtilsConversions.d.ts +12 -12
- package/lib/components/XUtilsConversions.js +125 -125
- package/lib/components/XUtilsMetadata.d.ts +39 -39
- package/lib/components/XUtilsMetadata.js +452 -452
- package/lib/components/locale/x-en.json +26 -26
- package/lib/components/useXToken.d.ts +2 -2
- package/lib/components/useXToken.js +44 -44
- package/lib/serverApi/ExportImportParam.d.ts +51 -51
- package/lib/serverApi/ExportImportParam.js +34 -34
- package/lib/serverApi/FindParam.d.ts +34 -34
- package/lib/serverApi/FindParam.js +30 -30
- package/lib/serverApi/FindResult.d.ts +8 -8
- package/lib/serverApi/FindResult.js +2 -2
- package/lib/serverApi/XBrowseMetadata.d.ts +19 -19
- package/lib/serverApi/XBrowseMetadata.js +2 -2
- package/lib/serverApi/XEntityMetadata.d.ts +35 -35
- package/lib/serverApi/XEntityMetadata.js +2 -2
- package/lib/serverApi/XFileJsonField.d.ts +6 -6
- package/lib/serverApi/XFileJsonField.js +2 -2
- package/lib/serverApi/XUser.d.ts +8 -7
- package/lib/serverApi/XUser.js +2 -2
- package/lib/serverApi/XUserAuthenticationIfc.d.ts +9 -9
- package/lib/serverApi/XUserAuthenticationIfc.js +2 -2
- package/lib/serverApi/XUtilsCommon.d.ts +13 -13
- package/lib/serverApi/XUtilsCommon.js +110 -110
- package/package.json +1 -1
|
@@ -1,360 +1,360 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
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
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
-
if (k2 === undefined) k2 = k;
|
|
19
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
-
}
|
|
23
|
-
Object.defineProperty(o, k2, desc);
|
|
24
|
-
}) : (function(o, m, k, k2) {
|
|
25
|
-
if (k2 === undefined) k2 = k;
|
|
26
|
-
o[k2] = m[k];
|
|
27
|
-
}));
|
|
28
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
-
}) : function(o, v) {
|
|
31
|
-
o["default"] = v;
|
|
32
|
-
});
|
|
33
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
34
|
-
if (mod && mod.__esModule) return mod;
|
|
35
|
-
var result = {};
|
|
36
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
37
|
-
__setModuleDefault(result, mod);
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
41
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
42
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
43
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
44
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
45
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
46
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
47
|
-
});
|
|
48
|
-
};
|
|
49
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
50
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
51
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
52
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
53
|
-
function step(op) {
|
|
54
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
55
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
56
|
-
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;
|
|
57
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
58
|
-
switch (op[0]) {
|
|
59
|
-
case 0: case 1: t = op; break;
|
|
60
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
61
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
62
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
63
|
-
default:
|
|
64
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
65
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
66
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
67
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
68
|
-
if (t[2]) _.ops.pop();
|
|
69
|
-
_.trys.pop(); continue;
|
|
70
|
-
}
|
|
71
|
-
op = body.call(thisArg, _);
|
|
72
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
73
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
var __values = (this && this.__values) || function(o) {
|
|
77
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
78
|
-
if (m) return m.call(o);
|
|
79
|
-
if (o && typeof o.length === "number") return {
|
|
80
|
-
next: function () {
|
|
81
|
-
if (o && i >= o.length) o = void 0;
|
|
82
|
-
return { value: o && o[i++], done: !o };
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
86
|
-
};
|
|
87
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
88
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
89
|
-
if (!m) return o;
|
|
90
|
-
var i = m.call(o), r, ar = [], e;
|
|
91
|
-
try {
|
|
92
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
93
|
-
}
|
|
94
|
-
catch (error) { e = { error: error }; }
|
|
95
|
-
finally {
|
|
96
|
-
try {
|
|
97
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
98
|
-
}
|
|
99
|
-
finally { if (e) throw e.error; }
|
|
100
|
-
}
|
|
101
|
-
return ar;
|
|
102
|
-
};
|
|
103
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
104
|
-
exports.XBrowse = void 0;
|
|
105
|
-
var react_1 = __importStar(require("react"));
|
|
106
|
-
var SourceCodeLinkEntity_1 = require("./SourceCodeLinkEntity");
|
|
107
|
-
var XEditColumnDialog_1 = require("./XEditColumnDialog");
|
|
108
|
-
var _ = __importStar(require("lodash"));
|
|
109
|
-
var XUtilsMetadata_1 = require("./XUtilsMetadata");
|
|
110
|
-
var XUtils_1 = require("./XUtils");
|
|
111
|
-
var XLazyDataTable_1 = require("./XLazyDataTable");
|
|
112
|
-
// TODO - pouzit extends XBrowseBase, ako je tomu pri CarForm?
|
|
113
|
-
var XBrowse = /** @class */ (function (_super) {
|
|
114
|
-
__extends(XBrowse, _super);
|
|
115
|
-
function XBrowse(props) {
|
|
116
|
-
var _this = _super.call(this, props) || this;
|
|
117
|
-
console.log("************* XBrowse const entity = " + _this.props.entity);
|
|
118
|
-
_this.getXBrowseMeta = _this.getXBrowseMeta.bind(_this);
|
|
119
|
-
var xBrowseMeta = _this.getXBrowseMeta();
|
|
120
|
-
_this.state = {
|
|
121
|
-
xBrowseMeta: xBrowseMeta,
|
|
122
|
-
editMode: false,
|
|
123
|
-
editColumnDialogOpened: false
|
|
124
|
-
};
|
|
125
|
-
_this.addColumn = false;
|
|
126
|
-
_this.createDefaultXBrowseMeta = _this.createDefaultXBrowseMeta.bind(_this);
|
|
127
|
-
_this.onEditModeStart = _this.onEditModeStart.bind(_this);
|
|
128
|
-
_this.onEditModeSave = _this.onEditModeSave.bind(_this);
|
|
129
|
-
_this.onEditModeCancel = _this.onEditModeCancel.bind(_this);
|
|
130
|
-
_this.onAddColumn = _this.onAddColumn.bind(_this);
|
|
131
|
-
_this.editColumnDialogOnHide = _this.editColumnDialogOnHide.bind(_this);
|
|
132
|
-
_this.onEditColumn = _this.onEditColumn.bind(_this);
|
|
133
|
-
_this.onRemoveColumn = _this.onRemoveColumn.bind(_this);
|
|
134
|
-
_this.onMoveColumnLeft = _this.onMoveColumnLeft.bind(_this);
|
|
135
|
-
_this.onMoveColumnRight = _this.onMoveColumnRight.bind(_this);
|
|
136
|
-
_this.moveColumn = _this.moveColumn.bind(_this);
|
|
137
|
-
_this.onEdit = _this.onEdit.bind(_this);
|
|
138
|
-
return _this;
|
|
139
|
-
}
|
|
140
|
-
XBrowse.prototype.getXBrowseMeta = function () {
|
|
141
|
-
var xBrowseMeta = XUtilsMetadata_1.XUtilsMetadata.getXBrowseMeta(this.props.entity, this.props.browseId);
|
|
142
|
-
if (xBrowseMeta === undefined) {
|
|
143
|
-
xBrowseMeta = this.createDefaultXBrowseMeta();
|
|
144
|
-
}
|
|
145
|
-
return xBrowseMeta;
|
|
146
|
-
};
|
|
147
|
-
XBrowse.prototype.createDefaultXBrowseMeta = function () {
|
|
148
|
-
var e_1, _a;
|
|
149
|
-
var xColumnMetaList = [];
|
|
150
|
-
var xEntity = XUtilsMetadata_1.XUtilsMetadata.getXEntity(this.props.entity);
|
|
151
|
-
var xFieldList = XUtilsMetadata_1.XUtilsMetadata.getXFieldList(xEntity);
|
|
152
|
-
try {
|
|
153
|
-
for (var xFieldList_1 = __values(xFieldList), xFieldList_1_1 = xFieldList_1.next(); !xFieldList_1_1.done; xFieldList_1_1 = xFieldList_1.next()) {
|
|
154
|
-
var xField = xFieldList_1_1.value;
|
|
155
|
-
xColumnMetaList.push({ field: xField.name, header: xField.name, dropdownInFilter: false });
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
159
|
-
finally {
|
|
160
|
-
try {
|
|
161
|
-
if (xFieldList_1_1 && !xFieldList_1_1.done && (_a = xFieldList_1.return)) _a.call(xFieldList_1);
|
|
162
|
-
}
|
|
163
|
-
finally { if (e_1) throw e_1.error; }
|
|
164
|
-
}
|
|
165
|
-
return { entity: this.props.entity, rows: 15, columnMetaList: xColumnMetaList };
|
|
166
|
-
};
|
|
167
|
-
XBrowse.prototype.onEditModeStart = function () {
|
|
168
|
-
// zmeny budeme robit na klonovanych datach - aby sme sa vedeli cez cancel vratit do povodneho stavu
|
|
169
|
-
var xBrowseMetaCloned = _.cloneDeep(this.state.xBrowseMeta);
|
|
170
|
-
this.setState({ xBrowseMeta: xBrowseMetaCloned, editMode: true });
|
|
171
|
-
};
|
|
172
|
-
XBrowse.prototype.onEditModeSave = function () {
|
|
173
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
174
|
-
var xBrowseMeta, columnOrder, _a, _b, xColumnMeta, e_2;
|
|
175
|
-
var e_3, _c;
|
|
176
|
-
return __generator(this, function (_d) {
|
|
177
|
-
switch (_d.label) {
|
|
178
|
-
case 0:
|
|
179
|
-
xBrowseMeta = this.state.xBrowseMeta;
|
|
180
|
-
columnOrder = 0;
|
|
181
|
-
try {
|
|
182
|
-
for (_a = __values(xBrowseMeta.columnMetaList), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
183
|
-
xColumnMeta = _b.value;
|
|
184
|
-
columnOrder++;
|
|
185
|
-
xColumnMeta.columnOrder = columnOrder;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
189
|
-
finally {
|
|
190
|
-
try {
|
|
191
|
-
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
192
|
-
}
|
|
193
|
-
finally { if (e_3) throw e_3.error; }
|
|
194
|
-
}
|
|
195
|
-
console.log(xBrowseMeta);
|
|
196
|
-
_d.label = 1;
|
|
197
|
-
case 1:
|
|
198
|
-
_d.trys.push([1, 3, , 4]);
|
|
199
|
-
return [4 /*yield*/, XUtils_1.XUtils.post('saveRow', { entity: "XBrowseMeta", object: xBrowseMeta })];
|
|
200
|
-
case 2:
|
|
201
|
-
_d.sent();
|
|
202
|
-
return [3 /*break*/, 4];
|
|
203
|
-
case 3:
|
|
204
|
-
e_2 = _d.sent();
|
|
205
|
-
XUtils_1.XUtils.showErrorMessage("Save row XBrowseMeta failed.", e_2);
|
|
206
|
-
return [2 /*return*/]; // zostavame v edit mode
|
|
207
|
-
case 4:
|
|
208
|
-
// zmeny ulozime aj do cache formularov
|
|
209
|
-
XUtilsMetadata_1.XUtilsMetadata.setXBrowseMeta(this.props.entity, this.props.browseId, xBrowseMeta);
|
|
210
|
-
this.setState({ editMode: false });
|
|
211
|
-
return [2 /*return*/];
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
});
|
|
215
|
-
};
|
|
216
|
-
XBrowse.prototype.onEditModeCancel = function () {
|
|
217
|
-
// vratime formular z cache, resp. defaultny formular
|
|
218
|
-
var xBrowseMeta = this.getXBrowseMeta();
|
|
219
|
-
this.setState({ editMode: false, xBrowseMeta: xBrowseMeta });
|
|
220
|
-
};
|
|
221
|
-
XBrowse.prototype.onAddColumn = function (field) {
|
|
222
|
-
console.log("onAddColumn: " + field);
|
|
223
|
-
this.indexForAddColumn = this.getIndexForColumn(field);
|
|
224
|
-
this.addColumn = true;
|
|
225
|
-
this.xEditColumnDialogValues = { field: "", header: "", dropdownInFilter: false }; // values are used for dialog initialization
|
|
226
|
-
this.setState({ editColumnDialogOpened: true });
|
|
227
|
-
};
|
|
228
|
-
XBrowse.prototype.editColumnDialogOnHide = function (xEditColumnDialogValues) {
|
|
229
|
-
if (xEditColumnDialogValues !== null) {
|
|
230
|
-
if (this.indexForAddColumn !== undefined) {
|
|
231
|
-
var xBrowseMeta = this.state.xBrowseMeta;
|
|
232
|
-
if (this.addColumn) {
|
|
233
|
-
xBrowseMeta.columnMetaList.splice(this.indexForAddColumn + 1, 0, {
|
|
234
|
-
field: xEditColumnDialogValues.field,
|
|
235
|
-
header: xEditColumnDialogValues.header,
|
|
236
|
-
dropdownInFilter: xEditColumnDialogValues.dropdownInFilter
|
|
237
|
-
});
|
|
238
|
-
}
|
|
239
|
-
else {
|
|
240
|
-
var xColumnMeta = xBrowseMeta.columnMetaList[this.indexForAddColumn];
|
|
241
|
-
xColumnMeta.header = xEditColumnDialogValues.header;
|
|
242
|
-
xColumnMeta.dropdownInFilter = xEditColumnDialogValues.dropdownInFilter;
|
|
243
|
-
}
|
|
244
|
-
// TODO - tu mozno treba setnut funkciu - koli moznej asynchronicite
|
|
245
|
-
this.setState({ xBrowseMeta: xBrowseMeta, editColumnDialogOpened: false });
|
|
246
|
-
return;
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
this.setState({ editColumnDialogOpened: false });
|
|
250
|
-
};
|
|
251
|
-
XBrowse.prototype.onEditColumn = function (field) {
|
|
252
|
-
var _a;
|
|
253
|
-
console.log("onEditColumn: " + field);
|
|
254
|
-
this.indexForAddColumn = this.getIndexForColumn(field);
|
|
255
|
-
var xBrowseMeta = this.state.xBrowseMeta;
|
|
256
|
-
if (this.indexForAddColumn !== undefined) {
|
|
257
|
-
var xColumnMeta = xBrowseMeta.columnMetaList[this.indexForAddColumn];
|
|
258
|
-
this.addColumn = false;
|
|
259
|
-
this.xEditColumnDialogValues = { field: xColumnMeta.field, header: xColumnMeta.header, dropdownInFilter: (_a = xColumnMeta.dropdownInFilter) !== null && _a !== void 0 ? _a : false }; // values are used for dialog initialization
|
|
260
|
-
this.setState({ editColumnDialogOpened: true });
|
|
261
|
-
}
|
|
262
|
-
};
|
|
263
|
-
XBrowse.prototype.onRemoveColumn = function (field) {
|
|
264
|
-
console.log("onRemoveColumn: " + field);
|
|
265
|
-
var index = this.getIndexForColumn(field);
|
|
266
|
-
if (index !== undefined) {
|
|
267
|
-
var xBrowseMeta = this.state.xBrowseMeta;
|
|
268
|
-
xBrowseMeta.columnMetaList.splice(index, 1);
|
|
269
|
-
// TODO - tu mozno treba setnut funkciu - koli moznej asynchronicite
|
|
270
|
-
this.setState({ xBrowseMeta: xBrowseMeta });
|
|
271
|
-
}
|
|
272
|
-
};
|
|
273
|
-
XBrowse.prototype.onMoveColumnLeft = function (field) {
|
|
274
|
-
this.moveColumn(field, -1);
|
|
275
|
-
};
|
|
276
|
-
XBrowse.prototype.onMoveColumnRight = function (field) {
|
|
277
|
-
this.moveColumn(field, 1);
|
|
278
|
-
};
|
|
279
|
-
XBrowse.prototype.moveColumn = function (field, offset) {
|
|
280
|
-
var index = this.getIndexForColumn(field);
|
|
281
|
-
if (index !== undefined) {
|
|
282
|
-
var xBrowseMeta = this.state.xBrowseMeta;
|
|
283
|
-
XUtils_1.XUtils.arrayMoveElement(xBrowseMeta.columnMetaList, index, offset);
|
|
284
|
-
// TODO - tu mozno treba setnut funkciu - koli moznej asynchronicite
|
|
285
|
-
this.setState({ xBrowseMeta: xBrowseMeta });
|
|
286
|
-
}
|
|
287
|
-
};
|
|
288
|
-
XBrowse.prototype.getIndexForColumn = function (field) {
|
|
289
|
-
var e_4, _a;
|
|
290
|
-
var searchedIndex = undefined;
|
|
291
|
-
var xBrowseMeta = this.state.xBrowseMeta;
|
|
292
|
-
try {
|
|
293
|
-
for (var _b = __values(xBrowseMeta.columnMetaList.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
294
|
-
var _d = __read(_c.value, 2), index = _d[0], xColumnMeta = _d[1];
|
|
295
|
-
if (xColumnMeta.field.localeCompare(field) === 0) {
|
|
296
|
-
searchedIndex = index;
|
|
297
|
-
break;
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
302
|
-
finally {
|
|
303
|
-
try {
|
|
304
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
305
|
-
}
|
|
306
|
-
finally { if (e_4) throw e_4.error; }
|
|
307
|
-
}
|
|
308
|
-
return searchedIndex;
|
|
309
|
-
};
|
|
310
|
-
XBrowse.prototype.onEdit = function (selectedRow) {
|
|
311
|
-
var formElement = XUtils_1.XUtils.getAppForm(this.props.entity);
|
|
312
|
-
if (formElement !== undefined) {
|
|
313
|
-
var xEntity = XUtilsMetadata_1.XUtilsMetadata.getXEntity(this.props.entity);
|
|
314
|
-
var id = selectedRow[xEntity.idField];
|
|
315
|
-
// we add property id={selectedRow.<id>} into formElement
|
|
316
|
-
var formElementCloned = react_1.default.cloneElement(formElement, { id: id }, formElement.children);
|
|
317
|
-
// openForm pridavame automaticky v XFormNavigator3 pri renderovani komponentu
|
|
318
|
-
this.props.openForm(formElementCloned);
|
|
319
|
-
}
|
|
320
|
-
else {
|
|
321
|
-
console.log("XBrowse entity = ".concat(this.props.entity, ": form not found/registered."));
|
|
322
|
-
}
|
|
323
|
-
};
|
|
324
|
-
XBrowse.prototype.render = function () {
|
|
325
|
-
var xBrowseMeta = this.state.xBrowseMeta;
|
|
326
|
-
var xEditModeHandlers = {
|
|
327
|
-
onStart: this.onEditModeStart,
|
|
328
|
-
onSave: this.onEditModeSave,
|
|
329
|
-
onCancel: this.onEditModeCancel,
|
|
330
|
-
onAddColumn: this.onAddColumn,
|
|
331
|
-
onEditColumn: this.onEditColumn,
|
|
332
|
-
onRemoveColumn: this.onRemoveColumn,
|
|
333
|
-
onMoveColumnLeft: this.onMoveColumnLeft,
|
|
334
|
-
onMoveColumnRight: this.onMoveColumnRight
|
|
335
|
-
};
|
|
336
|
-
// for demo example classes
|
|
337
|
-
var entitySourceCodeLink;
|
|
338
|
-
if (xBrowseMeta.entity === "Brand") {
|
|
339
|
-
entitySourceCodeLink = react_1.default.createElement(SourceCodeLinkEntity_1.SourceCodeLinkEntity, { sourceCodeFile: "brand.entity.ts" });
|
|
340
|
-
}
|
|
341
|
-
else if (xBrowseMeta.entity === "Car") {
|
|
342
|
-
entitySourceCodeLink = react_1.default.createElement(SourceCodeLinkEntity_1.SourceCodeLinkEntity, { sourceCodeFile: "car.entity.ts" });
|
|
343
|
-
}
|
|
344
|
-
var formSourceCode;
|
|
345
|
-
if (entitySourceCodeLink !== undefined) {
|
|
346
|
-
formSourceCode =
|
|
347
|
-
react_1.default.createElement("div", { className: "flex justify-content-center mt-3" },
|
|
348
|
-
react_1.default.createElement("span", { className: "source-code-link" }, "Form is saved in DB (Administration - Browses)"));
|
|
349
|
-
}
|
|
350
|
-
return (react_1.default.createElement("div", null,
|
|
351
|
-
react_1.default.createElement(XLazyDataTable_1.XLazyDataTable, { entity: xBrowseMeta.entity, rows: xBrowseMeta.rows, editMode: this.state.editMode, editModeHandlers: xEditModeHandlers, onEdit: this.onEdit, displayed: this.props.displayed }, xBrowseMeta.columnMetaList.map(function (xColumnMeta, index) {
|
|
352
|
-
return (react_1.default.createElement(XLazyDataTable_1.XLazyColumn, { key: index, field: xColumnMeta.field, header: xColumnMeta.header, dropdownInFilter: xColumnMeta.dropdownInFilter, align: xColumnMeta.align, width: xColumnMeta.width }));
|
|
353
|
-
})),
|
|
354
|
-
formSourceCode,
|
|
355
|
-
entitySourceCodeLink,
|
|
356
|
-
react_1.default.createElement(XEditColumnDialog_1.XEditColumnDialog, { dialogOpened: this.state.editColumnDialogOpened, entity: xBrowseMeta.entity, addColumn: this.addColumn, xEditColumnDialogValues: this.xEditColumnDialogValues, onHideDialog: this.editColumnDialogOnHide })));
|
|
357
|
-
};
|
|
358
|
-
return XBrowse;
|
|
359
|
-
}(react_1.Component));
|
|
360
|
-
exports.XBrowse = XBrowse;
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
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
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
32
|
+
});
|
|
33
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
41
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
42
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
43
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
44
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
45
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
46
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
50
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
51
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
52
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
53
|
+
function step(op) {
|
|
54
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
55
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
56
|
+
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;
|
|
57
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
58
|
+
switch (op[0]) {
|
|
59
|
+
case 0: case 1: t = op; break;
|
|
60
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
61
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
62
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
63
|
+
default:
|
|
64
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
65
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
66
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
67
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
68
|
+
if (t[2]) _.ops.pop();
|
|
69
|
+
_.trys.pop(); continue;
|
|
70
|
+
}
|
|
71
|
+
op = body.call(thisArg, _);
|
|
72
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
73
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
var __values = (this && this.__values) || function(o) {
|
|
77
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
78
|
+
if (m) return m.call(o);
|
|
79
|
+
if (o && typeof o.length === "number") return {
|
|
80
|
+
next: function () {
|
|
81
|
+
if (o && i >= o.length) o = void 0;
|
|
82
|
+
return { value: o && o[i++], done: !o };
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
86
|
+
};
|
|
87
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
88
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
89
|
+
if (!m) return o;
|
|
90
|
+
var i = m.call(o), r, ar = [], e;
|
|
91
|
+
try {
|
|
92
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
93
|
+
}
|
|
94
|
+
catch (error) { e = { error: error }; }
|
|
95
|
+
finally {
|
|
96
|
+
try {
|
|
97
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
98
|
+
}
|
|
99
|
+
finally { if (e) throw e.error; }
|
|
100
|
+
}
|
|
101
|
+
return ar;
|
|
102
|
+
};
|
|
103
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
104
|
+
exports.XBrowse = void 0;
|
|
105
|
+
var react_1 = __importStar(require("react"));
|
|
106
|
+
var SourceCodeLinkEntity_1 = require("./SourceCodeLinkEntity");
|
|
107
|
+
var XEditColumnDialog_1 = require("./XEditColumnDialog");
|
|
108
|
+
var _ = __importStar(require("lodash"));
|
|
109
|
+
var XUtilsMetadata_1 = require("./XUtilsMetadata");
|
|
110
|
+
var XUtils_1 = require("./XUtils");
|
|
111
|
+
var XLazyDataTable_1 = require("./XLazyDataTable");
|
|
112
|
+
// TODO - pouzit extends XBrowseBase, ako je tomu pri CarForm?
|
|
113
|
+
var XBrowse = /** @class */ (function (_super) {
|
|
114
|
+
__extends(XBrowse, _super);
|
|
115
|
+
function XBrowse(props) {
|
|
116
|
+
var _this = _super.call(this, props) || this;
|
|
117
|
+
console.log("************* XBrowse const entity = " + _this.props.entity);
|
|
118
|
+
_this.getXBrowseMeta = _this.getXBrowseMeta.bind(_this);
|
|
119
|
+
var xBrowseMeta = _this.getXBrowseMeta();
|
|
120
|
+
_this.state = {
|
|
121
|
+
xBrowseMeta: xBrowseMeta,
|
|
122
|
+
editMode: false,
|
|
123
|
+
editColumnDialogOpened: false
|
|
124
|
+
};
|
|
125
|
+
_this.addColumn = false;
|
|
126
|
+
_this.createDefaultXBrowseMeta = _this.createDefaultXBrowseMeta.bind(_this);
|
|
127
|
+
_this.onEditModeStart = _this.onEditModeStart.bind(_this);
|
|
128
|
+
_this.onEditModeSave = _this.onEditModeSave.bind(_this);
|
|
129
|
+
_this.onEditModeCancel = _this.onEditModeCancel.bind(_this);
|
|
130
|
+
_this.onAddColumn = _this.onAddColumn.bind(_this);
|
|
131
|
+
_this.editColumnDialogOnHide = _this.editColumnDialogOnHide.bind(_this);
|
|
132
|
+
_this.onEditColumn = _this.onEditColumn.bind(_this);
|
|
133
|
+
_this.onRemoveColumn = _this.onRemoveColumn.bind(_this);
|
|
134
|
+
_this.onMoveColumnLeft = _this.onMoveColumnLeft.bind(_this);
|
|
135
|
+
_this.onMoveColumnRight = _this.onMoveColumnRight.bind(_this);
|
|
136
|
+
_this.moveColumn = _this.moveColumn.bind(_this);
|
|
137
|
+
_this.onEdit = _this.onEdit.bind(_this);
|
|
138
|
+
return _this;
|
|
139
|
+
}
|
|
140
|
+
XBrowse.prototype.getXBrowseMeta = function () {
|
|
141
|
+
var xBrowseMeta = XUtilsMetadata_1.XUtilsMetadata.getXBrowseMeta(this.props.entity, this.props.browseId);
|
|
142
|
+
if (xBrowseMeta === undefined) {
|
|
143
|
+
xBrowseMeta = this.createDefaultXBrowseMeta();
|
|
144
|
+
}
|
|
145
|
+
return xBrowseMeta;
|
|
146
|
+
};
|
|
147
|
+
XBrowse.prototype.createDefaultXBrowseMeta = function () {
|
|
148
|
+
var e_1, _a;
|
|
149
|
+
var xColumnMetaList = [];
|
|
150
|
+
var xEntity = XUtilsMetadata_1.XUtilsMetadata.getXEntity(this.props.entity);
|
|
151
|
+
var xFieldList = XUtilsMetadata_1.XUtilsMetadata.getXFieldList(xEntity);
|
|
152
|
+
try {
|
|
153
|
+
for (var xFieldList_1 = __values(xFieldList), xFieldList_1_1 = xFieldList_1.next(); !xFieldList_1_1.done; xFieldList_1_1 = xFieldList_1.next()) {
|
|
154
|
+
var xField = xFieldList_1_1.value;
|
|
155
|
+
xColumnMetaList.push({ field: xField.name, header: xField.name, dropdownInFilter: false });
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
159
|
+
finally {
|
|
160
|
+
try {
|
|
161
|
+
if (xFieldList_1_1 && !xFieldList_1_1.done && (_a = xFieldList_1.return)) _a.call(xFieldList_1);
|
|
162
|
+
}
|
|
163
|
+
finally { if (e_1) throw e_1.error; }
|
|
164
|
+
}
|
|
165
|
+
return { entity: this.props.entity, rows: 15, columnMetaList: xColumnMetaList };
|
|
166
|
+
};
|
|
167
|
+
XBrowse.prototype.onEditModeStart = function () {
|
|
168
|
+
// zmeny budeme robit na klonovanych datach - aby sme sa vedeli cez cancel vratit do povodneho stavu
|
|
169
|
+
var xBrowseMetaCloned = _.cloneDeep(this.state.xBrowseMeta);
|
|
170
|
+
this.setState({ xBrowseMeta: xBrowseMetaCloned, editMode: true });
|
|
171
|
+
};
|
|
172
|
+
XBrowse.prototype.onEditModeSave = function () {
|
|
173
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
174
|
+
var xBrowseMeta, columnOrder, _a, _b, xColumnMeta, e_2;
|
|
175
|
+
var e_3, _c;
|
|
176
|
+
return __generator(this, function (_d) {
|
|
177
|
+
switch (_d.label) {
|
|
178
|
+
case 0:
|
|
179
|
+
xBrowseMeta = this.state.xBrowseMeta;
|
|
180
|
+
columnOrder = 0;
|
|
181
|
+
try {
|
|
182
|
+
for (_a = __values(xBrowseMeta.columnMetaList), _b = _a.next(); !_b.done; _b = _a.next()) {
|
|
183
|
+
xColumnMeta = _b.value;
|
|
184
|
+
columnOrder++;
|
|
185
|
+
xColumnMeta.columnOrder = columnOrder;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
189
|
+
finally {
|
|
190
|
+
try {
|
|
191
|
+
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
192
|
+
}
|
|
193
|
+
finally { if (e_3) throw e_3.error; }
|
|
194
|
+
}
|
|
195
|
+
console.log(xBrowseMeta);
|
|
196
|
+
_d.label = 1;
|
|
197
|
+
case 1:
|
|
198
|
+
_d.trys.push([1, 3, , 4]);
|
|
199
|
+
return [4 /*yield*/, XUtils_1.XUtils.post('saveRow', { entity: "XBrowseMeta", object: xBrowseMeta })];
|
|
200
|
+
case 2:
|
|
201
|
+
_d.sent();
|
|
202
|
+
return [3 /*break*/, 4];
|
|
203
|
+
case 3:
|
|
204
|
+
e_2 = _d.sent();
|
|
205
|
+
XUtils_1.XUtils.showErrorMessage("Save row XBrowseMeta failed.", e_2);
|
|
206
|
+
return [2 /*return*/]; // zostavame v edit mode
|
|
207
|
+
case 4:
|
|
208
|
+
// zmeny ulozime aj do cache formularov
|
|
209
|
+
XUtilsMetadata_1.XUtilsMetadata.setXBrowseMeta(this.props.entity, this.props.browseId, xBrowseMeta);
|
|
210
|
+
this.setState({ editMode: false });
|
|
211
|
+
return [2 /*return*/];
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
};
|
|
216
|
+
XBrowse.prototype.onEditModeCancel = function () {
|
|
217
|
+
// vratime formular z cache, resp. defaultny formular
|
|
218
|
+
var xBrowseMeta = this.getXBrowseMeta();
|
|
219
|
+
this.setState({ editMode: false, xBrowseMeta: xBrowseMeta });
|
|
220
|
+
};
|
|
221
|
+
XBrowse.prototype.onAddColumn = function (field) {
|
|
222
|
+
console.log("onAddColumn: " + field);
|
|
223
|
+
this.indexForAddColumn = this.getIndexForColumn(field);
|
|
224
|
+
this.addColumn = true;
|
|
225
|
+
this.xEditColumnDialogValues = { field: "", header: "", dropdownInFilter: false }; // values are used for dialog initialization
|
|
226
|
+
this.setState({ editColumnDialogOpened: true });
|
|
227
|
+
};
|
|
228
|
+
XBrowse.prototype.editColumnDialogOnHide = function (xEditColumnDialogValues) {
|
|
229
|
+
if (xEditColumnDialogValues !== null) {
|
|
230
|
+
if (this.indexForAddColumn !== undefined) {
|
|
231
|
+
var xBrowseMeta = this.state.xBrowseMeta;
|
|
232
|
+
if (this.addColumn) {
|
|
233
|
+
xBrowseMeta.columnMetaList.splice(this.indexForAddColumn + 1, 0, {
|
|
234
|
+
field: xEditColumnDialogValues.field,
|
|
235
|
+
header: xEditColumnDialogValues.header,
|
|
236
|
+
dropdownInFilter: xEditColumnDialogValues.dropdownInFilter
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
var xColumnMeta = xBrowseMeta.columnMetaList[this.indexForAddColumn];
|
|
241
|
+
xColumnMeta.header = xEditColumnDialogValues.header;
|
|
242
|
+
xColumnMeta.dropdownInFilter = xEditColumnDialogValues.dropdownInFilter;
|
|
243
|
+
}
|
|
244
|
+
// TODO - tu mozno treba setnut funkciu - koli moznej asynchronicite
|
|
245
|
+
this.setState({ xBrowseMeta: xBrowseMeta, editColumnDialogOpened: false });
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
this.setState({ editColumnDialogOpened: false });
|
|
250
|
+
};
|
|
251
|
+
XBrowse.prototype.onEditColumn = function (field) {
|
|
252
|
+
var _a;
|
|
253
|
+
console.log("onEditColumn: " + field);
|
|
254
|
+
this.indexForAddColumn = this.getIndexForColumn(field);
|
|
255
|
+
var xBrowseMeta = this.state.xBrowseMeta;
|
|
256
|
+
if (this.indexForAddColumn !== undefined) {
|
|
257
|
+
var xColumnMeta = xBrowseMeta.columnMetaList[this.indexForAddColumn];
|
|
258
|
+
this.addColumn = false;
|
|
259
|
+
this.xEditColumnDialogValues = { field: xColumnMeta.field, header: xColumnMeta.header, dropdownInFilter: (_a = xColumnMeta.dropdownInFilter) !== null && _a !== void 0 ? _a : false }; // values are used for dialog initialization
|
|
260
|
+
this.setState({ editColumnDialogOpened: true });
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
XBrowse.prototype.onRemoveColumn = function (field) {
|
|
264
|
+
console.log("onRemoveColumn: " + field);
|
|
265
|
+
var index = this.getIndexForColumn(field);
|
|
266
|
+
if (index !== undefined) {
|
|
267
|
+
var xBrowseMeta = this.state.xBrowseMeta;
|
|
268
|
+
xBrowseMeta.columnMetaList.splice(index, 1);
|
|
269
|
+
// TODO - tu mozno treba setnut funkciu - koli moznej asynchronicite
|
|
270
|
+
this.setState({ xBrowseMeta: xBrowseMeta });
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
XBrowse.prototype.onMoveColumnLeft = function (field) {
|
|
274
|
+
this.moveColumn(field, -1);
|
|
275
|
+
};
|
|
276
|
+
XBrowse.prototype.onMoveColumnRight = function (field) {
|
|
277
|
+
this.moveColumn(field, 1);
|
|
278
|
+
};
|
|
279
|
+
XBrowse.prototype.moveColumn = function (field, offset) {
|
|
280
|
+
var index = this.getIndexForColumn(field);
|
|
281
|
+
if (index !== undefined) {
|
|
282
|
+
var xBrowseMeta = this.state.xBrowseMeta;
|
|
283
|
+
XUtils_1.XUtils.arrayMoveElement(xBrowseMeta.columnMetaList, index, offset);
|
|
284
|
+
// TODO - tu mozno treba setnut funkciu - koli moznej asynchronicite
|
|
285
|
+
this.setState({ xBrowseMeta: xBrowseMeta });
|
|
286
|
+
}
|
|
287
|
+
};
|
|
288
|
+
XBrowse.prototype.getIndexForColumn = function (field) {
|
|
289
|
+
var e_4, _a;
|
|
290
|
+
var searchedIndex = undefined;
|
|
291
|
+
var xBrowseMeta = this.state.xBrowseMeta;
|
|
292
|
+
try {
|
|
293
|
+
for (var _b = __values(xBrowseMeta.columnMetaList.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
294
|
+
var _d = __read(_c.value, 2), index = _d[0], xColumnMeta = _d[1];
|
|
295
|
+
if (xColumnMeta.field.localeCompare(field) === 0) {
|
|
296
|
+
searchedIndex = index;
|
|
297
|
+
break;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
302
|
+
finally {
|
|
303
|
+
try {
|
|
304
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
305
|
+
}
|
|
306
|
+
finally { if (e_4) throw e_4.error; }
|
|
307
|
+
}
|
|
308
|
+
return searchedIndex;
|
|
309
|
+
};
|
|
310
|
+
XBrowse.prototype.onEdit = function (selectedRow) {
|
|
311
|
+
var formElement = XUtils_1.XUtils.getAppForm(this.props.entity);
|
|
312
|
+
if (formElement !== undefined) {
|
|
313
|
+
var xEntity = XUtilsMetadata_1.XUtilsMetadata.getXEntity(this.props.entity);
|
|
314
|
+
var id = selectedRow[xEntity.idField];
|
|
315
|
+
// we add property id={selectedRow.<id>} into formElement
|
|
316
|
+
var formElementCloned = react_1.default.cloneElement(formElement, { id: id }, formElement.children);
|
|
317
|
+
// openForm pridavame automaticky v XFormNavigator3 pri renderovani komponentu
|
|
318
|
+
this.props.openForm(formElementCloned);
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
console.log("XBrowse entity = ".concat(this.props.entity, ": form not found/registered."));
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
XBrowse.prototype.render = function () {
|
|
325
|
+
var xBrowseMeta = this.state.xBrowseMeta;
|
|
326
|
+
var xEditModeHandlers = {
|
|
327
|
+
onStart: this.onEditModeStart,
|
|
328
|
+
onSave: this.onEditModeSave,
|
|
329
|
+
onCancel: this.onEditModeCancel,
|
|
330
|
+
onAddColumn: this.onAddColumn,
|
|
331
|
+
onEditColumn: this.onEditColumn,
|
|
332
|
+
onRemoveColumn: this.onRemoveColumn,
|
|
333
|
+
onMoveColumnLeft: this.onMoveColumnLeft,
|
|
334
|
+
onMoveColumnRight: this.onMoveColumnRight
|
|
335
|
+
};
|
|
336
|
+
// for demo example classes
|
|
337
|
+
var entitySourceCodeLink;
|
|
338
|
+
if (xBrowseMeta.entity === "Brand") {
|
|
339
|
+
entitySourceCodeLink = react_1.default.createElement(SourceCodeLinkEntity_1.SourceCodeLinkEntity, { sourceCodeFile: "brand.entity.ts" });
|
|
340
|
+
}
|
|
341
|
+
else if (xBrowseMeta.entity === "Car") {
|
|
342
|
+
entitySourceCodeLink = react_1.default.createElement(SourceCodeLinkEntity_1.SourceCodeLinkEntity, { sourceCodeFile: "car.entity.ts" });
|
|
343
|
+
}
|
|
344
|
+
var formSourceCode;
|
|
345
|
+
if (entitySourceCodeLink !== undefined) {
|
|
346
|
+
formSourceCode =
|
|
347
|
+
react_1.default.createElement("div", { className: "flex justify-content-center mt-3" },
|
|
348
|
+
react_1.default.createElement("span", { className: "source-code-link" }, "Form is saved in DB (Administration - Browses)"));
|
|
349
|
+
}
|
|
350
|
+
return (react_1.default.createElement("div", null,
|
|
351
|
+
react_1.default.createElement(XLazyDataTable_1.XLazyDataTable, { entity: xBrowseMeta.entity, rows: xBrowseMeta.rows, editMode: this.state.editMode, editModeHandlers: xEditModeHandlers, onEdit: this.onEdit, displayed: this.props.displayed }, xBrowseMeta.columnMetaList.map(function (xColumnMeta, index) {
|
|
352
|
+
return (react_1.default.createElement(XLazyDataTable_1.XLazyColumn, { key: index, field: xColumnMeta.field, header: xColumnMeta.header, dropdownInFilter: xColumnMeta.dropdownInFilter, align: xColumnMeta.align, width: xColumnMeta.width }));
|
|
353
|
+
})),
|
|
354
|
+
formSourceCode,
|
|
355
|
+
entitySourceCodeLink,
|
|
356
|
+
react_1.default.createElement(XEditColumnDialog_1.XEditColumnDialog, { dialogOpened: this.state.editColumnDialogOpened, entity: xBrowseMeta.entity, addColumn: this.addColumn, xEditColumnDialogValues: this.xEditColumnDialogValues, onHideDialog: this.editColumnDialogOnHide })));
|
|
357
|
+
};
|
|
358
|
+
return XBrowse;
|
|
359
|
+
}(react_1.Component));
|
|
360
|
+
exports.XBrowse = XBrowse;
|