awing-library 2.1.96-beta → 2.1.98-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.
Files changed (70) hide show
  1. package/lib/ACM-AXN/Page/CreateOrEdit/Components/useListPageView.js +9 -4
  2. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +2 -1
  3. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +14 -1
  4. package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/FileUtils.d.ts +3 -1
  5. package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/FileUtils.js +1 -6
  6. package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/index.d.ts +7 -0
  7. package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/index.js +13 -15
  8. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +23 -2
  9. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +3 -2
  10. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.test.js +2 -1
  11. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.d.ts +4 -3
  12. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +4 -2
  13. package/lib/ACM-AXN/Page/Types.d.ts +10 -37
  14. package/lib/ACM-AXN/Page/enums.d.ts +6 -0
  15. package/lib/ACM-AXN/Page/enums.js +8 -1
  16. package/lib/ACM-AXN/PlaceFilter/DataTable/container.js +1 -2
  17. package/lib/ACM-AXN/PlaceFilter/Input/container.js +12 -2
  18. package/lib/ACM-AXN/PlaceFilter/common.d.ts +1 -0
  19. package/lib/ACM-AXN/PlaceFilter/common.js +27 -1
  20. package/lib/ACM-AXN/Template/Constants.d.ts +0 -0
  21. package/lib/ACM-AXN/Template/Constants.js +1 -0
  22. package/lib/ACM-AXN/Template/Container.d.ts +2 -0
  23. package/lib/ACM-AXN/Template/Container.js +74 -0
  24. package/lib/ACM-AXN/Template/Container.test.d.ts +1 -0
  25. package/lib/ACM-AXN/Template/Container.test.js +259 -0
  26. package/lib/ACM-AXN/Template/CreateOrEdit/CreateOrEdit.test.d.ts +1 -0
  27. package/lib/ACM-AXN/Template/CreateOrEdit/CreateOrEdit.test.js +370 -0
  28. package/lib/ACM-AXN/Template/CreateOrEdit/Infomation.d.ts +9 -0
  29. package/lib/ACM-AXN/Template/CreateOrEdit/Infomation.js +78 -0
  30. package/lib/ACM-AXN/Template/CreateOrEdit/Infomation.test.d.ts +1 -0
  31. package/lib/ACM-AXN/Template/CreateOrEdit/Infomation.test.js +150 -0
  32. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +6 -0
  33. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +79 -0
  34. package/lib/ACM-AXN/Template/CreateOrEdit/Script.d.ts +3 -0
  35. package/lib/ACM-AXN/Template/CreateOrEdit/Script.js +58 -0
  36. package/lib/ACM-AXN/Template/CreateOrEdit/Script.test.d.ts +1 -0
  37. package/lib/ACM-AXN/Template/CreateOrEdit/Script.test.js +162 -0
  38. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Events.d.ts +5 -0
  39. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Events.js +41 -0
  40. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +20 -0
  41. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +283 -0
  42. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -0
  43. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +220 -0
  44. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +25 -0
  45. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +138 -0
  46. package/lib/ACM-AXN/Template/CreateOrEdit/Template/index.d.ts +3 -0
  47. package/lib/ACM-AXN/Template/CreateOrEdit/Template/index.js +46 -0
  48. package/lib/ACM-AXN/Template/CreateOrEdit/index.d.ts +3 -0
  49. package/lib/ACM-AXN/Template/CreateOrEdit/index.js +215 -0
  50. package/lib/ACM-AXN/Template/Hooks.d.ts +5 -0
  51. package/lib/ACM-AXN/Template/Hooks.js +13 -0
  52. package/lib/ACM-AXN/Template/Import.d.ts +2 -0
  53. package/lib/ACM-AXN/Template/Import.js +123 -0
  54. package/lib/ACM-AXN/Template/Import.test.d.ts +1 -0
  55. package/lib/ACM-AXN/Template/Import.test.js +188 -0
  56. package/lib/ACM-AXN/Template/Types.d.ts +84 -0
  57. package/lib/ACM-AXN/Template/Types.js +2 -0
  58. package/lib/ACM-AXN/Template/UploadButton.d.ts +2 -0
  59. package/lib/ACM-AXN/Template/UploadButton.js +14 -0
  60. package/lib/ACM-AXN/Template/index.d.ts +5 -0
  61. package/lib/ACM-AXN/Template/index.js +44 -0
  62. package/lib/ACM-AXN/ViewTemplate/index.d.ts +2 -1
  63. package/lib/ACM-AXN/ViewTemplate/interface.d.ts +6 -1
  64. package/lib/AWING/HOC/Wrapper.d.ts +6 -0
  65. package/lib/AWING/HOC/Wrapper.js +10 -0
  66. package/lib/translate/en/translation.json +27 -1
  67. package/lib/translate/vi/translation.json +27 -1
  68. package/package.json +1 -1
  69. package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/index.test.d.ts +0 -1
  70. package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/index.test.js +0 -326
@@ -30,18 +30,23 @@ var react_1 = __importStar(require("react"));
30
30
  var TabInfo_1 = __importDefault(require("../TabInfo"));
