awing-library 2.1.95-beta → 2.1.97-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/CampaignSchedule/Components/RowAdvance/container.js +42 -41
- package/lib/ACM-AXN/Page/CreateOrEdit/Components/useListPageView.js +9 -4
- package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +2 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +14 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/FileUtils.d.ts +3 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/FileUtils.js +1 -6
- package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/index.d.ts +7 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/index.js +13 -15
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +23 -2
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +3 -2
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.test.js +2 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/Utils.d.ts +4 -3
- package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +4 -2
- package/lib/ACM-AXN/Page/Types.d.ts +10 -37
- package/lib/ACM-AXN/Page/enums.d.ts +6 -0
- package/lib/ACM-AXN/Page/enums.js +8 -1
- package/lib/ACM-AXN/Template/Constants.d.ts +0 -0
- package/lib/ACM-AXN/Template/Constants.js +1 -0
- package/lib/ACM-AXN/Template/Container.d.ts +2 -0
- package/lib/ACM-AXN/Template/Container.js +74 -0
- package/lib/ACM-AXN/Template/Container.test.d.ts +1 -0
- package/lib/ACM-AXN/Template/Container.test.js +259 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/CreateOrEdit.test.d.ts +1 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/CreateOrEdit.test.js +370 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Infomation.d.ts +9 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Infomation.js +78 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Infomation.test.d.ts +1 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Infomation.test.js +150 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +6 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +79 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Script.d.ts +3 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Script.js +58 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Script.test.d.ts +1 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Script.test.js +162 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Events.d.ts +5 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Events.js +41 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +20 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +283 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +220 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +25 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +138 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/index.d.ts +3 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/index.js +46 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/index.d.ts +3 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/index.js +215 -0
- package/lib/ACM-AXN/Template/Hooks.d.ts +5 -0
- package/lib/ACM-AXN/Template/Hooks.js +13 -0
- package/lib/ACM-AXN/Template/Import.d.ts +2 -0
- package/lib/ACM-AXN/Template/Import.js +123 -0
- package/lib/ACM-AXN/Template/Import.test.d.ts +1 -0
- package/lib/ACM-AXN/Template/Import.test.js +188 -0
- package/lib/ACM-AXN/Template/Types.d.ts +84 -0
- package/lib/ACM-AXN/Template/Types.js +2 -0
- package/lib/ACM-AXN/Template/UploadButton.d.ts +2 -0
- package/lib/ACM-AXN/Template/UploadButton.js +14 -0
- package/lib/ACM-AXN/Template/index.d.ts +5 -0
- package/lib/ACM-AXN/Template/index.js +44 -0
- package/lib/ACM-AXN/ViewTemplate/index.d.ts +2 -1
- package/lib/ACM-AXN/ViewTemplate/interface.d.ts +6 -1
- package/lib/AWING/HOC/Wrapper.d.ts +6 -0
- package/lib/AWING/HOC/Wrapper.js +10 -0
- package/lib/translate/en/translation.json +27 -1
- package/lib/translate/vi/translation.json +27 -1
- package/package.json +1 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/index.test.d.ts +0 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/TabFile/index.test.js +0 -326
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '@testing-library/jest-dom/extend-expect';
|
|
@@ -0,0 +1,220 @@
|
|
|
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
39
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
40
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
41
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
42
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
46
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
47
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
48
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
49
|
+
function step(op) {
|
|
50
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
51
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
52
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
53
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
54
|
+
switch (op[0]) {
|
|
55
|
+
case 0: case 1: t = op; break;
|
|
56
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
57
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
58
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
59
|
+
default:
|
|
60
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
61
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
62
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
63
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
64
|
+
if (t[2]) _.ops.pop();
|
|
65
|
+
_.trys.pop(); continue;
|
|
66
|
+
}
|
|
67
|
+
op = body.call(thisArg, _);
|
|
68
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
69
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
73
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
74
|
+
};
|
|
75
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
76
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
77
|
+
/* eslint-disable testing-library/no-node-access */
|
|
78
|
+
/* eslint-disable testing-library/no-container */
|
|
79
|
+
/* eslint-disable testing-library/no-wait-for-side-effects */
|
|
80
|
+
require("@testing-library/jest-dom/extend-expect");
|
|
81
|
+
var react_1 = require("@testing-library/react");
|
|
82
|
+
var Parameter_1 = __importDefault(require("./Parameter"));
|
|
83
|
+
var Utils = __importStar(require("./Utils"));
|
|
84
|
+
var recoil_1 = require("recoil");
|
|
85
|
+
var Recoils_1 = require("../Recoils");
|
|
86
|
+
// Mock i18next
|
|
87
|
+
jest.mock('react-i18next', function () { return (__assign(__assign({}, jest.requireActual('react-i18next')), { useTranslation: function () { return ({ t: jest.fn(function (key) { return key; }) }); } })); });
|
|
88
|
+
// Mock i18next
|
|
89
|
+
jest.mock('react-i18next', function () { return (__assign(__assign({}, jest.requireActual('react-i18next')), { useTranslation: function () { return ({ t: jest.fn(function (key) { return key; }) }); } })); });
|
|
90
|
+
// Mock useTransition
|
|
91
|
+
jest.mock('react', function () { return (__assign(__assign({}, jest.requireActual('react')), { useTransition: function () { return [
|
|
92
|
+
'a',
|
|
93
|
+
function (fn) {
|
|
94
|
+
fn();
|
|
95
|
+
},
|
|
96
|
+
]; } })); });
|
|
97
|
+
// Mock utils
|
|
98
|
+
var utils = {
|
|
99
|
+
enhancedUpdate: function () { },
|
|
100
|
+
};
|
|
101
|
+
jest.mock('./Utils', function () { return (__assign(__assign({}, jest.requireActual('./Utils')), { enhancedUpdate: jest.fn() })); });
|
|
102
|
+
// props
|
|
103
|
+
var rows = [
|
|
104
|
+
{
|
|
105
|
+
id: '14895',
|
|
106
|
+
templateId: '4671435926616395650',
|
|
107
|
+
fieldName: 'video_inbanner_1',
|
|
108
|
+
fieldType: 'video',
|
|
109
|
+
defaultValue: null,
|
|
110
|
+
labelName: 'File video',
|
|
111
|
+
isRequired: true,
|
|
112
|
+
childrens: [],
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
id: '14896',
|
|
116
|
+
templateId: '4671435926616395650',
|
|
117
|
+
fieldName: 'video_inbanner_2',
|
|
118
|
+
fieldType: 'object',
|
|
119
|
+
defaultValue: null,
|
|
120
|
+
labelName: 'File banner nền video',
|
|
121
|
+
isRequired: true,
|
|
122
|
+
childrens: [
|
|
123
|
+
{
|
|
124
|
+
id: '148967',
|
|
125
|
+
templateId: '4671435926616395650',
|
|
126
|
+
fieldName: 'video_inbanner_2',
|
|
127
|
+
fieldType: 'image',
|
|
128
|
+
defaultValue: null,
|
|
129
|
+
labelName: 'File banner nền video',
|
|
130
|
+
isRequired: true,
|
|
131
|
+
childrens: [],
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
id: '148961',
|
|
137
|
+
templateId: '4671435926616395650',
|
|
138
|
+
fieldName: 'video_inbanner_2',
|
|
139
|
+
fieldType: 'list',
|
|
140
|
+
defaultValue: null,
|
|
141
|
+
labelName: 'File banner nền video',
|
|
142
|
+
isRequired: true,
|
|
143
|
+
childrens: [
|
|
144
|
+
{
|
|
145
|
+
id: '148967s',
|
|
146
|
+
templateId: '4671435926616395650',
|
|
147
|
+
fieldName: 'video_inbanner_2',
|
|
148
|
+
fieldType: 'image',
|
|
149
|
+
defaultValue: null,
|
|
150
|
+
labelName: 'File banner nền video',
|
|
151
|
+
isRequired: true,
|
|
152
|
+
childrens: [],
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
];
|
|
157
|
+
var props = {
|
|
158
|
+
handleSetParameter: function (fn) {
|
|
159
|
+
return fn(rows);
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
describe('Template Infomation Tab Component', function () {
|
|
163
|
+
beforeAll(function () { });
|
|
164
|
+
var renderUi = function () {
|
|
165
|
+
return (0, react_1.render)((0, jsx_runtime_1.jsx)(recoil_1.RecoilRoot, { initializeState: function (_a) {
|
|
166
|
+
var set = _a.set;
|
|
167
|
+
set(Recoils_1.templateParametersState, rows);
|
|
168
|
+
}, children: (0, jsx_runtime_1.jsx)(Parameter_1.default, { templateId: '1102' }) }));
|
|
169
|
+
};
|
|
170
|
+
it('renders without crashing', function () {
|
|
171
|
+
renderUi();
|
|
172
|
+
});
|
|
173
|
+
it('trigger add rows', function () {
|
|
174
|
+
var updateSpy = jest.spyOn(props, 'handleSetParameter');
|
|
175
|
+
renderUi();
|
|
176
|
+
var addBtn = react_1.screen.getByRole('button', { name: /button-add/i });
|
|
177
|
+
react_1.fireEvent.click(addBtn);
|
|
178
|
+
expect(updateSpy).toBeCalled();
|
|
179
|
+
// expect(addBtn).toBeInTheDocument()
|
|
180
|
+
});
|
|
181
|
+
it('trigger edit cell', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
182
|
+
var updateSpy, container, labelNameInput, fieldTypeInput;
|
|
183
|
+
return __generator(this, function (_a) {
|
|
184
|
+
switch (_a.label) {
|
|
185
|
+
case 0:
|
|
186
|
+
updateSpy = jest.spyOn(props, 'handleSetParameter');
|
|
187
|
+
container = renderUi().container;
|
|
188
|
+
labelNameInput = container.querySelector("input[name=\"labelName--148961-148967s\"]");
|
|
189
|
+
fieldTypeInput = container.querySelector("input[name=\"fieldType--148961-148967s\"]");
|
|
190
|
+
react_1.fireEvent.change(labelNameInput, {
|
|
191
|
+
target: { value: 'fieldInput-change' },
|
|
192
|
+
});
|
|
193
|
+
react_1.fireEvent.change(fieldTypeInput, {
|
|
194
|
+
target: { value: 'video' },
|
|
195
|
+
});
|
|
196
|
+
return [4 /*yield*/, (0, react_1.waitFor)(function () {
|
|
197
|
+
expect(updateSpy).toBeCalledTimes(1);
|
|
198
|
+
})];
|
|
199
|
+
case 1:
|
|
200
|
+
_a.sent();
|
|
201
|
+
return [2 /*return*/];
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
}); });
|
|
205
|
+
it('Remove row', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
206
|
+
var removeBtn;
|
|
207
|
+
return __generator(this, function (_a) {
|
|
208
|
+
;
|
|
209
|
+
Utils.enhancedUpdate.mockImplementation(utils.enhancedUpdate);
|
|
210
|
+
renderUi();
|
|
211
|
+
removeBtn = react_1.screen.getAllByRole('button', {
|
|
212
|
+
name: /Common.Delete/i,
|
|
213
|
+
});
|
|
214
|
+
removeBtn.forEach(function (btn) {
|
|
215
|
+
react_1.fireEvent.click(btn);
|
|
216
|
+
});
|
|
217
|
+
return [2 /*return*/];
|
|
218
|
+
});
|
|
219
|
+
}); });
|
|
220
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ITemplateParameter } from '../../Types';
|
|
2
|
+
import { DataObject } from '../../../../AWING';
|
|
3
|
+
export declare const CUSTOM_FIELD_NAME: {
|
|
4
|
+
CHILDRENS: string;
|
|
5
|
+
REMOVE: string;
|
|
6
|
+
FIELD_TYPE: string;
|
|
7
|
+
IS_REQUIRED: string;
|
|
8
|
+
IS_ADVANCED: string;
|
|
9
|
+
};
|
|
10
|
+
export declare const removeFiledName: (templateParameters: ITemplateParameter[]) => ITemplateParameter[];
|
|
11
|
+
export declare const flattenParameter4Parent: (rows: DataObject[], parentFieldName?: string[]) => DataObject[];
|
|
12
|
+
export declare const flattenParameter: (parameters: DataObject[], parentId?: string[], parentFieldType?: string, parentFieldName?: string[]) => DataObject[];
|
|
13
|
+
export declare const enhancedFindIndex: (rows: DataObject[], ids: string[]) => number[];
|
|
14
|
+
/**
|
|
15
|
+
* function enhancedUpdate
|
|
16
|
+
* Des: Hàm update rows
|
|
17
|
+
* \nWarn: Hàm làm việc với tham chiếu!
|
|
18
|
+
* @param rows
|
|
19
|
+
* @param ids
|
|
20
|
+
* @param field
|
|
21
|
+
* @param value
|
|
22
|
+
* @param defaultParam
|
|
23
|
+
*/
|
|
24
|
+
export declare const enhancedUpdate: (rows: DataObject[], ids: string[], field: string, value: any, defaultParam: ITemplateParameter) => void;
|
|
25
|
+
export declare const enhancedRemove: (ids: string[]) => void;
|
|
@@ -0,0 +1,138 @@
|
|
|
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.enhancedRemove = exports.enhancedUpdate = exports.enhancedFindIndex = exports.flattenParameter = exports.flattenParameter4Parent = exports.removeFiledName = exports.CUSTOM_FIELD_NAME = void 0;
|
|
24
|
+
var Enum_1 = require("../../../../ACM-AXN/ViewTemplate/Enum");
|
|
25
|
+
var lodash_1 = require("lodash");
|
|
26
|
+
exports.CUSTOM_FIELD_NAME = {
|
|
27
|
+
CHILDRENS: 'childrens',
|
|
28
|
+
REMOVE: 'remove',
|
|
29
|
+
FIELD_TYPE: 'fieldType',
|
|
30
|
+
IS_REQUIRED: 'isRequired',
|
|
31
|
+
IS_ADVANCED: 'isAdvanced',
|
|
32
|
+
};
|
|
33
|
+
var removeFiledName = function (templateParameters) { return templateParameters.map(function (item) {
|
|
34
|
+
var _a;
|
|
35
|
+
return (__assign(__assign({}, item), { childrens: (0, exports.removeFiledName)(item.childrens), fieldName: (_a = item === null || item === void 0 ? void 0 : item.fieldName) === null || _a === void 0 ? void 0 : _a.split('.').at(-1) }));
|
|
36
|
+
}); };
|
|
37
|
+
exports.removeFiledName = removeFiledName;
|
|
38
|
+
var flattenParameter4Parent = function (rows, parentFieldName) {
|
|
39
|
+
if (parentFieldName === void 0) { parentFieldName = []; }
|
|
40
|
+
parentFieldName = parentFieldName.filter(Boolean);
|
|
41
|
+
return rows
|
|
42
|
+
.map(function (item) {
|
|
43
|
+
var childrens = __spreadArray([], item.childrens, true);
|
|
44
|
+
// delete item.childrens
|
|
45
|
+
return __spreadArray([
|
|
46
|
+
__assign(__assign({}, item), { fieldName: __spreadArray(__spreadArray([], parentFieldName, true), [item.fieldName], false).join('.') })
|
|
47
|
+
], (0, exports.flattenParameter4Parent)(childrens, __spreadArray(__spreadArray([], parentFieldName, true), [
|
|
48
|
+
item.parentFieldName,
|
|
49
|
+
item.fieldName,
|
|
50
|
+
], false).flat()), true);
|
|
51
|
+
})
|
|
52
|
+
.flat();
|
|
53
|
+
};
|
|
54
|
+
exports.flattenParameter4Parent = flattenParameter4Parent;
|
|
55
|
+
var flattenParameter = function (parameters, parentId, parentFieldType, parentFieldName) {
|
|
56
|
+
if (parentId === void 0) { parentId = []; }
|
|
57
|
+
if (parentFieldName === void 0) { parentFieldName = []; }
|
|
58
|
+
var shouldRemove = parameters.length > 1;
|
|
59
|
+
return parameters
|
|
60
|
+
.map(function (item) {
|
|
61
|
+
var errField = !!parameters.find(function (el) { return el.id !== item.id && el.fieldName === item.fieldName; });
|
|
62
|
+
var childrens = __spreadArray([], item.childrens, true);
|
|
63
|
+
parentFieldName = parentFieldName.filter(function (field) { return field !== undefined; });
|
|
64
|
+
// delete item.childrens
|
|
65
|
+
return __spreadArray([
|
|
66
|
+
__assign({ parentFieldType: parentFieldType, parentId: parentId, parentFieldName: parentFieldName, errField: errField, shouldRemove: shouldRemove }, item)
|
|
67
|
+
], (0, exports.flattenParameter)(childrens, __spreadArray(__spreadArray([], parentId, true), [item.parentId, item.id], false).flat(), item.fieldType, __spreadArray(__spreadArray([], parentFieldName, true), [
|
|
68
|
+
item.parentFieldName,
|
|
69
|
+
item.fieldName,
|
|
70
|
+
], false).flat()), true);
|
|
71
|
+
})
|
|
72
|
+
.flat();
|
|
73
|
+
};
|
|
74
|
+
exports.flattenParameter = flattenParameter;
|
|
75
|
+
var enhancedFindIndex = function (rows, ids) {
|
|
76
|
+
var indexs = [];
|
|
77
|
+
var index = (0, lodash_1.findIndex)(rows, { id: ids[0] });
|
|
78
|
+
indexs.push(index);
|
|
79
|
+
return ids.length > 1
|
|
80
|
+
? (ids.shift(),
|
|
81
|
+
[indexs, (0, exports.enhancedFindIndex)(rows[index].childrens, ids)].flat())
|
|
82
|
+
: indexs;
|
|
83
|
+
};
|
|
84
|
+
exports.enhancedFindIndex = enhancedFindIndex;
|
|
85
|
+
/**
|
|
86
|
+
* function enhancedUpdate
|
|
87
|
+
* Des: Hàm update rows
|
|
88
|
+
* \nWarn: Hàm làm việc với tham chiếu!
|
|
89
|
+
* @param rows
|
|
90
|
+
* @param ids
|
|
91
|
+
* @param field
|
|
92
|
+
* @param value
|
|
93
|
+
* @param defaultParam
|
|
94
|
+
*/
|
|
95
|
+
var enhancedUpdate = function (rows, ids, field, value, defaultParam) {
|
|
96
|
+
var indexs = (0, exports.enhancedFindIndex)(rows, ids);
|
|
97
|
+
var update = function (rowsUpdate, turn) {
|
|
98
|
+
var _a;
|
|
99
|
+
if (turn === void 0) { turn = 0; }
|
|
100
|
+
if (turn + 1 < indexs.length) {
|
|
101
|
+
update(rowsUpdate[indexs[turn]].childrens, turn + 1);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
switch (field) {
|
|
105
|
+
case exports.CUSTOM_FIELD_NAME.CHILDRENS:
|
|
106
|
+
rowsUpdate[indexs[turn]].childrens.push(value);
|
|
107
|
+
break;
|
|
108
|
+
case exports.CUSTOM_FIELD_NAME.REMOVE: {
|
|
109
|
+
rowsUpdate.splice(indexs[turn], 1);
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
case exports.CUSTOM_FIELD_NAME.FIELD_TYPE: {
|
|
113
|
+
;
|
|
114
|
+
rowsUpdate[indexs[turn]][field] = value;
|
|
115
|
+
rowsUpdate[indexs[turn]].childrens = [];
|
|
116
|
+
if ([
|
|
117
|
+
Enum_1.TYPE_FIELD_TEMPLATE.OBJECT,
|
|
118
|
+
Enum_1.TYPE_FIELD_TEMPLATE.LIST,
|
|
119
|
+
].includes(value)) {
|
|
120
|
+
rowsUpdate[indexs[turn]].defaultValue = '';
|
|
121
|
+
(_a = rowsUpdate[indexs[turn]].childrens) === null || _a === void 0 ? void 0 : _a.push(defaultParam);
|
|
122
|
+
}
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
default:
|
|
126
|
+
;
|
|
127
|
+
rowsUpdate[indexs[turn]][field] = value;
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
if (!indexs.includes(-1)) {
|
|
133
|
+
update(rows);
|
|
134
|
+
}
|
|
135
|
+
};
|
|
136
|
+
exports.enhancedUpdate = enhancedUpdate;
|
|
137
|
+
var enhancedRemove = function (ids) { };
|
|
138
|
+
exports.enhancedRemove = enhancedRemove;
|
|
@@ -0,0 +1,46 @@
|
|
|
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
|
+
var material_1 = require("@mui/material");
|
|
19
|
+
var MonacoEditor_1 = __importDefault(require("../../../../ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/MonacoEditor"));
|
|
20
|
+
var react_1 = require("react");
|
|
21
|
+
var react_i18next_1 = require("react-i18next");
|
|
22
|
+
var recoil_1 = require("recoil");
|
|
23
|
+
var Recoils_1 = require("../Recoils");
|
|
24
|
+
var Parameter_1 = __importDefault(require("./Parameter"));
|
|
25
|
+
var Events_1 = __importDefault(require("./Events"));
|
|
26
|
+
// import MonacoEditor from 'Components/MonacoEditor'
|
|
27
|
+
var Template = function () {
|
|
28
|
+
var t = (0, react_i18next_1.useTranslation)().t;
|
|
29
|
+
var _a = (0, recoil_1.useRecoilState)(Recoils_1.templateInfoState), info = _a[0], setInfo = _a[1];
|
|
30
|
+
var handleChangeEditor = (0, react_1.useCallback)(function (templateHtml) {
|
|
31
|
+
setInfo(function (prev) { return (__assign(__assign({}, prev), { templateHtml: templateHtml })); });
|
|
32
|
+
}, [setInfo]);
|
|
33
|
+
return ((0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, sx: { flexGrow: 1, padding: function (theme) { return theme.spacing(3); } }, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, component: material_1.Paper, sx: { padding: function (theme) { return theme.spacing(2); }, width: '100%' }, children: [(0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 12, children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "subtitle1", sx: {
|
|
34
|
+
fontWeight: 'bold',
|
|
35
|
+
color: '#BDC7CC',
|
|
36
|
+
}, children: t('Common.Events') }), (0, jsx_runtime_1.jsx)(material_1.Box, { marginBottom: 2, children: (0, jsx_runtime_1.jsx)(Events_1.default, { templateId: info.id || '' }) })] }), (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 12, children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "subtitle1", sx: {
|
|
37
|
+
fontWeight: 'bold',
|
|
38
|
+
color: '#BDC7CC',
|
|
39
|
+
}, children: t('TemplateManagement.TemplateHtml') }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
|
|
40
|
+
pointerEvents: 'unset',
|
|
41
|
+
border: '1px solid #e4e4e4',
|
|
42
|
+
padding: '10px 0',
|
|
43
|
+
borderRadius: '4px',
|
|
44
|
+
}, children: (0, jsx_runtime_1.jsx)(MonacoEditor_1.default, { value: info.templateHtml, height: "30vh", language: "html", onChange: handleChangeEditor, isShowMinimap: true }) })] }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(Parameter_1.default, { templateId: info.id }) })] }) }));
|
|
45
|
+
};
|
|
46
|
+
exports.default = Template;
|
|
@@ -0,0 +1,215 @@
|
|
|
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
+
};
|
|
52
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
54
|
+
var lab_1 = require("@mui/lab");
|
|
55
|
+
var material_1 = require("@mui/material");
|
|
56
|
+
var Enum_1 = require("../../../ACM-AXN/Campaign/Enum");
|
|
57
|
+
var TabFile_1 = __importDefault(require("../../../ACM-AXN/Page/CreateOrEdit/TabFile"));
|
|
58
|
+
var enums_1 = require("../../../ACM-AXN/Page/enums");
|
|
59
|
+
var AWING_1 = require("../../../AWING");
|
|
60
|
+
var Wrapper_1 = __importDefault(require("../../../AWING/HOC/Wrapper"));
|
|
61
|
+
var immer_1 = __importDefault(require("immer"));
|
|
62
|
+
var Router_1 = require("../../../AWING/Router");
|
|
63
|
+
var validation_1 = require("../../../AWING/ultis/validation");
|
|
64
|
+
var ClassicDrawer_1 = __importDefault(require("../../../Commons/Components/ClassicDrawer"));
|
|
65
|
+
var Context_1 = require("../../../Context");
|
|
66
|
+
var lodash_1 = require("lodash");
|
|
67
|
+
var react_1 = require("react");
|
|
68
|
+
var react_i18next_1 = require("react-i18next");
|
|
69
|
+
var recoil_1 = require("recoil");
|
|
70
|
+
var Hooks_1 = __importDefault(require("../Hooks"));
|
|
71
|
+
var Infomation_1 = __importDefault(require("./Infomation"));
|
|
72
|
+
var Recoils_1 = require("./Recoils");
|
|
73
|
+
var Script_1 = __importDefault(require("./Script"));
|
|
74
|
+
var Template_1 = __importDefault(require("./Template"));
|
|
75
|
+
var Utils_1 = require("./Template/Utils");
|
|
76
|
+
var CreateOrEdit = function () {
|
|
77
|
+
var _a, _b;
|
|
78
|
+
var t = (0, react_i18next_1.useTranslation)().t;
|
|
79
|
+
var service = (0, Hooks_1.default)().service;
|
|
80
|
+
var appHelper = (0, Context_1.useAwing)().appHelper;
|
|
81
|
+
var templateId = (0, Router_1.useParams)().templateId;
|
|
82
|
+
var _c = (0, react_1.useState)([
|
|
83
|
+
{
|
|
84
|
+
directoryId: '',
|
|
85
|
+
name: '',
|
|
86
|
+
level: 0,
|
|
87
|
+
},
|
|
88
|
+
]), directories = _c[0], setDirectories = _c[1];
|
|
89
|
+
var _d = (0, react_1.useState)(true), loading = _d[0], setLoading = _d[1];
|
|
90
|
+
var _e = (0, react_1.useState)([]), templateTypes = _e[0], setTemplateTypes = _e[1];
|
|
91
|
+
var _f = (0, recoil_1.useRecoilState)(Recoils_1.templateState), templateData = _f[0], setTemplateData = _f[1];
|
|
92
|
+
var confirmExit = (0, recoil_1.useRecoilValue)(Recoils_1.isEditState);
|
|
93
|
+
var _g = (0, react_1.useState)('0'), value = _g[0], setValue = _g[1];
|
|
94
|
+
(0, react_1.useEffect)(function () {
|
|
95
|
+
setLoading(true);
|
|
96
|
+
Promise.allSettled([
|
|
97
|
+
fetchTemplateData(),
|
|
98
|
+
service.templateTypesGet().then(setTemplateTypes),
|
|
99
|
+
fetchDirectories(),
|
|
100
|
+
getId(),
|
|
101
|
+
]).finally(function () {
|
|
102
|
+
setLoading(false);
|
|
103
|
+
});
|
|
104
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
105
|
+
}, []);
|
|
106
|
+
(0, react_1.useEffect)(function () {
|
|
107
|
+
setTemplateData((0, immer_1.default)(function (prev) {
|
|
108
|
+
var _a;
|
|
109
|
+
prev.template.directoryId =
|
|
110
|
+
prev.template.directoryId ||
|
|
111
|
+
((_a = (0, lodash_1.minBy)(directories, 'level')) === null || _a === void 0 ? void 0 : _a.directoryId);
|
|
112
|
+
}));
|
|
113
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
114
|
+
}, [directories]);
|
|
115
|
+
var descriptionValid = (0, react_1.useMemo)(function () {
|
|
116
|
+
var _a;
|
|
117
|
+
return (0, validation_1.textValidation)(((_a = templateData.template) === null || _a === void 0 ? void 0 : _a.description) || '', 200, true, false);
|
|
118
|
+
}, [templateData.template]);
|
|
119
|
+
var tabsList = (0, react_1.useMemo)(function () {
|
|
120
|
+
var _a;
|
|
121
|
+
return [
|
|
122
|
+
{
|
|
123
|
+
label: t('TemplateManagement.Information'),
|
|
124
|
+
compoent: ((0, jsx_runtime_1.jsx)(Infomation_1.default, { directories: directories, templateTypes: templateTypes })),
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
label: t('TemplateManagement.Template'),
|
|
128
|
+
compoent: (0, jsx_runtime_1.jsx)(Template_1.default, {}),
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
label: t('TemplateManagement.Script'),
|
|
132
|
+
compoent: (0, jsx_runtime_1.jsx)(Script_1.default, {}),
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
label: t('Common.File'),
|
|
136
|
+
compoent: ((0, jsx_runtime_1.jsx)(TabFile_1.default, { rootDirectory: ((_a = (0, lodash_1.minBy)(directories, 'level')) === null || _a === void 0 ? void 0 : _a.directoryId) || '', isCreate: Boolean(templateId), pathName: 'ACM-AXN/Template', service: service, pageId: templateData.template.id, pageCode: enums_1.FileTypeCode.Template })),
|
|
137
|
+
},
|
|
138
|
+
];
|
|
139
|
+
},
|
|
140
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
141
|
+
[
|
|
142
|
+
t,
|
|
143
|
+
directories,
|
|
144
|
+
templateTypes,
|
|
145
|
+
templateData,
|
|
146
|
+
// treeFolder,
|
|
147
|
+
descriptionValid,
|
|
148
|
+
]);
|
|
149
|
+
var handleChangeTab = function (event, newValue) {
|
|
150
|
+
setValue(newValue);
|
|
151
|
+
};
|
|
152
|
+
var fetchTemplateData = function () {
|
|
153
|
+
if (templateId) {
|
|
154
|
+
return service.templatesGet(templateId).then(function (res) {
|
|
155
|
+
setTemplateData(__assign(__assign({}, res), { templateParameters: (0, Utils_1.removeFiledName)(res.templateParameters) }));
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
var fetchDirectories = function () {
|
|
160
|
+
return service
|
|
161
|
+
.directoriesGetByObjectTypeCode(Enum_1.DirectoryRoot.Template)
|
|
162
|
+
.then(setDirectories);
|
|
163
|
+
};
|
|
164
|
+
var getId = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
165
|
+
var id;
|
|
166
|
+
return __generator(this, function (_a) {
|
|
167
|
+
switch (_a.label) {
|
|
168
|
+
case 0:
|
|
169
|
+
id = templateId;
|
|
170
|
+
if (!!templateId) return [3 /*break*/, 2];
|
|
171
|
+
return [4 /*yield*/, service.directoriesGenerateId()];
|
|
172
|
+
case 1:
|
|
173
|
+
id = _a.sent();
|
|
174
|
+
_a.label = 2;
|
|
175
|
+
case 2:
|
|
176
|
+
setTemplateData((function (prev) { return (__assign(__assign({}, prev), { template: __assign(__assign({}, prev.template), { id: id }) })); }));
|
|
177
|
+
return [2 /*return*/];
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
}); };
|
|
181
|
+
var handleSubmit = function () {
|
|
182
|
+
var _a;
|
|
183
|
+
var parameters = (0, Utils_1.flattenParameter4Parent)(templateData.templateParameters);
|
|
184
|
+
var errField = (0, lodash_1.uniqBy)(parameters, 'fieldName');
|
|
185
|
+
if (!((_a = templateData.template) === null || _a === void 0 ? void 0 : _a.templateTypeId) ||
|
|
186
|
+
!templateData.template.description) {
|
|
187
|
+
appHelper.snackbar('error', t('Common.RequireAll'));
|
|
188
|
+
// return Promise.reject()
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (errField.length < parameters.length) {
|
|
192
|
+
appHelper.snackbar('warning', t('TemplateManagement.DuplicateFieldName'));
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
var data4Update = {
|
|
196
|
+
template: __assign(__assign({}, templateData.template), { id: templateId }),
|
|
197
|
+
// eslint-disable-next-line no-sequences
|
|
198
|
+
templateParameters: parameters.map(function (parameter) { return (
|
|
199
|
+
// eslint-disable-next-line no-sequences
|
|
200
|
+
delete parameter.childrens, __assign(__assign({}, parameter), { templateId: templateId })); }),
|
|
201
|
+
templateEvents: templateData.templateEvents
|
|
202
|
+
};
|
|
203
|
+
if (templateId) {
|
|
204
|
+
return service.templatesPut(templateId, data4Update);
|
|
205
|
+
}
|
|
206
|
+
return service.templatesPost(data4Update);
|
|
207
|
+
};
|
|
208
|
+
return ((0, jsx_runtime_1.jsx)(ClassicDrawer_1.default, { title: "".concat(t(['TemplateManagement', templateId ? 'Edit' : 'Create'].join('.'))).concat(templateId ? ": ".concat((_a = templateData === null || templateData === void 0 ? void 0 : templateData.template) === null || _a === void 0 ? void 0 : _a.description) : '', "\n "), onSubmit: handleSubmit, disableButtonSubmit: !((_b = templateData.template) === null || _b === void 0 ? void 0 : _b.templateTypeId) || !descriptionValid.valid || !confirmExit, confirmExit: confirmExit, childrenWrapperStyle: { padding: 0 }, children: (0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, sx: {
|
|
209
|
+
display: 'flex',
|
|
210
|
+
flexDirection: 'column',
|
|
211
|
+
flexGrow: 1,
|
|
212
|
+
padding: function (theme) { return theme.spacing(3); },
|
|
213
|
+
}, children: loading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, component: material_1.Paper, sx: { width: '100%' }, children: (0, jsx_runtime_1.jsxs)(lab_1.TabContext, { value: value, children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: { borderBottom: 1, borderColor: 'divider' }, children: (0, jsx_runtime_1.jsx)(lab_1.TabList, { variant: "scrollable", onChange: handleChangeTab, "aria-label": "lab API tabs example", children: tabsList.map(function (tab, idx) { return ((0, jsx_runtime_1.jsx)(material_1.Tab, { sx: { minWidth: '160px' }, value: String(idx), label: (0, jsx_runtime_1.jsx)("b", { children: tab.label }) }, idx)); }) }) }), tabsList.map(function (tab, idx) { return ((0, jsx_runtime_1.jsx)(lab_1.TabPanel, { sx: { padding: '0' }, value: String(idx), children: tab.compoent }, idx)); })] }) })) }) }));
|
|
214
|
+
};
|
|
215
|
+
exports.default = (0, Wrapper_1.default)(CreateOrEdit, { component: recoil_1.RecoilRoot });
|