awing-library 2.1.77-beta → 2.1.79-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.
@@ -1,7 +0,0 @@
1
- /**
2
- *
3
- * @author dauquan1108@gmail.com on 01/26/2024.
4
- *
5
- **/
6
- declare function ContentCreateOrEdit(): import("react/jsx-runtime").JSX.Element;
7
- export default ContentCreateOrEdit;
@@ -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 ContentCreateOrEdit_1 = __importDefault(require("./ContentCreateOrEdit"));
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)(ContentCreateOrEdit_1.default, {}) }));
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 DrawerNavigate_1 = __importDefault(require("../../AWING/DrawerNavigate"));
13
- var ContentCreateOrEdit_1 = __importDefault(require("./ContentCreateOrEdit"));
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
- return ((0, jsx_runtime_1.jsx)(DrawerNavigate_1.default, { childrenWrapperStyle: { padding: 0 }, children: (0, jsx_runtime_1.jsx)(ContentCreateOrEdit_1.default, {}) }));
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;
@@ -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;
@@ -8,7 +8,7 @@ var chartColorDefaults = [
8
8
  '#dd040c',
9
9
  '#aed6dc',
10
10
  '#ff9a8d',
11
- '#4a536b'
11
+ '#4a536b',
12
12
  ];
13
13
  var PieComponent = function (_a) {
14
14
  var chart = _a.chart, data = _a.data, _b = _a.dataConvert, dataConvert = _b === void 0 ? {
@@ -21,7 +21,23 @@ var PieComponent = function (_a) {
21
21
  borderWidth: 2,
22
22
  },
23
23
  ],
24
- } : _b, _c = _a.widthChart, widthChart = _c === void 0 ? 300 : _c, _d = _a.heightChart, heightChart = _d === void 0 ? 300 : _d, _e = _a.optionCustom, optionCustom = _e === void 0 ? {} : _e, _f = _a.options, options = _f === void 0 ? {
24
+ } : _b, _c = _a.widthChart, widthChart = _c === void 0 ? 300 : _c, _d = _a.heightChart, heightChart = _d === void 0 ? 300 : _d, _e = _a.optionCustom, optionCustom = _e === void 0 ? {
25
+ plugins: {
26
+ datalabels: {
27
+ anchor: 'end',
28
+ align: 'right',
29
+ formatter: function (value, ctx) {
30
+ var totalSum = ctx.dataset.data.reduce(function (acc, curr) {
31
+ return acc + curr;
32
+ }, 0);
33
+ console.log('totalSum', totalSum);
34
+ var percentage = (value / totalSum) * 100;
35
+ console.log('percentage', percentage);
36
+ return "(".concat(percentage.toFixed(1), "%)");
37
+ },
38
+ },
39
+ },
40
+ } : _e, _f = _a.options, options = _f === void 0 ? {
25
41
  responsive: true,
26
42
  elements: {
27
43
  arc: {
@@ -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.pageAction) === ClassicDrawer_1.CloseAction.Reload ||
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), { pageAction: action }) });
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');
@@ -515,6 +515,9 @@ var updateObjectFields = function (originalObj, changedValues) {
515
515
  obj[key] = value;
516
516
  }
517
517
  }
518
+ else {
519
+ obj[key] = value;
520
+ }
518
521
  }
519
522
  };
520
523
  // Update nested fields
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awing-library",
3
- "version": "2.1.77-beta",
3
+ "version": "2.1.79-beta",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",