31
31
  var Tabview_1 = __importDefault(require("../Tabview"));
32
32
  var TabFile_1 = __importDefault(require("../TabFile"));
33
+ var Recoil_1 = require("../Recoil");
33
34
  var AWING_1 = require("../../../../AWING");
34
35
  var react_i18next_1 = require("react-i18next");
35
36
  var react_router_dom_1 = require("react-router-dom");
36
37
  var recoil_1 = require("recoil");
37
- var Recoil_1 = require("../Recoil");
38
+ var Recoil_2 = require("../Recoil");
38
39
  var Constant_1 = require("../../../Page/Constant");
40
+ var Context_1 = __importDefault(require("../../../../ACM-AXN/Page/Context"));
39
41
  var useListPageView = function () {
40
42
  var _a;
41
43
  var t = (0, react_i18next_1.useTranslation)().t;
42
44
  var params = (0, react_router_dom_1.useParams)();
43
45
  var setDrawerState = (0, AWING_1.useDrawer)().setDrawerState;
44
- var formValid = (0, recoil_1.useRecoilValue)(Recoil_1.validForm);
46
+ var formValid = (0, recoil_1.useRecoilValue)(Recoil_2.validForm);
47
+ var _b = (0, Context_1.default)(), configs = _b.configs, service = _b.service, pageCode = _b.pageCode;
48
+ var pageId = (0, recoil_1.useRecoilValue)((0, Recoil_1.pageState)('page')).page.pageId;
49
+ var rootDirectory = (0, recoil_1.useRecoilValue)(Recoil_1.pageRootDeirectory);
45
50
  var isCreate = !Boolean((_a = params['*']) === null || _a === void 0 ? void 0 : _a.includes(Constant_1.pageConstants.EDIT_PAGE));
46
51
  react_1.default.useEffect(function () {
47
52
  setDrawerState(AWING_1.DrawerStateEnum[!Object.values(formValid).includes(false) ? 'VALID' : 'INVALID']);
@@ -61,11 +66,11 @@ var useListPageView = function () {
61
66
  {
62
67
  label: 'File',
63
68
  valid: 'tabFileValid',
64
- compoent: (0, react_1.createElement)(TabFile_1.default, { isCreate: isCreate }),
69
+ compoent: (0, react_1.createElement)(TabFile_1.default, { isCreate: isCreate, pageCode: pageCode, service: service, rootDirectory: rootDirectory, pageId: pageId, pathName: configs.FILE_RELATIVE_PATH }),
65
70
  },
66
71
  ]; },
67
72
  // eslint-disable-next-line react-hooks/exhaustive-deps
68
- [t]);
73
+ [isCreate, pageCode, pageId, rootDirectory, service, t]);
69
74
  return { tabs: tabs, formValid: formValid };
70
75
  };
71
76
  exports.default = useListPageView;
@@ -1,9 +1,10 @@
1
1
  import { Directory } from '../../Campaign/Types';
2
- import { FormValid, PageModel } from '../Types';
2
+ import { FormValid, PageModel, PageViewEvent } from '../Types';
3
3
  export declare const pageDirectoriesState: import("recoil").RecoilState<Directory[]>;
4
4
  export declare const wiewMounted: import("recoil").RecoilState<boolean>;
5
5
  export declare const pageRootDeirectory: import("recoil").RecoilState<string>;
6
6
  export declare const pageChangedFormState: import("recoil").RecoilState<Record<keyof PageModel, boolean>>;
7
7
  export declare const pageRootState: import("recoil").RecoilState<PageModel>;
8
+ export declare const pageEventState: import("recoil").RecoilState<PageViewEvent[]>;
8
9
  export declare const validForm: import("recoil").RecoilState<FormValid>;
9
10
  export declare const pageState: (param: keyof PageModel) => import("recoil").RecoilState<PageModel>;
@@ -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.pageState = exports.validForm = exports.pageRootState = exports.pageChangedFormState = exports.pageRootDeirectory = exports.wiewMounted = exports.pageDirectoriesState = void 0;
14
+ exports.pageState = exports.validForm = exports.pageEventState = 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");
@@ -48,6 +48,7 @@ exports.pageChangedFormState = (0, recoil_1.atom)({
48
48
  page: false,
49
49
  commonHtml: false,
50
50
  views: pageData.views.some(function (view) { return view.isChanged; }),
51
+ viewEvents: false,
51
52
  };
52
53
  },
53
54
  }),
@@ -71,6 +72,18 @@ exports.pageRootState = (0, recoil_1.atom)({
71
72
  },
72
73
  commonHtml: '',
73
74
  views: [Constant_1.defaultView],
75
+ viewEvents: [],
76
+ },
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 })); });
74
87
  },
75
88
  });
