awing-library 2.1.76-beta → 2.1.78-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +1 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +2 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/Utils.d.ts +0 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +15 -17
- package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.d.ts +0 -7
- package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.js +0 -135
- package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.test.js +2 -2
- package/lib/ACM-AXN/PlaceGroup/CreateOrEdit.js +98 -3
- package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +5 -5
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/ObjectField.d.ts +2 -0
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/ObjectField.js +19 -3
- package/lib/ACM-AXN/ViewTemplate/container.js +2 -1
- package/lib/AWING/BasicDataForm/interface.d.ts +2 -2
- package/lib/AWING/DataForm/interface.d.ts +2 -2
- package/lib/AWING/PageManagement/PageManagement.js +2 -2
- package/lib/AWING/ultis/validation.d.ts +1 -1
- package/lib/Commons/Components/ClassicDrawer.js +2 -2
- package/lib/Utils/Helpers.d.ts +1 -0
- package/lib/Utils/Helpers.js +6 -1
- package/package.json +1 -1
|
@@ -91,6 +91,7 @@ var ViewContent = function (_a) {
|
|
|
91
91
|
var _a;
|
|
92
92
|
var keys = fieldPath.split('.');
|
|
93
93
|
var fieldChange = templateDatasUpdated[keys[1]];
|
|
94
|
+
console.log(fieldPath, fieldChange);
|
|
94
95
|
var indexOfFieldChange = (_a = viewInfoData.viewDatas) === null || _a === void 0 ? void 0 : _a.findIndex(function (field) { return field.fieldName === fieldChange.fieldName; });
|
|
95
96
|
onChange(['viewDatas', String(indexOfFieldChange), 'fieldValue'], fieldChange.fieldValue);
|
|
96
97
|
setChanged();
|
|
@@ -52,6 +52,7 @@ var ViewList_1 = __importDefault(require("./Components/ViewList"));
|
|
|
52
52
|
var ViewContent_1 = __importDefault(require("./ViewContent"));
|
|
53
53
|
var ViewInfo_1 = __importDefault(require("./ViewInfo"));
|
|
54
54
|
var Context_2 = require("../../../../Context");
|
|
55
|
+
var Helpers_1 = require("../../../../Utils/Helpers");
|
|
55
56
|
var TabView = function (_a) {
|
|
56
57
|
var isCreate = _a.isCreate;
|
|
57
58
|
var _b = (0, recoil_1.useRecoilState)((0, Recoil_1.pageState)('views')), _c = _b[0], views = _c.views, page = _c.page, setView = _b[1];
|
|
@@ -130,7 +131,7 @@ var TabView = function (_a) {
|
|
|
130
131
|
return;
|
|
131
132
|
}
|
|
132
133
|
setView((0, immer_1.default)(function (draf) {
|
|
133
|
-
(0,
|
|
134
|
+
(0, Helpers_1.setObject)(draf, keys, value);
|
|
134
135
|
}));
|
|
135
136
|
};
|
|
136
137
|
var handleChange = function (key) {
|
|
@@ -4,7 +4,6 @@ export declare const isObjectType: (value: unknown) => value is object;
|
|
|
4
4
|
export declare const isObject: <T extends object>(value: unknown) => value is T;
|
|
5
5
|
export declare const composeKey: <F extends (...p: any[]) => any, G extends (...p: any[]) => any>(f: F, g: G) => F;
|
|
6
6
|
export declare const concatKey: (parent: string | string[]) => (child: string | string[]) => string[];
|
|
7
|
-
export declare const setObject: <O extends {}>(obj: O, arrKey: Array<keyof O>, value: unknown) => void;
|
|
8
7
|
export declare const convertTreeArrayToFlatArray: (treeArray: DataObject[]) => any[];
|
|
9
8
|
export declare const convertValueByType: (type: string, val: any) => any;
|
|
10
9
|
export declare const getFieldsValid: (templateDatas: TemplateData[]) => boolean[];
|
|
@@ -15,12 +15,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
15
15
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.getTemplateDatas = exports.updateStateByPageModel = exports.getFieldsValid = exports.convertValueByType = exports.convertTreeArrayToFlatArray = exports.
|
|
18
|
+
exports.getTemplateDatas = exports.updateStateByPageModel = exports.getFieldsValid = exports.convertValueByType = exports.convertTreeArrayToFlatArray = exports.concatKey = exports.composeKey = exports.isObject = exports.isObjectType = void 0;
|
|
19
19
|
var Enum_1 = require("../../ViewTemplate/Enum");
|
|
20
20
|
var lodash_1 = require("lodash");
|
|
21
21
|
var immer_1 = __importDefault(require("immer"));
|
|
22
22
|
var common_1 = require("../../ViewTemplate/common");
|
|
23
23
|
var enums_1 = require("../enums");
|
|
24
|
+
var Helpers_1 = require("../../../Utils/Helpers");
|
|
24
25
|
// }
|
|
25
26
|
var isDateObject = function (value) { return value instanceof Date; };
|
|
26
27
|
var isNullOrUndefined = function (value) {
|
|
@@ -53,14 +54,22 @@ var concatKey = function (parent) {
|
|
|
53
54
|
};
|
|
54
55
|
};
|
|
55
56
|
exports.concatKey = concatKey;
|
|
56
|
-
var setObject = function (obj, arrKey, value) {
|
|
57
|
-
(0, lodash_1.set)(obj, arrKey.reduce(function (acc, val) { return acc + '[' + val + ']'; }, ''), value);
|
|
58
|
-
};
|
|
59
|
-
exports.setObject = setObject;
|
|
60
57
|
var convertTreeArrayToFlatArray = function (treeArray) {
|
|
61
58
|
var result = [];
|
|
62
59
|
treeArray === null || treeArray === void 0 ? void 0 : treeArray.forEach(function (data) {
|
|
63
|
-
getChilds(data, function (item) {
|
|
60
|
+
getChilds(data, function (item) {
|
|
61
|
+
if (item.fieldType === Enum_1.TYPE_FIELD_TEMPLATE.OBJECT && !item.fieldName.includes('.')) {
|
|
62
|
+
var child_1 = {};
|
|
63
|
+
getChilds(item, function (el) {
|
|
64
|
+
var keys = el.fieldName.split('.');
|
|
65
|
+
if (keys.length > 1) {
|
|
66
|
+
(0, Helpers_1.setObject)(child_1, keys, el.fieldValue || el.defaultValue);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
item.fieldValue = JSON.stringify((0, lodash_1.get)(child_1, item.fieldName));
|
|
70
|
+
}
|
|
71
|
+
result.push(item);
|
|
72
|
+
});
|
|
64
73
|
});
|
|
65
74
|
return result;
|
|
66
75
|
};
|
|
@@ -215,8 +224,6 @@ function updateStateByPageModel(pageModel) {
|
|
|
215
224
|
}));
|
|
216
225
|
}
|
|
217
226
|
exports.updateStateByPageModel = updateStateByPageModel;
|
|
218
|
-
var getFieldsValue = function (template) {
|
|
219
|
-
};
|
|
220
227
|
/**
|
|
221
228
|
* Retrieves the template data based on the provided template parameters, view information data, page ID, and view number.
|
|
222
229
|
*
|
|
@@ -232,15 +239,6 @@ var getTemplateDatas = function (templateParameters, viewInfoData, pageId, viewN
|
|
|
232
239
|
? viewInfoData.viewDatas.find(function (el) { return el.fieldName === parameter.fieldName; })
|
|
233
240
|
: null;
|
|
234
241
|
var valData = tempData ? tempData.fieldValue : null;
|
|
235
|
-
var child = {};
|
|
236
|
-
getChilds(parameter, function (item) {
|
|
237
|
-
var keys = item.fieldName.split('.');
|
|
238
|
-
if (keys.length > 1) {
|
|
239
|
-
console.log("item.fieldValue", item.fieldValue);
|
|
240
|
-
child[keys.at(-1)] = item.fieldValue;
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
console.log("child", child);
|
|
244
242
|
var fieldValue = valData !== null && valData !== void 0 ? valData : (parameter.defaultValue ? parameter.defaultValue : '');
|
|
245
243
|
fieldValue = (0, exports.convertValueByType)(parameter.fieldType, fieldValue);
|
|
246
244
|
return {
|
|
@@ -1,136 +1 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __assign = (this && this.__assign) || function () {
|
|
3
|
-
__assign = Object.assign || function(t) {
|
|
4
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
-
s = arguments[i];
|
|
6
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
-
t[p] = s[p];
|
|
8
|
-
}
|
|
9
|
-
return t;
|
|
10
|
-
};
|
|
11
|
-
return __assign.apply(this, arguments);
|
|
12
|
-
};
|
|
13
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
18
|
-
/**
|
|
19
|
-
*
|
|
20
|
-
* @author dauquan1108@gmail.com on 01/26/2024.
|
|
21
|
-
*
|
|
22
|
-
**/
|
|
23
|
-
var react_1 = require("react");
|
|
24
|
-
var react_router_dom_1 = require("react-router-dom");
|
|
25
|
-
var react_i18next_1 = require("react-i18next");
|
|
26
|
-
var Types_1 = require("./Types");
|
|
27
|
-
var AWING_1 = require("../../AWING");
|
|
28
|
-
var Hooks_1 = __importDefault(require("./Hooks"));
|
|
29
|
-
var PlaceListInfo_1 = __importDefault(require("./PlaceListInfo"));
|
|
30
|
-
function ContentCreateOrEdit() {
|
|
31
|
-
var t = (0, react_i18next_1.useTranslation)().t;
|
|
32
|
-
var id = (0, react_router_dom_1.useParams)().id;
|
|
33
|
-
var _a = (0, Hooks_1.default)(), service = _a.service, snackbar = _a.appHelper.snackbar;
|
|
34
|
-
var _b = (0, AWING_1.useDrawer)(), drawerState = _b.drawerState, setDrawerState = _b.setDrawerState, setDrawerTitle = _b.setDrawerTitle, setConfirmExit = _b.setConfirmExit;
|
|
35
|
-
var _c = (0, react_1.useState)(false), loading = _c[0], setLoading = _c[1];
|
|
36
|
-
var _d = (0, react_1.useState)(false), loadingTable = _d[0], setLoadingTable = _d[1];
|
|
37
|
-
var _e = (0, react_1.useState)(), placeGroup = _e[0], setPlaceGroup = _e[1];
|
|
38
|
-
var _f = (0, react_1.useState)(), placeFilter = _f[0], setPlaceFilter = _f[1];
|
|
39
|
-
var _g = (0, react_1.useState)([]), places = _g[0], setPlaces = _g[1];
|
|
40
|
-
// Update DrawerNavigate
|
|
41
|
-
(0, react_1.useEffect)(function () {
|
|
42
|
-
var _a;
|
|
43
|
-
setDrawerTitle(id
|
|
44
|
-
? "".concat(t('PlaceGroup.TitleEdit'), ": ").concat(placeGroup ? placeGroup === null || placeGroup === void 0 ? void 0 : placeGroup.name : 'Loading...')
|
|
45
|
-
: t('PlaceGroup.TitleCreate'));
|
|
46
|
-
!(placeGroup === null || placeGroup === void 0 ? void 0 : placeGroup.name) || !((_a = placeGroup === null || placeGroup === void 0 ? void 0 : placeGroup.name) === null || _a === void 0 ? void 0 : _a.trim())
|
|
47
|
-
? setDrawerState(AWING_1.DrawerStateEnum.INVALID)
|
|
48
|
-
: setDrawerState(AWING_1.DrawerStateEnum.VALID);
|
|
49
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
50
|
-
}, [placeGroup === null || placeGroup === void 0 ? void 0 : placeGroup.name]);
|
|
51
|
-
(0, react_1.useEffect)(function () {
|
|
52
|
-
if (drawerState === AWING_1.DrawerStateEnum.IN_PROGRESS) {
|
|
53
|
-
handleSubmit();
|
|
54
|
-
}
|
|
55
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
56
|
-
}, [drawerState]);
|
|
57
|
-
// End update DrawerNavigate
|
|
58
|
-
(0, react_1.useEffect)(function () {
|
|
59
|
-
if (!placeGroup && id) {
|
|
60
|
-
setLoading(true);
|
|
61
|
-
service
|
|
62
|
-
.placeGroupsGet(id)
|
|
63
|
-
.then(function (placeGroupData) {
|
|
64
|
-
setPlaceGroup(placeGroupData);
|
|
65
|
-
setPlaceFilter(placeGroupData.placeFilter);
|
|
66
|
-
})
|
|
67
|
-
.finally(function () {
|
|
68
|
-
setLoading(false);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}, [placeGroup, service, id]);
|
|
72
|
-
(0, react_1.useEffect)(function () {
|
|
73
|
-
if (id) {
|
|
74
|
-
setLoadingTable(true);
|
|
75
|
-
service
|
|
76
|
-
.placesQuery({ groupIds: [id] })
|
|
77
|
-
.then(setPlaces)
|
|
78
|
-
.finally(function () {
|
|
79
|
-
setLoadingTable(false);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}, [service, id]);
|
|
83
|
-
var handleDetailSubmit = (0, react_1.useCallback)(function (placesSelected, placeFilter) {
|
|
84
|
-
setConfirmExit(true);
|
|
85
|
-
setPlaces(placesSelected);
|
|
86
|
-
setPlaceFilter(placeFilter);
|
|
87
|
-
}, []);
|
|
88
|
-
var handleSubmit = function () {
|
|
89
|
-
var newPlaceGroup = __assign(__assign({}, placeGroup), { placeIds: places.map(function (place) { return place.placeId; }), placeFilter: placeFilter !== null && placeFilter !== void 0 ? placeFilter : {
|
|
90
|
-
operandGroups: [
|
|
91
|
-
{
|
|
92
|
-
operands: [
|
|
93
|
-
{
|
|
94
|
-
operator: Types_1.LogicalOperator.In,
|
|
95
|
-
type: Types_1.PlaceFilterOperandType.PlaceId,
|
|
96
|
-
value: '[]',
|
|
97
|
-
},
|
|
98
|
-
],
|
|
99
|
-
},
|
|
100
|
-
],
|
|
101
|
-
} });
|
|
102
|
-
var handleServiceCall = function (promise) {
|
|
103
|
-
return promise
|
|
104
|
-
.then(function () {
|
|
105
|
-
snackbar('success');
|
|
106
|
-
setDrawerState(AWING_1.DrawerStateEnum.SUBMIT_SUCCESS);
|
|
107
|
-
})
|
|
108
|
-
.catch(function () {
|
|
109
|
-
snackbar('error');
|
|
110
|
-
setDrawerState(AWING_1.DrawerStateEnum.VALID);
|
|
111
|
-
});
|
|
112
|
-
};
|
|
113
|
-
return id
|
|
114
|
-
? handleServiceCall(service.placeGroupsPut(newPlaceGroup))
|
|
115
|
-
: handleServiceCall(service.placeGroupsPost(newPlaceGroup));
|
|
116
|
-
};
|
|
117
|
-
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: loading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(AWING_1.BasicDataForm, { caption: t('PlaceGroup.TitlePlaceGroupInfo'), fields: [
|
|
118
|
-
{
|
|
119
|
-
fieldName: 'name',
|
|
120
|
-
type: 'text',
|
|
121
|
-
label: t('Common.GroupName'),
|
|
122
|
-
required: true,
|
|
123
|
-
},
|
|
124
|
-
{
|
|
125
|
-
fieldName: 'description',
|
|
126
|
-
type: 'text',
|
|
127
|
-
label: t('PlaceGroup.Description'),
|
|
128
|
-
},
|
|
129
|
-
], oldValue: placeGroup, onUpdate: function (validState, valueForm) {
|
|
130
|
-
setConfirmExit(true);
|
|
131
|
-
setPlaceGroup(function (oldPlaceGroup) {
|
|
132
|
-
return (__assign(__assign({}, oldPlaceGroup), valueForm));
|
|
133
|
-
});
|
|
134
|
-
} }), (0, jsx_runtime_1.jsx)(PlaceListInfo_1.default, { rows: places, loading: loadingTable, onDetailSubmit: handleDetailSubmit, placeFilter: placeFilter })] })) }));
|
|
135
|
-
}
|
|
136
|
-
exports.default = ContentCreateOrEdit;
|
|
@@ -59,7 +59,7 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
59
59
|
**/
|
|
60
60
|
var react_1 = require("@testing-library/react");
|
|
61
61
|
var react_router_dom_1 = require("react-router-dom");
|
|
62
|
-
var
|
|
62
|
+
var CreateOrEdit_1 = __importDefault(require("./CreateOrEdit"));
|
|
63
63
|
var AWING_1 = require("../../AWING");
|
|
64
64
|
require("@testing-library/jest-dom");
|
|
65
65
|
var mockPlaceGroup = {
|
|
@@ -281,7 +281,7 @@ describe('ContentCreateOrEdit component(PlaceGroup).', function () {
|
|
|
281
281
|
});
|
|
282
282
|
});
|
|
283
283
|
var renderUi = function () {
|
|
284
|
-
return (0, react_1.render)((0, jsx_runtime_1.jsx)(react_router_dom_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(
|
|
284
|
+
return (0, react_1.render)((0, jsx_runtime_1.jsx)(react_router_dom_1.BrowserRouter, { children: (0, jsx_runtime_1.jsx)(CreateOrEdit_1.default, {}) }));
|
|
285
285
|
};
|
|
286
286
|
it('Render component', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
287
287
|
return __generator(this, function (_a) {
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
15
|
};
|
|
@@ -9,9 +20,93 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
9
20
|
* @author dauquan1108@gmail.com on 01/26/2024.
|
|
10
21
|
*
|
|
11
22
|
**/
|
|
12
|
-
var
|
|
13
|
-
var
|
|
23
|
+
var react_1 = require("react");
|
|
24
|
+
var react_router_dom_1 = require("react-router-dom");
|
|
25
|
+
var react_i18next_1 = require("react-i18next");
|
|
26
|
+
var Types_1 = require("./Types");
|
|
27
|
+
var AWING_1 = require("../../AWING");
|
|
28
|
+
var Hooks_1 = __importDefault(require("./Hooks"));
|
|
29
|
+
var PlaceListInfo_1 = __importDefault(require("./PlaceListInfo"));
|
|
30
|
+
var ClassicDrawer_1 = __importDefault(require("../../Commons/Components/ClassicDrawer"));
|
|
14
31
|
function CreateOrEdit() {
|
|
15
|
-
|
|
32
|
+
var t = (0, react_i18next_1.useTranslation)().t;
|
|
33
|
+
var id = (0, react_router_dom_1.useParams)().id;
|
|
34
|
+
var service = (0, Hooks_1.default)().service;
|
|
35
|
+
var _a = (0, react_1.useState)(false), confirmExit = _a[0], setConfirmExit = _a[1];
|
|
36
|
+
var _b = (0, react_1.useState)(false), validState = _b[0], setValidState = _b[1];
|
|
37
|
+
var _c = (0, react_1.useState)(true), loading = _c[0], setLoading = _c[1];
|
|
38
|
+
var _d = (0, react_1.useState)(false), loadingTable = _d[0], setLoadingTable = _d[1];
|
|
39
|
+
var _e = (0, react_1.useState)(), placeGroup = _e[0], setPlaceGroup = _e[1];
|
|
40
|
+
var _f = (0, react_1.useState)(), placeFilter = _f[0], setPlaceFilter = _f[1];
|
|
41
|
+
var _g = (0, react_1.useState)([]), places = _g[0], setPlaces = _g[1];
|
|
42
|
+
(0, react_1.useEffect)(function () {
|
|
43
|
+
if (!placeGroup && id) {
|
|
44
|
+
setLoading(true);
|
|
45
|
+
service
|
|
46
|
+
.placeGroupsGet(id)
|
|
47
|
+
.then(function (placeGroupData) {
|
|
48
|
+
setPlaceGroup(placeGroupData);
|
|
49
|
+
setPlaceFilter(placeGroupData.placeFilter);
|
|
50
|
+
})
|
|
51
|
+
.finally(function () {
|
|
52
|
+
setLoading(false);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
}, [placeGroup, service, id]);
|
|
56
|
+
(0, react_1.useEffect)(function () {
|
|
57
|
+
if (id) {
|
|
58
|
+
setLoadingTable(true);
|
|
59
|
+
service
|
|
60
|
+
.placesQuery({ groupIds: [id] })
|
|
61
|
+
.then(setPlaces)
|
|
62
|
+
.finally(function () {
|
|
63
|
+
setLoadingTable(false);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}, [service, id]);
|
|
67
|
+
var handleDetailSubmit = (0, react_1.useCallback)(function (placesSelected, placeFilter) {
|
|
68
|
+
setConfirmExit(true);
|
|
69
|
+
setPlaces(placesSelected);
|
|
70
|
+
setPlaceFilter(placeFilter);
|
|
71
|
+
}, []);
|
|
72
|
+
var handleSubmit = function () {
|
|
73
|
+
var newPlaceGroup = __assign(__assign({}, placeGroup), { placeIds: places.map(function (place) { return place.placeId; }), placeFilter: placeFilter !== null && placeFilter !== void 0 ? placeFilter : {
|
|
74
|
+
operandGroups: [
|
|
75
|
+
{
|
|
76
|
+
operands: [
|
|
77
|
+
{
|
|
78
|
+
operator: Types_1.LogicalOperator.In,
|
|
79
|
+
type: Types_1.PlaceFilterOperandType.PlaceId,
|
|
80
|
+
value: '[]',
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
} });
|
|
86
|
+
return service[id ? 'placeGroupsPut' : 'placeGroupsPost'](newPlaceGroup);
|
|
87
|
+
};
|
|
88
|
+
return ((0, jsx_runtime_1.jsx)(ClassicDrawer_1.default, { title: id
|
|
89
|
+
? "".concat(t('PlaceGroup.TitleEdit'), ": ").concat(placeGroup ? placeGroup === null || placeGroup === void 0 ? void 0 : placeGroup.name : 'Loading...')
|
|
90
|
+
: t('PlaceGroup.TitleCreate'), onSubmit: handleSubmit, confirmExit: confirmExit, disableButtonSubmit: !validState, children: loading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(AWING_1.BasicDataForm, { caption: t('PlaceGroup.TitlePlaceGroupInfo'), fields: [
|
|
91
|
+
{
|
|
92
|
+
fieldName: 'name',
|
|
93
|
+
type: 'text',
|
|
94
|
+
label: t('Common.GroupName'),
|
|
95
|
+
required: true,
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
fieldName: 'description',
|
|
99
|
+
type: 'text',
|
|
100
|
+
length: 200,
|
|
101
|
+
pattern: false,
|
|
102
|
+
label: t('PlaceGroup.Description'),
|
|
103
|
+
},
|
|
104
|
+
], oldValue: placeGroup, onUpdate: function (validState, valueForm) {
|
|
105
|
+
setConfirmExit(true);
|
|
106
|
+
setValidState(validState);
|
|
107
|
+
setPlaceGroup(function (oldPlaceGroup) {
|
|
108
|
+
return (__assign(__assign({}, oldPlaceGroup), valueForm));
|
|
109
|
+
});
|
|
110
|
+
} }), (0, jsx_runtime_1.jsx)(PlaceListInfo_1.default, { rows: places, loading: loadingTable, onDetailSubmit: handleDetailSubmit, placeFilter: placeFilter })] })) }));
|
|
16
111
|
}
|
|
17
112
|
exports.default = CreateOrEdit;
|
|
@@ -49,7 +49,6 @@ var AWING_1 = require("../../AWING");
|
|
|
49
49
|
var validation_1 = require("../../AWING/ultis/validation");
|
|
50
50
|
var ClassicDrawer_1 = __importStar(require("../../Commons/Components/ClassicDrawer"));
|
|
51
51
|
var Context_1 = require("../../Context");
|
|
52
|
-
var Utils_1 = require("../Page/CreateOrEdit/Utils");
|
|
53
52
|
var BasicInput_1 = __importDefault(require("./Components/BasicInput"));
|
|
54
53
|
var CornJobInput_1 = __importDefault(require("./Components/CornJobInput"));
|
|
55
54
|
var InputParameters_1 = __importDefault(require("./Components/InputParameters"));
|
|
@@ -57,7 +56,8 @@ var TriggerInput_1 = __importDefault(require("./Components/TriggerInput"));
|
|
|
57
56
|
var Constant_1 = require("./Constant");
|
|
58
57
|
var Context_2 = require("./Context");
|
|
59
58
|
var Enums_1 = require("./Enums");
|
|
60
|
-
var
|
|
59
|
+
var Utils_1 = require("./Utils");
|
|
60
|
+
var Helpers_1 = require("../../Utils/Helpers");
|
|
61
61
|
var JobInput = (_a = {},
|
|
62
62
|
_a[Enums_1.JobTypeEnum.Cron] = CornJobInput_1.default,
|
|
63
63
|
_a[Enums_1.JobTypeEnum.Trigger] = TriggerInput_1.default,
|
|
@@ -81,7 +81,7 @@ var CreateOrEdit = function () {
|
|
|
81
81
|
var _e = react_1.default.useState(), jobActionSelected = _e[0], setJobActionSelected = _e[1];
|
|
82
82
|
var _f = react_1.default.useState(false), enableSubmit = _f[0], setEnableSubmit = _f[1];
|
|
83
83
|
react_1.default.useEffect(function () {
|
|
84
|
-
setEnableSubmit((0,
|
|
84
|
+
setEnableSubmit((0, Utils_1.getFormValidation)(jobModel, jobValid.current));
|
|
85
85
|
}, [jobModel]);
|
|
86
86
|
react_1.default.useEffect(function () {
|
|
87
87
|
setLoading(true);
|
|
@@ -95,7 +95,7 @@ var CreateOrEdit = function () {
|
|
|
95
95
|
var initJobActions = responses[0];
|
|
96
96
|
setJobActions(initJobActions);
|
|
97
97
|
if (responses.length > 1) {
|
|
98
|
-
var model_1 = (0,
|
|
98
|
+
var model_1 = (0, Utils_1.cloneValue)(responses[1]);
|
|
99
99
|
setJobModel(model_1);
|
|
100
100
|
setJobActionSelected(initJobActions.find(function (x) { return x.name === model_1.jobAction; }));
|
|
101
101
|
}
|
|
@@ -121,7 +121,7 @@ var CreateOrEdit = function () {
|
|
|
121
121
|
setConfirmExit(true);
|
|
122
122
|
var keys = path.split('.');
|
|
123
123
|
setJobModel((0, immer_1.default)(function (draft) {
|
|
124
|
-
(0,
|
|
124
|
+
(0, Helpers_1.setObject)(draft, keys, value);
|
|
125
125
|
// draft.inputParameters[index] = item
|
|
126
126
|
}));
|
|
127
127
|
};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { FieldProps, FieldInfo } from "../../interface";
|
|
2
|
+
import { DataObject } from "../../../../AWING";
|
|
2
3
|
export default function ObjectField(props: FieldProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export declare const getChilds: <T extends Record<string, DataObject>>(child: T, action: (p: T) => any) => any;
|
|
3
5
|
export declare const getObjectDefaultValue: (fieldInfo: FieldInfo) => any;
|
|
@@ -14,13 +14,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.getObjectDefaultValue = void 0;
|
|
17
|
+
exports.getObjectDefaultValue = exports.getChilds = void 0;
|
|
18
18
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
19
|
var ListField_1 = require("./ListField");
|
|
20
20
|
var material_1 = require("@mui/material");
|
|
21
21
|
var styles_1 = require("@mui/styles");
|
|
22
22
|
var TemplateField_1 = __importDefault(require("../../TemplateField"));
|
|
23
23
|
var react_1 = require("react");
|
|
24
|
+
var Helpers_1 = require("../../../../Utils/Helpers");
|
|
25
|
+
var lodash_1 = require("lodash");
|
|
24
26
|
var useStyles = (0, styles_1.makeStyles)(function (theme) { return ({
|
|
25
27
|
root: {
|
|
26
28
|
textAlign: "center",
|
|
@@ -70,13 +72,27 @@ function ObjectField(props) {
|
|
|
70
72
|
fieldChild.fieldName.split(".").slice(-1)[0]) }), index)); }) })] }));
|
|
71
73
|
}
|
|
72
74
|
exports.default = ObjectField;
|
|
75
|
+
var getChilds = function (child, action) {
|
|
76
|
+
var _a;
|
|
77
|
+
action(child);
|
|
78
|
+
if (((_a = child === null || child === void 0 ? void 0 : child.childrens) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
79
|
+
return child.childrens.map(function (c) { return (0, exports.getChilds)(c, action); });
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
exports.getChilds = getChilds;
|
|
73
83
|
var getObjectDefaultValue = function (fieldInfo) {
|
|
74
84
|
var _a;
|
|
75
85
|
var result = {};
|
|
76
86
|
(_a = fieldInfo === null || fieldInfo === void 0 ? void 0 : fieldInfo.childrens) === null || _a === void 0 ? void 0 : _a.map(function (child) {
|
|
77
87
|
if (child.fieldType !== "list") {
|
|
78
|
-
var
|
|
79
|
-
|
|
88
|
+
var item_1 = {};
|
|
89
|
+
(0, exports.getChilds)(child, function (el) {
|
|
90
|
+
var keys = el.fieldName.split('.');
|
|
91
|
+
if (keys.length > 1) {
|
|
92
|
+
(0, Helpers_1.setObject)(item_1, keys, el.defaultValue);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
result[child.fieldName.split(".").slice(-1)[0]] = (0, lodash_1.get)(item_1, child.fieldName);
|
|
80
96
|
}
|
|
81
97
|
else {
|
|
82
98
|
result[child.fieldName.split(".").slice(-1)[0]] =
|
|
@@ -106,7 +106,7 @@ var addChilds = function (fields, fieldInfo) {
|
|
|
106
106
|
return result;
|
|
107
107
|
};
|
|
108
108
|
var convertToTreeData = function (data) {
|
|
109
|
-
|
|
109
|
+
var treeData = data
|
|
110
110
|
.map(function (item) { return addChilds(data, item); })
|
|
111
111
|
.filter(function (item) { return !item.fieldName.includes("."); })
|
|
112
112
|
.map(function (item) {
|
|
@@ -121,4 +121,5 @@ var convertToTreeData = function (data) {
|
|
|
121
121
|
return item;
|
|
122
122
|
}
|
|
123
123
|
});
|
|
124
|
+
return treeData;
|
|
124
125
|
};
|
|
@@ -21,14 +21,14 @@ export interface BasicFieldDefinition extends BaseTextFieldProps {
|
|
|
21
21
|
/**
|
|
22
22
|
* Định dạng regex cho hàm textValid
|
|
23
23
|
*/
|
|
24
|
-
pattern?: RegExp;
|
|
24
|
+
pattern?: RegExp | false;
|
|
25
25
|
/**
|
|
26
26
|
*
|
|
27
27
|
* @param value
|
|
28
28
|
* @param length - Độ dài byte, only type text và text-area
|
|
29
29
|
* @param pattern - Định dạng regex, only type text và text-area
|
|
30
30
|
*/
|
|
31
|
-
checkValid?(value: any, length?: number, pattern?: RegExp): boolean;
|
|
31
|
+
checkValid?(value: any, length?: number, pattern?: RegExp | false): boolean;
|
|
32
32
|
options?: MenuOption[];
|
|
33
33
|
loading?: boolean;
|
|
34
34
|
readOnly?: boolean;
|
|
@@ -87,14 +87,14 @@ export interface TextFieldDefinition<T extends DataObject> extends BaseFieldDefi
|
|
|
87
87
|
/**
|
|
88
88
|
* Định dạng regex cho hàm textValid
|
|
89
89
|
*/
|
|
90
|
-
pattern?: RegExp;
|
|
90
|
+
pattern?: RegExp | false;
|
|
91
91
|
/**
|
|
92
92
|
*
|
|
93
93
|
* @param value
|
|
94
94
|
* @param length - Độ dài byte, only type text và text-area
|
|
95
95
|
* @param pattern - Định dạng regex, only type text và text-area
|
|
96
96
|
*/
|
|
97
|
-
onValidate?(value?: string, length?: number, pattern?: RegExp): boolean;
|
|
97
|
+
onValidate?(value?: string, length?: number, pattern?: RegExp | false): boolean;
|
|
98
98
|
defaultValue?: string;
|
|
99
99
|
autoFormula?: string;
|
|
100
100
|
}
|
|
@@ -59,9 +59,9 @@ var PageManagement = function (props) {
|
|
|
59
59
|
// }, [queryInput, onChangeQueryInput, window.location.pathname]);
|
|
60
60
|
(0, react_1.useEffect)(function () {
|
|
61
61
|
var _a;
|
|
62
|
-
if (((_a = location.state) === null || _a === void 0 ? void 0 : _a.
|
|
62
|
+
if (((_a = location.state) === null || _a === void 0 ? void 0 : _a.action) === ClassicDrawer_1.CloseAction.Reload ||
|
|
63
63
|
!(0, lodash_1.isEqual)(queryInput, cachedQueryInput.current)) {
|
|
64
|
-
handleChangeQueryInput(queryInput);
|
|
64
|
+
handleChangeQueryInput((0, lodash_1.cloneDeep)(queryInput));
|
|
65
65
|
cachedQueryInput.current = (0, lodash_1.cloneDeep)(queryInput);
|
|
66
66
|
}
|
|
67
67
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -23,7 +23,7 @@ export declare function logicExpressionValid(value: string | null | undefined):
|
|
|
23
23
|
* @param invertRegex - The inverted regular expression pattern to match against the text string. Default is undefined.
|
|
24
24
|
* @returns An object containing the validation result and a message describing any validation errors.
|
|
25
25
|
*/
|
|
26
|
-
export declare const textValidation: (str: string, length?: number, required?: boolean, pattern?: RegExp, invertRegex?: RegExp | false) => {
|
|
26
|
+
export declare const textValidation: (str: string, length?: number, required?: boolean, pattern?: RegExp | false, invertRegex?: RegExp | false) => {
|
|
27
27
|
valid: boolean;
|
|
28
28
|
message: string;
|
|
29
29
|
};
|
|
@@ -67,7 +67,7 @@ var Drawer = function (props) {
|
|
|
67
67
|
var _a;
|
|
68
68
|
((_a = location.state) === null || _a === void 0 ? void 0 : _a.type) === 'history'
|
|
69
69
|
? navigate(-1)
|
|
70
|
-
: navigate('..', { state: __assign(__assign({}, location.state), {
|
|
70
|
+
: navigate('..', { state: __assign(__assign({}, location.state), { action: action }) });
|
|
71
71
|
}, 100);
|
|
72
72
|
};
|
|
73
73
|
var doPromise = function () {
|
|
@@ -80,7 +80,7 @@ var Drawer = function (props) {
|
|
|
80
80
|
snackbar('success');
|
|
81
81
|
console.log('success');
|
|
82
82
|
}, 700);
|
|
83
|
-
closeDrawer(typeof state === 'string' ? state : CloseAction.Reload);
|
|
83
|
+
closeDrawer((typeof state === 'string' && state) ? state : CloseAction.Reload);
|
|
84
84
|
})
|
|
85
85
|
.catch(function () {
|
|
86
86
|
snackbar('error');
|
package/lib/Utils/Helpers.d.ts
CHANGED
|
@@ -104,3 +104,4 @@ export interface IHeadCells {
|
|
|
104
104
|
}
|
|
105
105
|
export declare const updateObjectFields: (originalObj: any, changedValues: any) => any;
|
|
106
106
|
export declare function formatChartNumber(val: any, language: string): string;
|
|
107
|
+
export declare const setObject: <O extends {}>(obj: O, arrKey: Array<keyof O>, value: unknown) => void;
|
package/lib/Utils/Helpers.js
CHANGED
|
@@ -23,10 +23,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
23
23
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.formatChartNumber = exports.updateObjectFields = exports.validateNumber = exports.getToday = exports.convertDataSetPattern = exports.convertAnalyticModelToChartDataAdvance = exports.getStartOfDay = exports.timestampToStringDDMMYYYY = exports.dateToStringDDMMYYYY = exports.convertTimelineToDateTime = exports.dateTimeToString = exports.convertTimestampToDateTime = exports.convertDateTimeToTimestamp = exports.checkValidUrl = exports.validateAnalyticTypes = exports.stringToListAccessPoint = exports.checkValidMacAddress = exports.checkValidStringListAP = exports.convertTimeLine = exports.WMAPEcalculator = exports.roundDecimalNumber = exports.convertArrayToObject = exports.offlinePaginate = exports.changeToAlias = exports.calculatorDirectoryIdRoot = exports.getRoutePath = exports.timestampToStringDDMMYYYYHHmm = exports.dateToStringddddDDMMYYYYHHmm = exports.downloadZipFile = exports.downloadFilePattern = exports.generateUUID = exports.displayLongString = exports.getQueryVariable = exports.formatNumber = exports.dateToString = exports.getCookie = exports.TIMELINE_TYPE = void 0;
|
|
26
|
+
exports.setObject = exports.formatChartNumber = exports.updateObjectFields = exports.validateNumber = exports.getToday = exports.convertDataSetPattern = exports.convertAnalyticModelToChartDataAdvance = exports.getStartOfDay = exports.timestampToStringDDMMYYYY = exports.dateToStringDDMMYYYY = exports.convertTimelineToDateTime = exports.dateTimeToString = exports.convertTimestampToDateTime = exports.convertDateTimeToTimestamp = exports.checkValidUrl = exports.validateAnalyticTypes = exports.stringToListAccessPoint = exports.checkValidMacAddress = exports.checkValidStringListAP = exports.convertTimeLine = exports.WMAPEcalculator = exports.roundDecimalNumber = exports.convertArrayToObject = exports.offlinePaginate = exports.changeToAlias = exports.calculatorDirectoryIdRoot = exports.getRoutePath = exports.timestampToStringDDMMYYYYHHmm = exports.dateToStringddddDDMMYYYYHHmm = exports.downloadZipFile = exports.downloadFilePattern = exports.generateUUID = exports.displayLongString = exports.getQueryVariable = exports.formatNumber = exports.dateToString = exports.getCookie = exports.TIMELINE_TYPE = void 0;
|
|
27
27
|
var moment_1 = __importDefault(require("moment"));
|
|
28
28
|
var i18n_1 = __importDefault(require("../i18n"));
|
|
29
29
|
var helper_1 = require("../AWING/helper");
|
|
30
|
+
var lodash_1 = require("lodash");
|
|
30
31
|
var TIMELINE_TYPE;
|
|
31
32
|
(function (TIMELINE_TYPE) {
|
|
32
33
|
TIMELINE_TYPE[TIMELINE_TYPE["HOUR"] = 0] = "HOUR";
|
|
@@ -532,3 +533,7 @@ function formatChartNumber(val, language) {
|
|
|
532
533
|
return formatValue;
|
|
533
534
|
}
|
|
534
535
|
exports.formatChartNumber = formatChartNumber;
|
|
536
|
+
var setObject = function (obj, arrKey, value) {
|
|
537
|
+
(0, lodash_1.set)(obj, arrKey.reduce(function (acc, val) { return acc + '[' + val + ']'; }, ''), value);
|
|
538
|
+
};
|
|
539
|
+
exports.setObject = setObject;
|