awing-library 2.1.130 → 2.1.131

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.
@@ -4,6 +4,7 @@ exports.defaultView = exports.PAGE_LOGIN_DIRECTORY_SELECTED = void 0;
4
4
  var enums_1 = require("./enums");
5
5
  exports.PAGE_LOGIN_DIRECTORY_SELECTED = 'pageLoginDirectorySelected';
6
6
  exports.defaultView = {
7
+ viewId: crypto.randomUUID(),
7
8
  templateId: '',
8
9
  directoryId: '',
9
10
  templateTypeId: 0,
@@ -16,4 +17,5 @@ exports.defaultView = {
16
17
  isChanged: false,
17
18
  verifiedStatus: enums_1.VERIFIED_STATUS.NOT_VERIFIED,
18
19
  isValidationFields: [],
20
+ events: [],
19
21
  };
@@ -1,12 +1,11 @@
1
1
  import { Directory } from '../../Campaign/Types';
2
- import { FormValid, PageModel, PageViewEvent, Template } from '../Types';
2
+ import { FormValid, PageModel, Template } from '../Types';
3
3
  import { ITemplateModel, ITemplateType } from '../../../ACM-AXN/Template';
4
4
  export declare const pageDirectoriesState: import("recoil").RecoilState<Directory[]>;
5
5
  export declare const wiewMounted: import("recoil").RecoilState<boolean>;
6
6
  export declare const pageRootDeirectory: import("recoil").RecoilState<string>;
7
7
  export declare const pageChangedFormState: import("recoil").RecoilState<Record<keyof PageModel, boolean>>;
8
8
  export declare const pageRootState: import("recoil").RecoilState<PageModel>;
9
- export declare const pageEventState: import("recoil").RecoilState<PageViewEvent[]>;
10
9
  export declare const validForm: import("recoil").RecoilState<FormValid>;
11
10
  export declare const pageState: (param: keyof PageModel) => import("recoil").RecoilState<PageModel>;
12
11
  export declare const hasDeprecated: import("recoil").RecoilState<boolean>;
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.templateDirectoriesState = exports.templateTypeState = exports.pageCacheData = exports.hasDeprecated = exports.pageState = exports.validForm = exports.pageEventState = exports.pageRootState = exports.pageChangedFormState = exports.pageRootDeirectory = exports.wiewMounted = exports.pageDirectoriesState = void 0;
14
+ exports.templateDirectoriesState = exports.templateTypeState = exports.pageCacheData = exports.hasDeprecated = exports.pageState = exports.validForm = exports.pageRootState = exports.pageChangedFormState = exports.pageRootDeirectory = exports.wiewMounted = exports.pageDirectoriesState = void 0;
15
15
  var lodash_1 = require("lodash");
16
16
  var recoil_1 = require("recoil");
17
17
  var Constant_1 = require("../Constant");
@@ -75,17 +75,6 @@ exports.pageRootState = (0, recoil_1.atom)({
75
75
  viewEvents: [],
76
76
  },
77
77
  });