76
89
  exports.validForm = (0, recoil_1.atom)({
@@ -1,4 +1,6 @@
1
- export declare const useFileUtils: (parentDirectoryId: string, objectId: string, isCreate: boolean) => {
1
+ import { ITemplateFileService } from '../../../../ACM-AXN/Template';
2
+ import { PageCode } from '../../../../ACM-AXN/Page/enums';
3
+ export declare const useFileUtils: (parentDirectoryId: string, objectId: string, isCreate: boolean, service: ITemplateFileService, pageCode: PageCode) => {
2
4
  createFolder: (pathData: string, directoryName: string) => Promise<void>;
3
5
  delete: (pathData: string) => Promise<void>;
4
6
  upload: (pathData: string, files: File[]) => Promise<void>;
@@ -1,14 +1,9 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.useFileUtils = void 0;
7
- var Context_1 = __importDefault(require("../../Context"));
8
4
  var Helpers_1 = require("../../../../Utils/Helpers");
9
5
  var react_1 = require("react");
10
- var useFileUtils = function (parentDirectoryId, objectId, isCreate) {
11
- var _a = (0, Context_1.default)(), service = _a.service, pageCode = _a.pageCode;
6
+ var useFileUtils = function (parentDirectoryId, objectId, isCreate, service, pageCode) {
12
7
  var clientMethod = (0, react_1.useMemo)(function () {
13
8
  return {
14
9
  createFolder: function (pathData, directoryName) {
@@ -1,6 +1,13 @@
1
1
  import { FC } from 'react';
2
+ import { ITemplateFileService } from '../../../../ACM-AXN/Template';
3
+ import { PageCode } from '../../../../ACM-AXN/Page/enums';
2
4
  interface FileTabProps {
3
5
  isCreate?: boolean;
6
+ pathName?: string;
7
+ service: ITemplateFileService;
8
+ rootDirectory: string;
9
+ pageId: string;
10
+ pageCode: PageCode;
4
11
  }
5
12
  declare const FileTab: FC<FileTabProps>;
6
13
  export default FileTab;
@@ -20,25 +20,23 @@ var DeprecatedEnhancedDialog_1 = __importDefault(require("../../../../Commons/Co
20
20
  var react_1 = require("react");
21
21
  var react_i18next_1 = require("react-i18next");
22
22
  var FileUtils_1 = require("./FileUtils");
23
- var Context_1 = __importDefault(require("../../Context"));
24
- var Recoil_1 = require("../Recoil");
25
- var recoil_1 = require("recoil");
26
23
  var FolderTreeView_1 = __importDefault(require("../../../../Commons/Components/FolderTreeView"));
27
24
  var AWING_1 = require("../../../../AWING");
28
- var Context_2 = require("../../../../Context");
25
+ var Context_1 = require("../../../../Context");
29
26
  var FileTab = function (_a) {
30
- var isCreate = _a.isCreate;
27
+ var isCreate = _a.isCreate, pathName = _a.pathName, service = _a.service, rootDirectory = _a.rootDirectory, pageId = _a.pageId, pageCode = _a.pageCode;
31
28
  var t = (0, react_i18next_1.useTranslation)().t;
32
- var _b = (0, Context_1.default)(), service = _b.service, configs = _b.configs, pageCode = _b.pageCode;
33
- var _c = (0, Context_2.useAwing)().appHelper, confirm = _c.confirm, snackbar = _c.snackbar;
34
- var pageId = (0, recoil_1.useRecoilValue)((0, Recoil_1.pageState)('page')).page.pageId;
35
- var rootDirectory = (0, recoil_1.useRecoilValue)(Recoil_1.pageRootDeirectory);
36
- var fileMethod = (0, FileUtils_1.useFileUtils)(rootDirectory, pageId, Boolean(isCreate));
29
+ var _b = (0, Context_1.useAwing)().appHelper, confirm = _b.confirm, snackbar = _b.snackbar;
30
+ // const {
31
+ // page: { pageId },
32
+ // } = useRecoilValue(pageState('page'))
33
+ // const rootDirectory = useRecoilValue(pageRootDeirectory)
34
+ var fileMethod = (0, FileUtils_1.useFileUtils)(rootDirectory, pageId, Boolean(isCreate), service, pageCode);
37
35
  var fileRef = (0, react_1.useRef)();
38
- var _d = (0, react_1.useState)({ upload: '', create: '' }), pathData = _d[0], setPathData = _d[1];
39
- var _e = (0, react_1.useState)(false), openCreateFolder = _e[0], setOpenCreateFolder = _e[1];
40
- var _f = (0, react_1.useState)(true), triggerReload = _f[0], setTrigger = _f[1];
41
- var _g = (0, react_1.useState)(), treeFolder = _g[0], setTreeFolder = _g[1];
36
+ var _c = (0, react_1.useState)({ upload: '', create: '' }), pathData = _c[0], setPathData = _c[1];
37
+ var _d = (0, react_1.useState)(false), openCreateFolder = _d[0], setOpenCreateFolder = _d[1];
38
+ var _e = (0, react_1.useState)(true), triggerReload = _e[0], setTrigger = _e[1];
39
+ var _f = (0, react_1.useState)(), treeFolder = _f[0], setTreeFolder = _f[1];
42
40
  (0, react_1.useEffect)(function () {
43
41
  getTreeFolder();
44
42
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -107,6 +105,6 @@ var FileTab = function (_a) {
107
105
  pointerEvents: 'unset',
108
106
  padding: '10px 0',
109
107
  borderRadius: '4px',
110
- }, children: !treeFolder ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(FolderTreeView_1.default, { rootItem: treeFolder, onUploadFiles: handleUploadFile, onCreateDirectory: handleCreateDirectory, onDownload: handleDownloadFile, onDelete: handleDelete, onDownloadFolder: handleDownLoadFolder })) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 12, container: true, item: true, justifyContent: "flex-end", children: (0, jsx_runtime_1.jsx)(material_1.Typography, { sx: { padding: '8px' }, children: "".concat(t('Common.StaticUseFormat'), ": <img src=\"").concat(configs.FILE_RELATIVE_PATH, "/a.jpg\" />") }) })] }) }) })] }));
108
+ }, children: !treeFolder ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(FolderTreeView_1.default, { rootItem: treeFolder, onUploadFiles: handleUploadFile, onCreateDirectory: handleCreateDirectory, onDownload: handleDownloadFile, onDelete: handleDelete, onDownloadFolder: handleDownLoadFolder })) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 12, container: true, item: true, justifyContent: "flex-end", children: (0, jsx_runtime_1.jsx)(material_1.Typography, { sx: { padding: '8px' }, children: "".concat(t('Common.StaticUseFormat'), ": <img src=\"").concat(pathName, "/a.jpg\" />") }) })] }) }) })] }));
111
109
  };