78
- exports.pageEventState = (0, recoil_1.selector)({
79
- key: 'pageEventState',
80
- get: function (_a) {
81
- var get = _a.get;
82
- return get(exports.pageRootState).viewEvents;
83
- },
84
- set: function (_a, newValue) {
85
- var set = _a.set;
86
- set(exports.pageRootState, function (prev) { return (__assign(__assign({}, prev), { viewEvents: newValue })); });
87
- },
88
- });
89
78
  exports.validForm = (0, recoil_1.atom)({
90
79
  key: 'validFormState',
91
80
  default: (0, recoil_1.selector)({
@@ -1,15 +1,4 @@
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
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -63,7 +52,6 @@ var jsx_runtime_1 = require("react/jsx-runtime");
63
52
  var material_1 = require("@mui/material");
64
53
  var AWING_1 = require("../../../../AWING");
65
54
  var Context_1 = require("../../../../Context");
66
- var lodash_1 = require("lodash");
67
55
  var react_1 = __importDefault(require("react"));
68
56
  var recoil_1 = require("recoil");
69
57
  var ViewTemplate_1 = __importDefault(require("../../../ViewTemplate"));
@@ -82,9 +70,8 @@ var ViewContent = function (_a) {
82
70
  var _h = react_1.default.useState(''), scriptValidationTemplate = _h[0], setScriptValidationTemplate = _h[1];
83
71
  var _j = react_1.default.useState(''), scriptAutoField = _j[0], setScriptAutoField = _j[1];
84
72
  var _k = react_1.default.useState(false), loading = _k[0], setLoading = _k[1];
85
- var isUniq = react_1.default.useRef(false);
86
73
  var rootDirectory = (0, recoil_1.useRecoilValue)(Recoil_1.pageRootDeirectory);
87
- var _l = (0, recoil_1.useRecoilState)(Recoil_1.pageEventState), events = _l[0], setEvent = _l[1];
74
+ // const [events, setEvent] = useRecoilState(pageEventState)
88
75
  react_1.default.useEffect(function () {
89
76
  onChange(['viewDatas'], []);
90
77
  if (viewInfoData === null || viewInfoData === void 0 ? void 0 : viewInfoData.templateId) {
@@ -97,25 +84,10 @@ var ViewContent = function (_a) {
97
84
  }
98
85
  // eslint-disable-next-line react-hooks/exhaustive-deps
99
86
  }, [viewInfoData.templateId]);
100
- react_1.default.useEffect(function () {
101
- if (!isUniq.current) {
102
- setEvent(function (prev) {
103
- return (0, lodash_1.uniqBy)(prev, function (a) {
104
- return JSON.stringify({
105
- event: a.event,
106
- viewNumber: a.viewNumber,
107
- pageId: a.pageId,
108
- });
109
- });
110
- });
111
- isUniq.current = true;
112
- }
113
- // eslint-disable-next-line react-hooks/exhaustive-deps
114
- }, [events]);
115
87
  var handleResData = function (res) {
88
+ var _a;
116
89
  onChange(['viewDatas'], (0, Utils_1.getTemplateDatas)(res.templateParameters, viewInfoData, pageId, viewNumber));
117
- setEvent(function (prev) { var _a; return __spreadArray(__spreadArray([], (_a = res === null || res === void 0 ? void 0 : res.templateEvents) === null || _a === void 0 ? void 0 : _a.map(function (item) { return ({ id: item.id, event: item.event, viewNumber: viewNumber + 1, pageId: pageId, protected: true }); }), true), prev, true); });
118
- isUniq.current = false;
90
+ onChange(['events'], __spreadArray(__spreadArray([], (_a = res === null || res === void 0 ? void 0 : res.templateEvents) === null || _a === void 0 ? void 0 : _a.map(function (item) { return ({ id: item.id, event: item.event, pageId: pageId, protected: true }); }), true), viewInfoData.events, true));
119
91
  onChange(['templateValidation'], res.template.validation);
120
92
  onChange(['templateHandleEvent'], res.template.autoField);
121
93
  setScriptValidationTemplate(res.template.validation || '');
@@ -172,17 +144,14 @@ var ViewContent = function (_a) {
172
144
  ? 'lgn'
173
145
  : 'wlc', "/").concat((_d = (_c = viewInfoData.viewDatas) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.pageId), enablePreview: pageCode === enums_1.PageCode.Lgn, advanceFields: (_f = (_e = viewInfoData.viewDatas) === null || _e === void 0 ? void 0 : _e.filter(function (item) { return item === null || item === void 0 ? void 0 : item.isAdvanced; })) === null || _f === void 0 ? void 0 : _f.map(function (field) { return field.fieldName; }), scriptValidate: scriptValidationTemplate, scriptAutoField: scriptAutoField, domainId: domainId, configs: CONFIGS,
174
146
  // validStatus={validStatus}
175
- validStatus: viewInfoData.validStatus, viewEvents: events === null || events === void 0 ? void 0 : events.filter(function (item) { return item.viewNumber === viewNumber + 1; }), onChange: handleOnChange, onChangeViewValid: function (status) {
147
+ validStatus: viewInfoData.validStatus, viewEvents: viewInfoData.events, onChange: handleOnChange, onChangeViewValid: function (status) {
176
148
  onChange(['isValidationFields'], [status]);
177
149
  }, onChangeValidateProcess: function (processValue) {
178
150
  onChange(['validProcessStatus'], processValue);
179
151
  }, onNotifyError: function (errorMessage) {
180
152
  appHelper.snackbar('error', errorMessage);
181
153
  }, onUploadFile: onUploadFile, onChangeEvent: function (values) {
182
- setEvent(function (prev) {
183
- return prev.filter(function (item) { return item.viewNumber !== viewNumber + 1; }).concat(values.map(function (value) { return (__assign(__assign({}, value), { viewNumber: viewNumber + 1, pageId: pageId })); }));
184
- });
185
- isUniq.current = false;
154
+ onChange(['events'], values);
186
155
  } }) }) })) })) }));
187
156
  };
188
157
  exports.default = ViewContent;
@@ -36,7 +36,6 @@ var ViewInfo = function (_a) {
36
36
  var t = (0, react_i18next_1.useTranslation)().t;
37
37
  var directories = (0, recoil_1.useRecoilValue)(Recoil_1.templateDirectoriesState);
38
38
  var _c = (0, recoil_1.useRecoilState)(Recoil_1.wiewMounted), isMounted = _c[0], setIsMounted = _c[1];
39
- var setEvent = (0, recoil_1.useSetRecoilState)(Recoil_1.pageEventState);
40
39
  var setDeprecated = (0, recoil_1.useSetRecoilState)(Recoil_1.hasDeprecated);
41
40
  var _d = react_1.default.useState([]), templates = _d[0], setTemplates = _d[1];
42
41
  var _e = react_1.default.useState(false), loadingTemplate = _e[0], setLoadingTemplate = _e[1];
@@ -44,6 +43,7 @@ var ViewInfo = function (_a) {
44
43
  var overWriteOnChange = function (keys, value) {
45
44
  if (keys.includes('templateId')) {
46
45
  setDeprecated(false);
46
+ onChange(['viewDatas'], []);
47
47
  }
48
48
  onChange(keys, value);
49
49
  };
@@ -57,7 +57,6 @@ var ViewInfo = function (_a) {
57
57
  }
58
58
  overWriteOnChange(['templateId'], '');
59
59
  }
60
- setEvent(function (res) { return res.filter(function (x) { return x.viewNumber !== viewNumber; }); });
61
60
  overWriteOnChange([keyUpdate], obj[keyUpdate]);
62
61
  },
63
62
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -92,11 +92,12 @@ var TabView = function (_a) {
92
92
  };