112
110
  exports.default = FileTab;
@@ -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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
14
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
15
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -61,6 +72,7 @@ var ViewContent = function (_a) {
61
72
  var _g = react_1.default.useState(''), scriptAutoField = _g[0], setScriptAutoField = _g[1];
62
73
  var _h = react_1.default.useState(false), loading = _h[0], setLoading = _h[1];
63
74
  var rootDirectory = (0, recoil_1.useRecoilValue)(Recoil_1.pageRootDeirectory);
75
+ var _j = (0, recoil_1.useRecoilState)(Recoil_1.pageEventState), events = _j[0], setEvent = _j[1];
64
76
  react_1.default.useEffect(function () {
65
77
  if (viewInfoData === null || viewInfoData === void 0 ? void 0 : viewInfoData.templateId) {
66
78
  setLoading(true);
@@ -77,7 +89,13 @@ var ViewContent = function (_a) {
77
89
  // eslint-disable-next-line react-hooks/exhaustive-deps
78
90
  }, [viewInfoData.templateId, viewInfoData.viewDatas.length]);
79
91
  var handleResData = function (res) {
92
+ console.log("res", res.templateEvents);
80
93
  onChange(['viewDatas'], (0, Utils_1.getTemplateDatas)(res.templateParameters, viewInfoData, pageId, viewNumber));
94
+ setEvent(function (prev) {
95
+ var viewEvents = prev.filter(function (item) { return item.viewNumber !== viewNumber; });
96
+ viewEvents.concat(res.templateEvents.map(function (item) { return (__assign(__assign({}, item), { viewNumber: viewNumber })); }));
97
+ return viewEvents;
98
+ });
81
99
  onChange(['templateValidation'], res.template.validation);
82
100
  onChange(['templateHandleEvent'], res.template.autoField);
83
101
  setScriptValidationTemplate(res.template.validation || '');
@@ -96,6 +114,7 @@ var ViewContent = function (_a) {
96
114
  onChange(['viewDatas', String(indexOfFieldChange), 'fieldValue'], fieldChange.fieldValue);
97
115
  setChanged();
98
116
  };
117
+ console.log("events", events);
99
118
  var onUploadFile = function (files) { return __awaiter(void 0, void 0, void 0, function () {
100
119
  var fieldName, params;
101
120
  return __generator(this, function (_a) {
@@ -135,9 +154,11 @@ var ViewContent = function (_a) {
135
154
  ? CONFIGS.FILE_TEMP_PATH
136
155
  : CONFIGS.FILE_STATIC_PATH, "/").concat(pageCode === enums_1.PageCode.Lgn
137
156
  ? 'lgn'
138
- : '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: [], scriptValidate: scriptValidationTemplate, scriptAutoField: scriptAutoField, domainId: domainId, configs: CONFIGS,
157
+ : '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: viewInfoData.viewDatas.filter(function (item) { return item === null || item === void 0 ? void 0 : item.isAdvanced; }).map(function (field) { return field.fieldName; }), scriptValidate: scriptValidationTemplate, scriptAutoField: scriptAutoField, domainId: domainId, configs: CONFIGS,
139
158
  // validStatus={validStatus}
140
- validStatus: viewInfoData.validStatus, onChange: handleOnChange, onChangeViewValid: function (status) {
159
+ validStatus: viewInfoData.validStatus,
160
+ // viewEvent={}
161
+ onChange: handleOnChange, onChangeViewValid: function (status) {
141
162
  onChange(['isValidationFields'], [status]);
142
163
  }, onChangeValidateProcess: function (processValue) {
143
164
  onChange(['validProcessStatus'], processValue);
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
2
  import { Directory } from '../../../Campaign/Types';
3
- import { ViewModel, TemplateType } from '../../Types';
3
+ import { ViewModel } from '../../Types';
4
+ import { ITemplateType } from '../../../../ACM-AXN/Template/Types';
4
5
  interface ViewInfoProps {
5
- templateTypes: TemplateType[];
6
+ templateTypes: ITemplateType[];
6
7
  directories: Directory[];
7
8
  onChange: (keys: string[], value: unknown) => void;
8
9
  viewInfoData: ViewModel;
@@ -174,7 +174,8 @@ var renderUi = function () {
174
174
  },
175
175
  },
176
176
  commonHtml: '',
177
- views: [Constant_1.defaultView, Constant_1.defaultView]
177
+ views: [Constant_1.defaultView, Constant_1.defaultView],
178
+ viewEvents: [],
178
179
  });
179
180
  }, children: (0, jsx_runtime_1.jsx)(_1.default, {}) }));
180
181
  };
@@ -1,5 +1,6 @@
1
1
  import { DataObject } from '../../../AWING';
2
- import { PageModel, TemplateData, TemplateParameter, ViewModel } from '../Types';
2
+ import { PageModel, TemplateData, ViewModel } from '../Types';
3
+ import { ITemplateParameter } from '../../../ACM-AXN/Template/Types';
3
4
  export declare const isObjectType: (value: unknown) => value is object;
4
5
  export declare const isObject: <T extends object>(value: unknown) => value is T;
5
6
  export declare const composeKey: <F extends (...p: any[]) => any, G extends (...p: any[]) => any>(f: F, g: G) => F;
@@ -13,10 +14,10 @@ export declare function updateStateByPageModel(this: {
13
14
  /**
14
15
  * Retrieves the template data based on the provided template parameters, view information data, page ID, and view number.
15
16
  *
16
- * @param {TemplateParameter[]} templateParameters - The array of template parameters.
17
+ * @param {ITemplateParameter[]} templateParameters - The array of template parameters.
17
18
  * @param {ViewModel} viewInfoData - The view information data.
18
19
  * @param {string} pageId - The page ID.
19
20
  * @param {number} viewNumber - The view number.
20
21
  * @returns {TemplateData[]} - The array of template data.
21
22
  */
22
- export declare const getTemplateDatas: (templateParameters: TemplateParameter[], viewInfoData: ViewModel, pageId: string, viewNumber: number) => TemplateData[];
23
+ export declare const getTemplateDatas: (templateParameters: ITemplateParameter[], viewInfoData: ViewModel, pageId: string, viewNumber: number) => TemplateData[];
@@ -203,7 +203,7 @@ var objectFieldValid = function (fieldDatas, indexOfField, fieldValue, isSubFiel
203
203
  return !!((_a = fieldDatas[indexOfField]) === null || _a === void 0 ? void 0 : _a.isRequired);
204
204
  };
205
205
  function updateStateByPageModel(pageModel) {
206
- var page = pageModel.page, commonHtml = pageModel.commonHtml, views = pageModel.views;
206
+ var page = pageModel.page, commonHtml = pageModel.commonHtml, views = pageModel.views, viewEvents = pageModel.viewEvents;
207
207
  this.setPageRoot((0, immer_1.default)(function (draft) {
208
208
  draft.views = views.map(function (view) { return ({
209
209
  templateId: view.templateId,
@@ -221,13 +221,14 @@ function updateStateByPageModel(pageModel) {
221
221
  }); });
222
222
  draft.page = page;
223
223
  draft.commonHtml = commonHtml;
224
+ draft.viewEvents = viewEvents;
224
225
  }));
225
226
  }
226
227
  exports.updateStateByPageModel = updateStateByPageModel;
227
228
  /**
228
229
  * Retrieves the template data based on the provided template parameters, view information data, page ID, and view number.
229
230
  *
230
- * @param {TemplateParameter[]} templateParameters - The array of template parameters.
231
+ * @param {ITemplateParameter[]} templateParameters - The array of template parameters.
231
232
  * @param {ViewModel} viewInfoData - The view information data.
232
233
  * @param {string} pageId - The page ID.
233
234
  * @param {number} viewNumber - The view number.
@@ -251,6 +252,7 @@ var getTemplateDatas = function (templateParameters, viewInfoData, pageId, viewN
251
252
  defaultValue: parameter.defaultValue,
252
253
  fieldValue: fieldValue,
253
254
  isRequired: parameter.isRequired,
255
+ isAdvanced: parameter.isAdvanced,
254
256
  };
255
257
  });
256
258
  return result;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { ITemplateFileService } from '../../ACM-AXN/Template/Types';
2
3
  import { DirectoryRoot } from '../../ACM-AXN/Campaign/Enum';
3
4
  import { Directory, Timestamp } from '../../ACM-AXN/Campaign/Types';
4
5
  import { PageCode, VALID_PROCESS_CODE, VERIFIED_STATUS } from './enums';
@@ -16,6 +17,7 @@ export interface TemplateData {
16
17
  fieldName?: string;
17
18
  fieldValue?: string;
18
19
  isRequired?: boolean;
20
+ isAdvanced?: boolean;
19
21
  }
20
22
  export interface IPage {
21
23
  pageId: string;
@@ -42,10 +44,17 @@ export interface ViewModel {
42
44
  validProcessStatus: VALID_PROCESS_CODE;
43
45
  viewDatas: TemplateData[];
44
46
  }
47
+ export interface PageViewEvent {
48
+ id?: number;
49
+ pageId?: string;
50
+ viewNumber?: number;
51
+ event?: string | undefined;
52
+ }
45
53
  export interface PageModel {
46
54
  page: IPage;
47
55
  commonHtml: string;
48
56
  views: ViewModel[];
57
+ viewEvents: PageViewEvent[];
49
58
  }
50
59
  export interface FileResponse {
51
60
  data: Blob;
@@ -68,11 +77,6 @@ export interface PagesPaging {
68
77
  hasPreviousPage: boolean;
69
78
  hasNextPage: boolean;
70
79
  }
71
- export interface TemplateType {
72
- id: number;
73
- name: string;
74
- templateTypeCode: string;
75
- }
76
80
  export interface Template {
77
81
  id: string;
78
82
  directoryId: string;
@@ -87,20 +91,6 @@ export interface Template {
87
91
  autoField: string;
88
92
  isDeprecated?: boolean;
89
93
  }
90
- export interface TemplateParameter {
91
- id: string;
92
- templateId: string;
93
- fieldName: string;
94
- fieldType: string;
95
- defaultValue: string;
96
- labelName: string;
97
- isRequired: boolean;
98
- childrens: TemplateParameter[];
99
- }
100
- export interface TemplateModel {
101
- template: Template;
102
- templateParameters: TemplateParameter[];
103
- }
104
94
  export interface PhysicalFolder {
105
95
  name: string;
106
96
  path: string;
@@ -117,30 +107,13 @@ export interface IDomain {
117
107
  rateSharing: number;
118
108
  description: string | undefined;
119
109
  }
120
- export interface PageService {
110
+ export interface PageService extends ITemplateFileService {
121
111
  directoriesGetByObjectTypeCode: (type: DirectoryRoot) => Promise<Directory[]>;
122
112
  pagesPaging: (searchString?: string, pageSize?: number, pageIndex?: number, directoryId?: string) => Promise<PagesPaging>;
123
113
  directoriesPost: (body: Directory) => Promise<void>;
124
114
  pagesDelete: (id: string) => Promise<void>;
125
115
  pagesExport: (id: string) => Promise<FileResponse>;
126
116
  pagesImport: (id: string, directoryId: string, name: string, file: FileParameter) => Promise<void>;
127
- templatesGetDirectories: () => Promise<Directory[]>;
128
- templateTypesGet: () => Promise<TemplateType[]>;
129
- templatesGetByDirectoryId: (directoryId: string) => Promise<Template[]>;
130
- templatesGet: (id: string) => Promise<TemplateModel>;
131
- pageFilesCreateCreateUpload: (parentDirectoryId: string, code: PageCode, objectId: string, path: string, files: FileParameter[]) => Promise<void>;
132
- pageFilesUpdateUpload: (code: PageCode, objectId: string, path: string, files: FileParameter[]) => Promise<void>;
133
- pagesGenerateId: () => Promise<string>;
134
- pageFilesUpdateGetTreeFolder: (code: PageCode, objectId: string) => Promise<PhysicalFolder>;
135
- pageFilesCreateGetTreeFolder: (parentDirectoryId: string, code: PageCode, objectId: string) => Promise<PhysicalFolder>;
136
- pageFilesCreateDownload: (parentDirectoryId: string, code: PageCode, objectId: string, pathFile: string) => Promise<FileResponse>;
137
- pageFilesUpdateDownload: (code: PageCode, objectId: string, pathFile: string) => Promise<FileResponse>;
138
- pageFilesUpdateDownloadFolder: (code: PageCode, objectId: string, path: string) => Promise<FileResponse>;
139
- pageFilesCreateDownloadFolder: (parentDirectoryId: string, code: PageCode, objectId: string, path: string) => Promise<FileResponse>;
140
- pageFilesCreateCreateFolder: (parentDirectoryId: string, code: PageCode, objectId: string, path: string, name: string) => Promise<void>;
141
- pageFilesUpdateCreateFolder: (code: PageCode, objectId: string, path: string, name: string) => Promise<void>;
142
- pageFilesCreateDelete: (parentDirectoryId: string, code: PageCode, objectId: string, path: string) => Promise<void>;
143
- pageFilesUpdateDelete: (code: PageCode, objectId: string, path: string) => Promise<void>;
144
117
  pagesPost: (body: PageModel) => Promise<void>;
145
118
  pagesPut: (id: string, body: PageModel) => Promise<void>;
146
119
  pagesGet: (id: string) => Promise<PageModel>;
@@ -2,6 +2,12 @@ export declare enum PageCode {
2
2
  Wlc = 0,
3
3
  Lgn = 1
4
4
  }
5
+ export declare enum FileTypeCode {
6
+ Wlc = 0,
7
+ Lgn = 1,
8
+ Domain = 2,
9
+ Template = 3
10
+ }
5
11
  export declare enum PathType {
6
12
  CREATE = "Create",
7
13
  EDIT = "Edit",
@@ -1,11 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VERIFIED_STATUS = exports.VALID_PROCESS_CODE = exports.TrackingType = exports.PathType = exports.PageCode = void 0;
3
+ exports.VERIFIED_STATUS = exports.VALID_PROCESS_CODE = exports.TrackingType = exports.PathType = exports.FileTypeCode = exports.PageCode = void 0;
4
4
  var PageCode;
5
5
  (function (PageCode) {
6
6
  PageCode[PageCode["Wlc"] = 0] = "Wlc";
7
7
  PageCode[PageCode["Lgn"] = 1] = "Lgn";
8
8
  })(PageCode || (exports.PageCode = PageCode = {}));
9
+ var FileTypeCode;
10
+ (function (FileTypeCode) {
11
+ FileTypeCode[FileTypeCode["Wlc"] = 0] = "Wlc";
12
+ FileTypeCode[FileTypeCode["Lgn"] = 1] = "Lgn";
13
+ FileTypeCode[FileTypeCode["Domain"] = 2] = "Domain";
14
+ FileTypeCode[FileTypeCode["Template"] = 3] = "Template";
15
+ })(FileTypeCode || (exports.FileTypeCode = FileTypeCode = {}));
9
16
  var PathType;
10
17
  (function (PathType) {
11
18
  PathType["CREATE"] = "Create";
@@ -74,7 +74,6 @@ var DataTable = function (props) {
74
74
  return;
75
75
  if (isError)
76
76
  setIsError(function () { return false; });
77
- console.log("query");
78
77
  if (isSelectedTagAll) {
79
78
  setIsLoading(function () { return true; });
80
79
  getTagAllPlaces()
@@ -105,7 +104,7 @@ var DataTable = function (props) {
105
104
  (0, react_1.useEffect)(function () {
106
105
  queryData();
107
106
  // eslint-disable-next-line react-hooks/exhaustive-deps
108
- }, [pageIndex, pageSize]);
107
+ }, [pageIndex, pageSize, isSelectedTagAll]);
109
108
  var getAllPlaces = function () {
110
109
  return getPlacesByFilter((tagSelected === null || tagSelected === void 0 ? void 0 : tagSelected.filterFields) || []);
111
110
  };
@@ -20,8 +20,9 @@ var recoil_1 = require("recoil");
20
20
  var component_1 = __importDefault(require("./component"));
21
21
  var common_1 = require("../common");
22
22
  var Enum_1 = require("../Enum");
23
+ var react_1 = require("react");
23
24
  var FieldInput = function () {
24
- var _a = (0, recoil_1.useRecoilState)(Atom_1.isSelectedTagAllState), setIsSelectedTagAll = _a[1];
25
+ var _a = (0, recoil_1.useRecoilState)(Atom_1.isSelectedTagAllState), isSelectedTagAll = _a[0], setIsSelectedTagAll = _a[1];
25
26
  var _b = (0, recoil_1.useRecoilState)(Atom_1.tagSelectedState), tagSelected = _b[0], setTagSelected = _b[1];
26
27
  var tagsAll = (0, recoil_1.useRecoilValue)(Atom_1.tagsAllState);
27
28
  var handleChange = function (newValue, index, isChangeOperator) {
@@ -55,6 +56,15 @@ var FieldInput = function () {
55
56
  setTagSelected(tagPrepare);
56
57
  }
57
58
  };
58
- return ((0, jsx_runtime_1.jsx)(component_1.default, { inputFilters: (tagSelected === null || tagSelected === void 0 ? void 0 : tagSelected.filterFields) || [], onChange: handleChange }));
59
+ // console.log("defaultTagValue", defaultTagValue)
60
+ var inputFilters = (0, react_1.useMemo)(function () {
61
+ if (isSelectedTagAll) {
62
+ return ((tagSelected === null || tagSelected === void 0 ? void 0 : tagSelected.filterFields) || []).map(function (input, index) {
63
+ return __assign(__assign({}, input), { value: common_1.defaultTagValue[input.type] });
64
+ });
65
+ }
66
+ return (tagSelected === null || tagSelected === void 0 ? void 0 : tagSelected.filterFields) || [];
67
+ }, [isSelectedTagAll, tagSelected]);
68
+ return ((0, jsx_runtime_1.jsx)(component_1.default, { inputFilters: inputFilters, onChange: handleChange }));
59
69
  };
60
70
  exports.default = FieldInput;
@@ -1 +1,2 @@
1
1
  export declare const compareTwoArrayObject: (arrObj1: any, arrObj2: any) => any;
2
+ export declare const defaultTagValue: Record<"text" | "select-area" | "select" | "multiple-hierarchical-choice" | "geo-fencing" | "auto-complete" | "multiple-select", any>;
@@ -1,6 +1,18 @@
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
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.compareTwoArrayObject = void 0;
14
+ exports.defaultTagValue = exports.compareTwoArrayObject = void 0;
15
+ var Enum_1 = require("./Enum");
4
16
  var isEqual = require("lodash/isEqual");
5
17
  var compareTwoArrayObject = function (arrObj1, arrObj2) {
6
18
  var result = (arrObj1 || []).filter(function (object1) {
@@ -23,3 +35,17 @@ var compareTwoArrayObject = function (arrObj1, arrObj2) {
23
35
  return result;
24
36
  };
25
37
  exports.compareTwoArrayObject = compareTwoArrayObject;
38
+ exports.defaultTagValue = Object.entries(Enum_1.EnumFieldInputType).reduce(function (obj, _a) {
39
+ var _b;
40
+ var key = _a[0], value = _a[1];
41
+ return __assign(__assign({}, obj), (_b = {}, _b[value] = (function () {
42
+ switch (value) {
43
+ case Enum_1.EnumFieldInputType.TEXT:
44
+ return "";
45
+ case Enum_1.EnumFieldInputType.GEO_FENCING:
46
+ return undefined;
47
+ default:
48
+ return [];
49
+ }
50
+ })(), _b));
51
+ }, {});
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,2 @@
1
+ declare const TemplateContainer: () => import("react/jsx-runtime").JSX.Element;
2
+ export default TemplateContainer;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var jsx_runtime_1 = require("react/jsx-runtime");
7
+ var GetApp_1 = __importDefault(require("@mui/icons-material/GetApp"));
8
+ var material_1 = require("@mui/material");
9
+ var Helpers_1 = require("../../Utils/Helpers");
10
+ var PageManagement_1 = require("../../AWING/PageManagement");
11
+ var react_1 = require("react");
12
+ var react_i18next_1 = require("react-i18next");
13
+ var Router_1 = require("../../AWING/Router");
14
+ var Constants_1 = require("../../ACM-AXN/GroupUser/Constants");
15
+ var Context_1 = require("../../Context");
16
+ var Hooks_1 = __importDefault(require("./Hooks"));
17
+ var TemplateContainer = function () {
18
+ var t = (0, react_i18next_1.useTranslation)().t;
19
+ var service = (0, Hooks_1.default)().service;
20
+ var _a = (0, Context_1.useAwing)().appHelper, confirm = _a.confirm, snackbar = _a.snackbar;
21
+ var navigate = (0, Router_1.useNavigate)();
22
+ var _b = (0, react_1.useState)(true), loading = _b[0], setLoading = _b[1];
23
+ var _c = (0, react_1.useState)(), templates = _c[0], setTemplates = _c[1];
24
+ var handleNavigate = function () {
25
+ navigate(Constants_1.CREATE_PATH);
26
+ };
27
+ var getUsers = (0, react_1.useCallback)(function (queryParams) {
28
+ setLoading(true);
29
+ service
30
+ .templatesPaging(queryParams.searchString, queryParams.pageSize, queryParams.pageIndex)
31
+ .then(setTemplates)
32
+ .finally(function () {
33
+ setLoading(false);
34
+ });
35
+ }, [service]);
36
+ var handleDownLoadFile = function (id) {
37
+ service.templatesExport(id).then(Helpers_1.downloadZipFile);
38
+ };
39
+ var handleDelete = function (id) {
40
+ return service.templatesDelete(id).then(function () { return snackbar('success'); });
41
+ };
42
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(PageManagement_1.PageManagement, { title: t('TemplateManagement.title'), onChangeQueryInput: getUsers, getRowId: function (obj) { return obj.id; }, columns: [
43
+ {
44
+ field: '#',
45
+ headerName: '#',
46
+ width: 85,
47
+ valueGetter: function (_unUse, idx, stt) { return stt; },
48
+ },
49
+ {
50
+ field: 'id',
51
+ headerName: 'ID',
52
+ },
53
+ {
54
+ field: 'description',
55
+ headerName: t('TemplateManagement.TemplateName'),
56
+ },
57
+ {
58
+ field: 'PageCode',
59
+ headerName: 'PageCode',
60
+ valueGetter: function (row) {
61
+ return t("TemplateManagement.Page_".concat(row.pageCode));
62
+ },
63
+ },
64
+ ], loading: loading, rows: (templates === null || templates === void 0 ? void 0 : templates.templates) || [], onCreateButtonClick: handleNavigate, customActions: (0, jsx_runtime_1.jsx)(material_1.Button, { component: Router_1.Link, to: Constants_1.IMPORT_PATH, variant: "outlined", size: "medium", sx: { marginLeft: '16px', fontWeight: 'bold' }, children: t('Common.Import') }), rowActions: [
65
+ {
66
+ icon: (0, jsx_runtime_1.jsx)(GetApp_1.default, {}),
67
+ tooltipTitle: t('Common.Export'),
68
+ action: handleDownLoadFile,
69
+ },
70
+ ], onRowClick: function (id) {
71
+ navigate([Constants_1.EDIT_PATH, id].join('/'));
72
+ }, totalOfRows: templates === null || templates === void 0 ? void 0 : templates.total, onDelete: handleDelete, confirmDelete: confirm }) }));
73
+ };
74
+ exports.default = TemplateContainer;
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom/extend-expect';