93
93
  var addPageView = function () {
94
94
  setView((0, immer_1.produce)(function (draft) {
95
+ var _a;
95
96
  var viewsValid = !views
96
97
  .map(function (viewStatus) { return viewStatus.validStatus; })
97
98
  .includes(false);
98
99
  if (viewsValid) {
99
- draft.views.push(__assign(__assign({}, Constant_1.defaultView), { isChanged: true }));
100
+ draft.views.push(__assign(__assign({}, Constant_1.defaultView), { viewId: crypto.randomUUID(), isChanged: true, viewNumber: (((_a = (0, lodash_1.maxBy)(draft.views, 'viewNumber')) === null || _a === void 0 ? void 0 : _a.viewNumber) || 0) + 1 }));
100
101
  setActiveViewIndex(draft.views.length - 1);
101
102
  }
102
103
  else {
@@ -114,7 +115,7 @@ var TabView = function (_a) {
114
115
  return;
115
116
  draft.views = draft.views
116
117
  .filter(function (value, index) { return (index !== tabID ? value : ''); })
117
- .map(function (x) { return (__assign(__assign({}, x), { isChanged: true })); });
118
+ .map(function (x, idx) { return (__assign(__assign({}, x), { viewNumber: idx + 1, isChanged: true })); });
118
119
  setActiveViewIndex(draft.views.length - 1);
119
120
  }));
120
121
  };
@@ -202,6 +202,7 @@ var objectFieldValid = function (fieldDatas, indexOfField, fieldValue, isSubFiel
202
202
  };
203
203
  function updateStateByPageModel(pageModel) {
204
204
  var page = pageModel.page, commonHtml = pageModel.commonHtml, views = pageModel.views, viewEvents = pageModel.viewEvents;
205
+ var randomUUID = crypto.randomUUID();
205
206
  this.setPageRoot((0, immer_1.produce)(function (draft) {
206
207
  draft.views = views.map(function (view) { return ({
207
208
  templateId: view.templateId,
@@ -216,10 +217,12 @@ function updateStateByPageModel(pageModel) {
216
217
  fieldsRequireStatus: false,
217
218
  isChanged: false,
218
219
  verifiedStatus: enums_1.VERIFIED_STATUS.NOT_VERIFIED,
220
+ events: view.events || viewEvents.filter(function (event) { return event.viewNumber === view.viewDatas[0].viewNumber; }),
221
+ viewId: randomUUID,
222
+ viewNumber: view.viewNumber || view.viewDatas[0].viewNumber,
219
223
  }); }).sort(function (view1, view2) { return view1.viewDatas.at(-1).viewNumber - view2.viewDatas.at(-1).viewNumber; });
220
224
  draft.page = page;
221
225
  draft.commonHtml = commonHtml;
222
- draft.viewEvents = viewEvents;
223
226
  }));
224
227
  }
225
228
  exports.updateStateByPageModel = updateStateByPageModel;
@@ -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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -156,7 +167,7 @@ var CreateOrEdit = function (_a) {
156
167
  appHelper.snackbar('error', t('Page.DeprecatedTemplate'));
157
168
  return;
158
169
  }
159
- var params = [pageRoot];
170
+ var params = [__assign(__assign({}, pageRoot), { viewEvents: pageRoot.views.map(function (x) { return x.events.map(function (e) { return (__assign(__assign({}, e), { viewNumber: x.viewNumber, pageId: pageRoot.page.pageId })); }); }).flat() })];
160
171
  if (type === enums_1.PathType.EDIT)
161
172
  params.unshift(pageId);
162
173
  return service[type === enums_1.PathType.EDIT ? 'pagesPut' : 'pagesPost'].apply(service, params);
@@ -32,6 +32,7 @@ export interface IPage {
32
32
  createdDate: Timestamp;
33
33
  }
34
34
  export interface ViewModel {
35
+ viewId: string;
35
36
  templateId: string;
36
37
  templateTypeId: number;
37
38
  directoryId: string;
@@ -44,6 +45,8 @@ export interface ViewModel {
44
45
  isValidationFields: any[];
45
46
  validProcessStatus: VALID_PROCESS_CODE;
46
47
  viewDatas: TemplateData[];
48
+ events: PageViewEvent[];
49
+ viewNumber?: number;
47
50
  }
48
51
  export interface PageViewEvent {
49
52
  id?: number;
@@ -27,22 +27,32 @@ var Events = function (_a) {
27
27
  var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }).t;
28
28
  var _b = react_1.default.useState(''), tempValue = _b[0], setTempValue = _b[1];
29
29
  var _c = react_1.default.useState(''), error = _c[0], setError = _c[1];
30
+ var handleValue = function () {
31
+ if (tempValue.trim() === '') {
32
+ return;
33
+ }
34
+ var _a = (0, validation_1.textValidation)(tempValue, 50, false, /^[a-zA-Z0-9đĐ_.()\u0080-\uFFFF]+$/g), valid = _a.valid, message = _a.message;
35
+ var isStartWithNumber = tempValue.match(/^\d/);
36
+ if (viewEvents.map(function (item) { return item.event; }).includes((0, Helpers_1.changeToAlias)(tempValue)) || !valid || isStartWithNumber) {
37
+ setError(!valid ? message : isStartWithNumber ? t('Common.InvalidData') : t('Common.Existed').replace('{0}', tempValue));
38
+ return;
39
+ }
40
+ onChangeEvent((0, lodash_1.uniqBy)(viewEvents.concat({ event: tempValue, id: 0 }), function (item) { return (0, Helpers_1.changeToAlias)(item.event); }));
41
+ setTempValue('');
42
+ };
30
43
  return ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
31
44
  marginBottom: 2,
32
45
  width: '100%',
33
46
  }, children: (0, jsx_runtime_1.jsx)(material_1.TextField, __assign({ error: !!error, helperText: error, fullWidth: true, variant: "standard", placeholder: "".concat(t('Common.Events'), "...") }, (!disabledLabel && { label: t('Common.Events') }), { inputProps: {
34
47
  autoComplete: 'off',
35
48
  }, value: tempValue, onKeyDown: function (e) {
36
- if (e.key === 'Enter') {
37
- var _a = (0, validation_1.textValidation)(tempValue, 50, false, /^[a-zA-Z0-9đĐ_.()\u0080-\uFFFF]+$/g), valid = _a.valid, message = _a.message;
38
- var isStartWithNumber = tempValue.match(/^\d/);
39
- if (viewEvents.map(function (item) { return item.event; }).includes((0, Helpers_1.changeToAlias)(tempValue)) || !valid || isStartWithNumber) {
40
- setError(!valid ? message : isStartWithNumber ? t('Common.InvalidData') : t('Common.Existed').replace('{0}', tempValue));
41
- return;
42
- }
43
- onChangeEvent((0, lodash_1.uniqBy)(viewEvents.concat({ event: tempValue, id: 0 }), function (item) { return (0, Helpers_1.changeToAlias)(item.event); }));
44
- setTempValue('');
49
+ if (e.key === 'Enter' || e.key === 'Tab' || e.key === ',') {
50
+ e.preventDefault();
51
+ handleValue();
45
52
  }
53
+ }, onBlur: function (e) {
54
+ e.preventDefault();
55
+ handleValue();
46
56
  }, onChange: function (event) {
47
57
  setTempValue(event.target.value);
48
58
  setError('');
@@ -62,8 +72,10 @@ var Events = function (_a) {
62
72
  marginRight: 1,
63
73
  marginBottom: 0.5,
64
74
  }, label: option.event, title: option.event, disabled: option === null || option === void 0 ? void 0 : option.protected, onDelete: function () {
65
- onChangeEvent(viewEvents.filter(function (item) { return item.event !== option.event; }));
66
- } }, option.event)); }),
75
+ var res = viewEvents.filter(function (item) { return item.event !== option.event; });
76
+ console.log("res", res);
77
+ onChangeEvent(res);
78
+ } }, JSON.stringify(option))); }),
67
79
  } })) }));
68
80
  };
69
81
  exports.default = Events;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awing-library",
3
- "version": "2.1.130",
3
+ "version": "2.1.131",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",