awing-library 2.1.128-beta → 2.1.128
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/Campaign/Container.js +52 -54
- package/lib/ACM-AXN/Campaign/Container.test.js +1 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +8 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +27 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.d.ts +17 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.js +121 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.js +219 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.d.ts +2 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.js +306 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.js +230 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.js +123 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.js +253 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +2 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.d.ts +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.js +47 -78
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.d.ts +6 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +3 -22
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.js +2 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.js +2 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +22 -43
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +321 -103
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/component.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +3 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +122 -58
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +46 -8
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +11 -8
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +13 -19
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +7 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +98 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.js +3 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +35 -70
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +26 -8
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -32
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +5 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +2 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +6 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.d.ts +8 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.js +47 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.js +52 -6
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.js +3 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.d.ts +4 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +13 -7
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.d.ts +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +75 -123
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.d.ts +2 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +8 -3
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
- package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +176 -59
- package/lib/ACM-AXN/Campaign/Enum.d.ts +23 -4
- package/lib/ACM-AXN/Campaign/Enum.js +30 -10
- package/lib/ACM-AXN/Campaign/Types.d.ts +52 -6
- package/lib/ACM-AXN/Campaign/Utils.d.ts +5 -0
- package/lib/ACM-AXN/Campaign/Utils.js +29 -2
- package/lib/ACM-AXN/Campaign/index.js +2 -2
- package/lib/ACM-AXN/CampaignPlan/Container.js +21 -10
- package/lib/ACM-AXN/CampaignPlan/Container.test.d.ts +1 -1
- package/lib/ACM-AXN/CampaignPlan/Container.test.js +1 -2
- package/lib/ACM-AXN/CampaignPlan/Detail.js +5 -7
- package/lib/ACM-AXN/CampaignPlan/Detail.test.d.ts +1 -1
- package/lib/ACM-AXN/CampaignPlan/Detail.test.js +2 -3
- package/lib/ACM-AXN/CampaignPlan/Filter.js +11 -4
- package/lib/ACM-AXN/CampaignPlan/Filter.test.d.ts +1 -1
- package/lib/ACM-AXN/CampaignPlan/Filter.test.js +0 -1
- package/lib/ACM-AXN/CampaignPlan/Types.d.ts +6 -74
- package/lib/ACM-AXN/CampaignPlan/Types.js +1 -253
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
- package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +7 -5
- package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +4 -4
- package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +5 -4
- package/lib/ACM-AXN/CampaignSchedule/Enum.d.ts +1 -1
- package/lib/ACM-AXN/CampaignSchedule/Enum.js +1 -1
- package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +1 -2
- package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
- package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
- package/lib/ACM-AXN/Common/Constant.js +2 -0
- package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
- package/lib/ACM-AXN/Common/Enum.js +19 -4
- package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
- package/lib/ACM-AXN/GeoFencing/component.js +7 -7
- package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
- package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
- package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
- package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
- package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
- package/lib/ACM-AXN/Page/Container.js +3 -3
- package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +6 -9
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +40 -61
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +26 -30
- package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +6 -8
- package/lib/ACM-AXN/Page/CreateOrEdit/index.js +5 -3
- package/lib/ACM-AXN/Page/enums.d.ts +5 -0
- package/lib/ACM-AXN/Page/enums.js +7 -1
- package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
- package/lib/ACM-AXN/PlaceFilter/DataTable/component/index.js +2 -5
- package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
- package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
- package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +16 -16
- package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +14 -9
- package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +19 -18
- package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +16 -6
- package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +17 -10
- package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
- package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +30 -51
- package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
- package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
- package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
- package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +16 -36
- package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +5 -5
- package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +14 -11
- package/lib/ACM-AXN/Statistics/ControlPanel.js +16 -4
- package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
- package/lib/ACM-AXN/Statistics/Enums.js +1 -0
- package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
- package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +3 -3
- package/lib/ACM-AXN/Template/Container.js +1 -1
- package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
- package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +2 -2
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +56 -39
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
- package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
- package/lib/ACM-AXN/Template/CreateOrEdit/index.js +8 -4
- package/lib/ACM-AXN/Template/Import.js +6 -3
- package/lib/ACM-AXN/Template/Types.d.ts +9 -9
- package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
- package/lib/ACM-AXN/ViewTemplate/Preview.js +5 -6
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +46 -160
- package/lib/ACM-AXN/ViewTemplate/common.js +2 -3
- package/lib/ACM-AXN/ViewTemplate/container.js +23 -24
- package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
- package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
- package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
- package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
- package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
- package/lib/ACM-AXN/index.d.ts +1 -0
- package/lib/ACM-AXN/index.js +1 -0
- package/lib/AWING/AsyncAutocomplete/index.js +2 -2
- package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
- package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
- package/lib/AWING/Chart/BarLineComponent.js +29 -11
- package/lib/AWING/Chart/PieComponent.d.ts +3 -4
- package/lib/AWING/Chart/PieComponent.js +16 -16
- package/lib/AWING/Chart/Styles.js +51 -16
- package/lib/AWING/DataForm/DataInput.js +63 -20
- package/lib/AWING/DataForm/interface.d.ts +1 -0
- package/lib/AWING/DataGrid/index.js +8 -13
- package/lib/AWING/DateRangePicker/component.js +42 -23
- package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
- package/lib/AWING/Form/useForm.js +3 -2
- package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
- package/lib/AWING/GoogleMap/GGMap.js +256 -0
- package/lib/AWING/GoogleMap/index.d.ts +4 -0
- package/lib/AWING/GoogleMap/index.js +41 -0
- package/lib/AWING/GoogleMap/interface.d.ts +21 -0
- package/lib/AWING/GoogleMap/interface.js +2 -0
- package/lib/AWING/GoogleMap/utils.d.ts +25 -0
- package/lib/AWING/GoogleMap/utils.js +135 -0
- package/lib/AWING/GroupTable/GroupTable.js +4 -5
- package/lib/AWING/GroupTable/component.d.ts +1 -0
- package/lib/AWING/GroupTable/component.js +2 -2
- package/lib/AWING/NumberFormat/index.d.ts +3 -1
- package/lib/AWING/NumberFormat/index.js +2 -2
- package/lib/AWING/PageManagement/PageManagement.js +2 -2
- package/lib/AWING/Pagination/index.js +10 -3
- package/lib/AWING/index.d.ts +1 -0
- package/lib/AWING/index.js +1 -0
- package/lib/AWING/ultis/validation.d.ts +1 -0
- package/lib/AWING/ultis/validation.js +21 -5
- package/lib/Commons/Components/ClassicDrawer.js +5 -4
- package/lib/Commons/Components/DeprecatedEnhancedDialog.js +1 -1
- package/lib/Commons/Hooks/usePath.js +3 -3
- package/lib/Utils/Helpers.d.ts +4 -2
- package/lib/Utils/Helpers.js +58 -7
- package/lib/i18n.js +14 -2
- package/lib/translate/en/translation.json +114 -71
- package/lib/translate/id/translation.json +870 -0
- package/lib/translate/jp/translation.json +870 -0
- package/lib/translate/tha/translation.json +870 -0
- package/lib/translate/vi/translation.json +78 -35
- package/package.json +131 -126
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/fakeCampaignData.json +0 -397
- package/lib/ACM-AXN/ScheduleCompletionRate/json.d.ts +0 -61
- package/lib/ACM-AXN/ScheduleCompletionRate/json.js +0 -268
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.d.ts +0 -5
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.js +0 -14
|
@@ -58,7 +58,7 @@ var TemplateContainer = function () {
|
|
|
58
58
|
field: 'PageCode',
|
|
59
59
|
headerName: 'PageCode',
|
|
60
60
|
valueGetter: function (row) {
|
|
61
|
-
return t("TemplateManagement.Page_".concat(row.pageCode));
|
|
61
|
+
return t("TemplateManagement.Page_".concat(['wlc', 'lgn'].includes(row.pageCode) ? row.pageCode : row.pageCode === '0' ? 'wlc' : 'lgn'));
|
|
62
62
|
},
|
|
63
63
|
},
|
|
64
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: Constant_1.Constants.IMPORT_PATH, variant: "outlined", size: "medium", sx: { marginLeft: '16px', fontWeight: 'bold' }, children: t('Common.Import') }), rowActions: [
|
|
@@ -4,3 +4,4 @@ export declare const templateInfoState: import("recoil").RecoilState<ITemplate>;
|
|
|
4
4
|
export declare const templateEventState: import("recoil").RecoilState<ITemplateEvent[]>;
|
|
5
5
|
export declare const templateParametersState: import("recoil").RecoilState<ITemplateParameter[]>;
|
|
6
6
|
export declare const isEditState: import("recoil").RecoilState<boolean>;
|
|
7
|
+
export declare const isErrorParameterState: 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.isEditState = exports.templateParametersState = exports.templateEventState = exports.templateInfoState = exports.templateState = void 0;
|
|
14
|
+
exports.isErrorParameterState = exports.isEditState = exports.templateParametersState = exports.templateEventState = exports.templateInfoState = exports.templateState = void 0;
|
|
15
15
|
var recoil_1 = require("recoil");
|
|
16
16
|
var defaultValidation = "<!-- return function(fields) {\n // Parameter fields: [{fieldName, fieldValue}]\n // VALID_CODE: 200, NOT_VALID_CODE: 100\n // Return array include field name, error message and check code of them\n // Eg: Check field \"text\" must have equal or more than 10 character\n return new Promise((resolve, reject) => {\n const needCheckField = fields.find(field => field.fieldName === \"text\")\n const isOk = needCheckField.fieldValue.length >= 10\n resolve([\n {\n fieldName: needCheckField.fieldName,\n code: isOk ? 200 : 100,\n errorMessage: \"Text has less than 10 character\"\n }\n ])\n })\n} -->";
|
|
17
17
|
var defaultHandleEvent = "<!-- return function(fields, fieldChange) {\n // Parameter fields: [{fieldName, fieldValue}], fieldChange: field which change\n // Return array of field need update with new value\n // In case no update, return empty array\n // Eg: Auto update value of \"textUpperCase\" field when value of \"text\" field changed\n return new Promise((resolve, reject) => {\n if(fieldChange.fieldName === \"text\") {\n resolve([\n {\n fieldName: \"textUpperCase\",\n newValue: fieldChange.fieldValue.toUpperCase()\n }\n ])\n }else resolve([])\n })\n} -->";
|
|
@@ -77,3 +77,7 @@ exports.isEditState = (0, recoil_1.atom)({
|
|
|
77
77
|
key: "isEditState",
|
|
78
78
|
default: false,
|
|
79
79
|
});
|
|
80
|
+
exports.isErrorParameterState = (0, recoil_1.atom)({
|
|
81
|
+
key: "isErrorParameterState",
|
|
82
|
+
default: false,
|
|
83
|
+
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
interface ParameterProps {
|
|
3
3
|
templateId: string;
|
|
4
4
|
}
|
|
@@ -17,5 +17,5 @@ export declare const OmitListType: {
|
|
|
17
17
|
COLOR: string;
|
|
18
18
|
URL: string;
|
|
19
19
|
};
|
|
20
|
-
declare const _default:
|
|
20
|
+
declare const _default: React.NamedExoticComponent<ParameterProps>;
|
|
21
21
|
export default _default;
|
|
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
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
|
+
};
|
|
13
36
|
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
37
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
38
|
if (ar || !(i in from)) {
|
|
@@ -28,10 +51,10 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
28
51
|
var icons_material_1 = require("@mui/icons-material");
|
|
29
52
|
var Add_1 = __importDefault(require("@mui/icons-material/Add"));
|
|
30
53
|
var material_1 = require("@mui/material");
|
|
31
|
-
var immer_1 = __importDefault(require("immer"));
|
|
32
54
|
var Enum_1 = require("../../../../ACM-AXN/ViewTemplate/Enum");
|
|
33
55
|
var AWING_1 = require("../../../../AWING");
|
|
34
|
-
var
|
|
56
|
+
var immer_1 = require("immer");
|
|
57
|
+
var react_1 = __importStar(require("react"));
|
|
35
58
|
var react_i18next_1 = require("react-i18next");
|
|
36
59
|
var recoil_1 = require("recoil");
|
|
37
60
|
var Recoils_1 = require("../Recoils");
|
|
@@ -41,6 +64,7 @@ delete exports.OmitListType.LIST;
|
|
|
41
64
|
var Parameter = function (_a) {
|
|
42
65
|
var templateId = _a.templateId;
|
|
43
66
|
var _b = (0, recoil_1.useRecoilState)(Recoils_1.templateParametersState), rows = _b[0], handleSetParameter = _b[1];
|
|
67
|
+
var setErrors = (0, recoil_1.useSetRecoilState)(Recoils_1.isErrorParameterState);
|
|
44
68
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
45
69
|
var defaultParam = {
|
|
46
70
|
id: String(Date.now()),
|
|
@@ -50,50 +74,48 @@ var Parameter = function (_a) {
|
|
|
50
74
|
defaultValue: undefined,
|
|
51
75
|
labelName: undefined,
|
|
52
76
|
isRequired: false,
|
|
77
|
+
isAdvanced: false,
|
|
53
78
|
childrens: [],
|
|
54
79
|
};
|
|
80
|
+
var tableRow = react_1.default.useMemo(function () { return (0, Utils_1.flattenParameter)(rows); }, [rows]);
|
|
81
|
+
react_1.default.useEffect(function () {
|
|
82
|
+
setErrors(tableRow.some(function (item) { return item.errField; }));
|
|
83
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
84
|
+
}, [tableRow]);
|
|
55
85
|
var handleAddParameter = function () {
|
|
56
86
|
handleSetParameter(function (prev) { return __spreadArray(__spreadArray([], prev, true), [defaultParam], false); });
|
|
57
87
|
};
|
|
58
88
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
59
89
|
var handleChange = function (event) {
|
|
60
|
-
var _a
|
|
61
|
-
var
|
|
62
|
-
|
|
63
|
-
|
|
90
|
+
var _a, _b;
|
|
91
|
+
var _c = event.target, name = _c.name, value = _c.value, checked = _c.checked;
|
|
92
|
+
var _d = name.split('-').filter(Boolean), field = _d[0], ids = _d.slice(1);
|
|
93
|
+
var handleValue = [
|
|
94
|
+
Utils_1.FIELDS.IS_REQUIRED,
|
|
95
|
+
Utils_1.FIELDS.IS_ADVANCED,
|
|
96
|
+
].includes(field)
|
|
97
|
+
? checked
|
|
98
|
+
: field === Utils_1.FIELDS.FIELD_NAME ? ((_b = (_a = value === null || value === void 0 ? void 0 : value.split('.')) === null || _a === void 0 ? void 0 : _a.at(ids.length - 1)) !== null && _b !== void 0 ? _b : '').trim() : value;
|
|
99
|
+
handleSetParameter((0, immer_1.produce)(function (rows) {
|
|
100
|
+
(0, Utils_1.enhancedUpdate)(rows, ids, field, handleValue, defaultParam);
|
|
64
101
|
}));
|
|
65
102
|
};
|
|
66
103
|
var handleRemoveRow = function (id) {
|
|
67
104
|
handleChange({
|
|
68
105
|
target: {
|
|
69
|
-
name: [Utils_1.
|
|
106
|
+
name: [Utils_1.FIELDS.REMOVE, id].join('-'),
|
|
70
107
|
value: defaultParam,
|
|
71
108
|
},
|
|
72
109
|
});
|
|
73
110
|
};
|
|
74
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
75
|
-
// const handleChangeParameter = useCallback(
|
|
76
|
-
// debounce(handleChange, DEBOUNCE_TIME),
|
|
77
|
-
// []
|
|
78
|
-
// )
|
|
79
111
|
var handleAddChildren = function (id) {
|
|
80
112
|
handleChange({
|
|
81
113
|
target: {
|
|
82
|
-
name: [Utils_1.
|
|
114
|
+
name: [Utils_1.FIELDS.CHILDRENS, id].join('-'),
|
|
83
115
|
value: defaultParam,
|
|
84
116
|
},
|
|
85
117
|
});
|
|
86
118
|
};
|
|
87
|
-
var tableRow = (0, Utils_1.flattenParameter)(rows).map(function (row) {
|
|
88
|
-
Object.keys(row).forEach(function (key) {
|
|
89
|
-
if (Array.isArray(row[key])) {
|
|
90
|
-
row[key] = row[key].filter(function (item) { return item !== ''; });
|
|
91
|
-
console.log(key, row[key]);
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
return row;
|
|
95
|
-
});
|
|
96
|
-
console.log("tableRow", tableRow);
|
|
97
119
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Box, { mt: 3, children: (0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, justifyContent: "space-between", alignItems: "center", children: (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 6, children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "subtitle1", sx: {
|
|
98
120
|
fontWeight: 'bold',
|
|
99
121
|
color: '#000000',
|
|
@@ -104,7 +126,7 @@ var Parameter = function (_a) {
|
|
|
104
126
|
}, component: 'form', onChange: handleChange, children: (0, jsx_runtime_1.jsx)(AWING_1.DataGrid, { getRowId: function (obj) { return [obj.parentId, obj.id].flat().join('-'); }, columns: [
|
|
105
127
|
{
|
|
106
128
|
// width: '150px',
|
|
107
|
-
field:
|
|
129
|
+
field: Utils_1.FIELDS.FIELD_TYPE,
|
|
108
130
|
headerName: t('TemplateManagement.fieldType'),
|
|
109
131
|
dynamicTableCellProps: function (row) {
|
|
110
132
|
return {
|
|
@@ -143,7 +165,7 @@ var Parameter = function (_a) {
|
|
|
143
165
|
},
|
|
144
166
|
},
|
|
145
167
|
{
|
|
146
|
-
field:
|
|
168
|
+
field: Utils_1.FIELDS.FIELD_NAME,
|
|
147
169
|
headerName: t('TemplateManagement.FieldName'),
|
|
148
170
|
TableCellProps: {
|
|
149
171
|
sx: {
|
|
@@ -155,22 +177,17 @@ var Parameter = function (_a) {
|
|
|
155
177
|
// inputProps={{}}
|
|
156
178
|
, {
|
|
157
179
|
// inputProps={{}}
|
|
158
|
-
error: row.errField,
|
|
159
|
-
startAdornment: ((0, jsx_runtime_1.jsx)(material_1.Box, { component: 'span', sx: {
|
|
160
|
-
padding: '4px 0 5px',
|
|
161
|
-
}, children: row.parentFieldName.length ? (row.parentFieldName.push(''), row.parentFieldName).join('.')
|
|
162
|
-
: null })),
|
|
163
|
-
}, required: true, fullWidth: true, name: [
|
|
180
|
+
error: row.errField, required: true, fullWidth: true, name: [
|
|
164
181
|
'fieldName',
|
|
165
182
|
row.parentId,
|
|
166
183
|
row.id,
|
|
167
184
|
]
|
|
168
185
|
.flat()
|
|
169
|
-
.join('-'), variant: "standard",
|
|
186
|
+
.join('-'), variant: "standard", value: (0, Utils_1.getFieldName)(row) }, idx));
|
|
170
187
|
},
|
|
171
188
|
},
|
|
172
189
|
{
|
|
173
|
-
field:
|
|
190
|
+
field: Utils_1.FIELDS.LABEL_NAME,
|
|
174
191
|
headerName: t('Common.Label'),
|
|
175
192
|
TableCellProps: {
|
|
176
193
|
sx: {
|
|
@@ -179,7 +196,7 @@ var Parameter = function (_a) {
|
|
|
179
196
|
},
|
|
180
197
|
valueGetter: function (row, idx) {
|
|
181
198
|
return ((0, jsx_runtime_1.jsx)(material_1.TextField, { fullWidth: true, name: [
|
|
182
|
-
|
|
199
|
+
Utils_1.FIELDS.LABEL_NAME,
|
|
183
200
|
row.parentId,
|
|
184
201
|
row.id,
|
|
185
202
|
]
|
|
@@ -188,7 +205,7 @@ var Parameter = function (_a) {
|
|
|
188
205
|
},
|
|
189
206
|
},
|
|
190
207
|
{
|
|
191
|
-
field:
|
|
208
|
+
field: Utils_1.FIELDS.DEFAULT_VALUE,
|
|
192
209
|
headerName: t('Common.DefaultValue'),
|
|
193
210
|
TableCellProps: {
|
|
194
211
|
sx: {
|
|
@@ -209,7 +226,7 @@ var Parameter = function (_a) {
|
|
|
209
226
|
},
|
|
210
227
|
},
|
|
211
228
|
{
|
|
212
|
-
field:
|
|
229
|
+
field: Utils_1.FIELDS.IS_REQUIRED,
|
|
213
230
|
width: '85px',
|
|
214
231
|
headerName: t('Common.Require'),
|
|
215
232
|
TableCellProps: {
|
|
@@ -233,7 +250,7 @@ var Parameter = function (_a) {
|
|
|
233
250
|
},
|
|
234
251
|
valueGetter: function (row, idx) {
|
|
235
252
|
return ((0, jsx_runtime_1.jsx)(material_1.Checkbox, { name: [
|
|
236
|
-
|
|
253
|
+
Utils_1.FIELDS.IS_REQUIRED,
|
|
237
254
|
row.parentId,
|
|
238
255
|
row.id,
|
|
239
256
|
]
|
|
@@ -242,7 +259,7 @@ var Parameter = function (_a) {
|
|
|
242
259
|
},
|
|
243
260
|
},
|
|
244
261
|
{
|
|
245
|
-
field:
|
|
262
|
+
field: Utils_1.FIELDS.IS_ADVANCED,
|
|
246
263
|
width: '85px',
|
|
247
264
|
headerName: t('Common.Advance'),
|
|
248
265
|
TableCellProps: {
|
|
@@ -286,6 +303,6 @@ var Parameter = function (_a) {
|
|
|
286
303
|
return !(Enum_1.TYPE_FIELD_TEMPLATE.OBJECT === row.fieldType);
|
|
287
304
|
},
|
|
288
305
|
},
|
|
289
|
-
] }) }), (0, jsx_runtime_1.jsx)(material_1.Box, { mt: 3, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, justifyContent: "space-between", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, children: (0, jsx_runtime_1.jsx)(material_1.Button, { "aria-label": "button-add", variant: "contained", onClick: handleAddParameter, disabled: false, title: t('Common.Add'), children: (0, jsx_runtime_1.jsx)(Add_1.default, {}) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, justifyContent: "flex-end", children: (0, jsx_runtime_1.jsx)(material_1.Typography, { sx: { padding: '8px' }, children: t('TemplateManagement.NamingFieldNotice') }) })] }) })] }));
|
|
306
|
+
] }) }), (0, jsx_runtime_1.jsx)(material_1.Box, { mt: 3, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, justifyContent: "space-between", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, children: (0, jsx_runtime_1.jsx)(material_1.Button, { name: "master-add-parameter", "aria-label": "button-add", variant: "contained", onClick: handleAddParameter, disabled: false, title: t('Common.Add'), children: (0, jsx_runtime_1.jsx)(Add_1.default, {}) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, justifyContent: "flex-end", children: (0, jsx_runtime_1.jsx)(material_1.Typography, { sx: { padding: '8px' }, children: t('TemplateManagement.NamingFieldNotice') }) })] }) })] }));
|
|
290
307
|
};
|
|
291
308
|
exports.default = (0, react_1.memo)(Parameter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
@@ -77,7 +77,6 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
77
77
|
/* eslint-disable testing-library/no-node-access */
|
|
78
78
|
/* eslint-disable testing-library/no-container */
|
|
79
79
|
/* eslint-disable testing-library/no-wait-for-side-effects */
|
|
80
|
-
require("@testing-library/jest-dom/extend-expect");
|
|
81
80
|
var react_1 = require("@testing-library/react");
|
|
82
81
|
var Parameter_1 = __importDefault(require("./Parameter"));
|
|
83
82
|
var Utils = __importStar(require("./Utils"));
|
|
@@ -111,27 +110,6 @@ var rows = [
|
|
|
111
110
|
isRequired: true,
|
|
112
111
|
childrens: [],
|
|
113
112
|
},
|
|
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
113
|
{
|
|
136
114
|
id: '148961',
|
|
137
115
|
templateId: '4671435926616395650',
|
|
@@ -154,13 +132,11 @@ var rows = [
|
|
|
154
132
|
],
|
|
155
133
|
},
|
|
156
134
|
];
|
|
157
|
-
var props = {
|
|
158
|
-
handleSetParameter: function (fn) {
|
|
159
|
-
return fn(rows);
|
|
160
|
-
},
|
|
161
|
-
};
|
|
162
135
|
describe('Template Infomation Tab Component', function () {
|
|
163
|
-
beforeAll(function () {
|
|
136
|
+
beforeAll(function () {
|
|
137
|
+
;
|
|
138
|
+
Utils.enhancedUpdate.mockImplementation(utils.enhancedUpdate);
|
|
139
|
+
});
|
|
164
140
|
var renderUi = function () {
|
|
165
141
|
return (0, react_1.render)((0, jsx_runtime_1.jsx)(recoil_1.RecoilRoot, { initializeState: function (_a) {
|
|
166
142
|
var set = _a.set;
|
|
@@ -170,33 +146,62 @@ describe('Template Infomation Tab Component', function () {
|
|
|
170
146
|
it('renders without crashing', function () {
|
|
171
147
|
renderUi();
|
|
172
148
|
});
|
|
173
|
-
it('trigger add rows', function () {
|
|
174
|
-
var
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
149
|
+
it('trigger add rows', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
150
|
+
var addBtn;
|
|
151
|
+
return __generator(this, function (_a) {
|
|
152
|
+
switch (_a.label) {
|
|
153
|
+
case 0:
|
|
154
|
+
renderUi();
|
|
155
|
+
addBtn = react_1.screen.getByRole('button', { name: /button-add/i });
|
|
156
|
+
react_1.fireEvent.click(addBtn);
|
|
157
|
+
return [4 /*yield*/, (0, react_1.waitFor)(function () {
|
|
158
|
+
expect(react_1.screen.getAllByText('image')[0]).toBeInTheDocument();
|
|
159
|
+
})];
|
|
160
|
+
case 1:
|
|
161
|
+
_a.sent();
|
|
162
|
+
return [2 /*return*/];
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
}); });
|
|
166
|
+
it('trigger add Object Children', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
167
|
+
var addBtn;
|
|
168
|
+
return __generator(this, function (_a) {
|
|
169
|
+
switch (_a.label) {
|
|
170
|
+
case 0:
|
|
171
|
+
renderUi();
|
|
172
|
+
addBtn = react_1.screen.getAllByTitle('Common.Add');
|
|
173
|
+
addBtn.forEach(function (btn) {
|
|
174
|
+
react_1.fireEvent.click(btn);
|
|
175
|
+
});
|
|
176
|
+
return [4 /*yield*/, (0, react_1.waitFor)(function () {
|
|
177
|
+
expect(react_1.screen.getAllByText('image')[0]).toBeInTheDocument();
|
|
178
|
+
})];
|
|
179
|
+
case 1:
|
|
180
|
+
_a.sent();
|
|
181
|
+
return [2 /*return*/];
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}); });
|
|
181
185
|
it('trigger edit cell', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
182
|
-
var
|
|
186
|
+
var container, labelNameInput, fieldTypeInput;
|
|
183
187
|
return __generator(this, function (_a) {
|
|
184
188
|
switch (_a.label) {
|
|
185
189
|
case 0:
|
|
186
|
-
updateSpy = jest.spyOn(props, 'handleSetParameter');
|
|
187
190
|
container = renderUi().container;
|
|
188
|
-
labelNameInput = container.querySelector("input[name=\"labelName
|
|
189
|
-
fieldTypeInput = container.querySelector("input[name=\"fieldType
|
|
191
|
+
labelNameInput = container.querySelector("input[name=\"labelName-148961-148967s\"]");
|
|
192
|
+
fieldTypeInput = container.querySelector("input[name=\"fieldType-148961-148967s\"]");
|
|
190
193
|
react_1.fireEvent.change(labelNameInput, {
|
|
191
194
|
target: { value: 'fieldInput-change' },
|
|
192
195
|
});
|
|
193
196
|
react_1.fireEvent.change(fieldTypeInput, {
|
|
194
197
|
target: { value: 'video' },
|
|
195
198
|
});
|
|
199
|
+
// expect(screen.getAllByText('color')[0]).toBeInTheDocument()
|
|
196
200
|
return [4 /*yield*/, (0, react_1.waitFor)(function () {
|
|
197
|
-
expect(
|
|
201
|
+
expect(Utils.enhancedUpdate).toBeCalledTimes(3);
|
|
198
202
|
})];
|
|
199
203
|
case 1:
|
|
204
|
+
// expect(screen.getAllByText('color')[0]).toBeInTheDocument()
|
|
200
205
|
_a.sent();
|
|
201
206
|
return [2 /*return*/];
|
|
202
207
|
}
|
|
@@ -205,16 +210,22 @@ describe('Template Infomation Tab Component', function () {
|
|
|
205
210
|
it('Remove row', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
206
211
|
var removeBtn;
|
|
207
212
|
return __generator(this, function (_a) {
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
213
|
+
switch (_a.label) {
|
|
214
|
+
case 0:
|
|
215
|
+
renderUi();
|
|
216
|
+
removeBtn = react_1.screen.getAllByRole('button', {
|
|
217
|
+
name: /Common.Delete/i,
|
|
218
|
+
});
|
|
219
|
+
removeBtn.forEach(function (btn) {
|
|
220
|
+
react_1.fireEvent.click(btn);
|
|
221
|
+
});
|
|
222
|
+
return [4 /*yield*/, (0, react_1.waitFor)(function () {
|
|
223
|
+
expect(Utils.enhancedUpdate).toBeCalledTimes(2);
|
|
224
|
+
})];
|
|
225
|
+
case 1:
|
|
226
|
+
_a.sent();
|
|
227
|
+
return [2 /*return*/];
|
|
228
|
+
}
|
|
218
229
|
});
|
|
219
230
|
}); });
|
|
220
231
|
});
|
|
@@ -1,15 +1,36 @@
|
|
|
1
|
+
/// <reference types="lodash" />
|
|
1
2
|
import { ITemplateParameter } from '../../Types';
|
|
2
3
|
import { DataObject } from '../../../../AWING';
|
|
3
|
-
export
|
|
4
|
+
export interface IFlatParameter {
|
|
5
|
+
parentFieldType: string | undefined;
|
|
6
|
+
parentId: string[];
|
|
7
|
+
parentFieldName: string[];
|
|
8
|
+
errField: boolean;
|
|
9
|
+
shouldRemove: boolean;
|
|
10
|
+
id: string;
|
|
11
|
+
templateId: string;
|
|
12
|
+
fieldName: string;
|
|
13
|
+
fieldType: string;
|
|
14
|
+
defaultValue: string | number | boolean | null;
|
|
15
|
+
labelName: string;
|
|
16
|
+
isRequired: boolean;
|
|
17
|
+
childrens: IFlatParameter[];
|
|
18
|
+
isAdvanced: boolean;
|
|
19
|
+
}
|
|
20
|
+
export declare const FIELDS: {
|
|
4
21
|
CHILDRENS: string;
|
|
5
22
|
REMOVE: string;
|
|
6
23
|
FIELD_TYPE: string;
|
|
24
|
+
FIELD_NAME: string;
|
|
7
25
|
IS_REQUIRED: string;
|
|
8
26
|
IS_ADVANCED: string;
|
|
27
|
+
LABEL_NAME: string;
|
|
28
|
+
DEFAULT_VALUE: string;
|
|
29
|
+
PARENT_ID: string;
|
|
9
30
|
};
|
|
10
31
|
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[]) =>
|
|
32
|
+
export declare const flattenParameter4Parent: ((rows: DataObject[], parentFieldName?: string[]) => DataObject[]) & import("lodash").MemoizedFunction;
|
|
33
|
+
export declare const flattenParameter: ((parameters: DataObject[], parentId?: string[], parentFieldType?: string, parentFieldName?: string[]) => IFlatParameter[]) & import("lodash").MemoizedFunction;
|
|
13
34
|
export declare const enhancedFindIndex: (rows: DataObject[], ids: string[]) => number[];
|
|
14
35
|
/**
|
|
15
36
|
* function enhancedUpdate
|
|
@@ -22,4 +43,7 @@ export declare const enhancedFindIndex: (rows: DataObject[], ids: string[]) => n
|
|
|
22
43
|
* @param defaultParam
|
|
23
44
|
*/
|
|
24
45
|
export declare const enhancedUpdate: (rows: DataObject[], ids: string[], field: string, value: any, defaultParam: ITemplateParameter) => void;
|
|
25
|
-
|
|
46
|
+
/**
|
|
47
|
+
* viết type là DataObject thôi nhưng type của nó là:
|
|
48
|
+
*/
|
|
49
|
+
export declare const getFieldName: ((row: IFlatParameter) => string) & import("lodash").MemoizedFunction;
|
|
@@ -20,22 +20,26 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
20
20
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
21
|
};
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.
|
|
23
|
+
exports.getFieldName = exports.enhancedUpdate = exports.enhancedFindIndex = exports.flattenParameter = exports.flattenParameter4Parent = exports.removeFiledName = exports.FIELDS = void 0;
|
|
24
24
|
var Enum_1 = require("../../../../ACM-AXN/ViewTemplate/Enum");
|
|
25
25
|
var lodash_1 = require("lodash");
|
|
26
|
-
exports.
|
|
26
|
+
exports.FIELDS = {
|
|
27
27
|
CHILDRENS: 'childrens',
|
|
28
28
|
REMOVE: 'remove',
|
|
29
29
|
FIELD_TYPE: 'fieldType',
|
|
30
|
+
FIELD_NAME: 'fieldName',
|
|
30
31
|
IS_REQUIRED: 'isRequired',
|
|
31
32
|
IS_ADVANCED: 'isAdvanced',
|
|
33
|
+
LABEL_NAME: 'labelName',
|
|
34
|
+
DEFAULT_VALUE: 'defaultValue',
|
|
35
|
+
PARENT_ID: 'parentId',
|
|
32
36
|
};
|
|
33
37
|
var removeFiledName = function (templateParameters) { return templateParameters.map(function (item) {
|
|
34
38
|
var _a;
|
|
35
39
|
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
40
|
}); };
|
|
37
41
|
exports.removeFiledName = removeFiledName;
|
|
38
|
-
|
|
42
|
+
exports.flattenParameter4Parent = (0, lodash_1.memoize)(function (rows, parentFieldName) {
|
|
39
43
|
if (parentFieldName === void 0) { parentFieldName = []; }
|
|
40
44
|
parentFieldName = parentFieldName.filter(Boolean);
|
|
41
45
|
return rows
|
|
@@ -50,15 +54,14 @@ var flattenParameter4Parent = function (rows, parentFieldName) {
|
|
|
50
54
|
], false).flat()), true);
|
|
51
55
|
})
|
|
52
56
|
.flat();
|
|
53
|
-
};
|
|
54
|
-
exports.
|
|
55
|
-
var flattenParameter = function (parameters, parentId, parentFieldType, parentFieldName) {
|
|
57
|
+
});
|
|
58
|
+
exports.flattenParameter = (0, lodash_1.memoize)(function (parameters, parentId, parentFieldType, parentFieldName) {
|
|
56
59
|
if (parentId === void 0) { parentId = []; }
|
|
57
60
|
if (parentFieldName === void 0) { parentFieldName = []; }
|
|
58
61
|
var shouldRemove = parameters.length > 1;
|
|
59
62
|
return parameters
|
|
60
63
|
.map(function (item) {
|
|
61
|
-
var errField = !!parameters.find(function (el) { return el.id !== item.id && el.fieldName === item.fieldName; });
|
|
64
|
+
var errField = !!parameters.find(function (el) { return el.id !== item.id && el.fieldName === item.fieldName; }) || item.fieldName === '';
|
|
62
65
|
var childrens = __spreadArray([], item.childrens, true);
|
|
63
66
|
parentFieldName = parentFieldName.filter(function (field) { return field !== undefined; });
|
|
64
67
|
// delete item.childrens
|
|
@@ -69,9 +72,17 @@ var flattenParameter = function (parameters, parentId, parentFieldType, parentFi
|
|
|
69
72
|
item.fieldName,
|
|
70
73
|
], false).flat()), true);
|
|
71
74
|
})
|
|
72
|
-
.flat()
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
.flat().map(function (item) {
|
|
76
|
+
Object.keys(item).forEach(function (key) {
|
|
77
|
+
var value = item[key];
|
|
78
|
+
if (Array.isArray(value)) {
|
|
79
|
+
;
|
|
80
|
+
item[key] = value.filter(Boolean);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
return item;
|
|
84
|
+
});
|
|
85
|
+
});
|
|
75
86
|
var enhancedFindIndex = function (rows, ids) {
|
|
76
87
|
var indexs = [];
|
|
77
88
|
var index = (0, lodash_1.findIndex)(rows, { id: ids[0] });
|
|
@@ -102,14 +113,14 @@ var enhancedUpdate = function (rows, ids, field, value, defaultParam) {
|
|
|
102
113
|
}
|
|
103
114
|
else {
|
|
104
115
|
switch (field) {
|
|
105
|
-
case exports.
|
|
116
|
+
case exports.FIELDS.CHILDRENS:
|
|
106
117
|
rowsUpdate[indexs[turn]].childrens.push(value);
|
|
107
118
|
break;
|
|
108
|
-
case exports.
|
|
119
|
+
case exports.FIELDS.REMOVE: {
|
|
109
120
|
rowsUpdate.splice(indexs[turn], 1);
|
|
110
121
|
break;
|
|
111
122
|
}
|
|
112
|
-
case exports.
|
|
123
|
+
case exports.FIELDS.FIELD_TYPE: {
|
|
113
124
|
;
|
|
114
125
|
rowsUpdate[indexs[turn]][field] = value;
|
|
115
126
|
rowsUpdate[indexs[turn]].childrens = [];
|
|
@@ -134,5 +145,22 @@ var enhancedUpdate = function (rows, ids, field, value, defaultParam) {
|
|
|
134
145
|
}
|
|
135
146
|
};
|
|
136
147
|
exports.enhancedUpdate = enhancedUpdate;
|
|
137
|
-
|
|
138
|
-
|
|
148
|
+
/**
|
|
149
|
+
* viết type là DataObject thôi nhưng type của nó là:
|
|
150
|
+
*/
|
|
151
|
+
exports.getFieldName = (0, lodash_1.memoize)(function (row) {
|
|
152
|
+
var value = '';
|
|
153
|
+
var parentName = row.parentFieldName.length
|
|
154
|
+
? __spreadArray(__spreadArray([], row.parentFieldName, true), [''], false).join('.')
|
|
155
|
+
: '';
|
|
156
|
+
if (parentName.split('.').length === row.parentId.length) {
|
|
157
|
+
parentName += '.';
|
|
158
|
+
}
|
|
159
|
+
if (row.fieldName) {
|
|
160
|
+
value += parentName + row.fieldName;
|
|
161
|
+
}
|
|
162
|
+
if (row.parentId.length && !value.split('.').at(row.parentId.length)) {
|
|
163
|
+
value = parentName;
|
|
164
|
+
}
|
|
165
|
+
return value;
|
|
166
|
+
});
|
|
@@ -58,7 +58,7 @@ var TabFile_1 = __importDefault(require("../../../ACM-AXN/Page/CreateOrEdit/TabF
|
|
|
58
58
|
var enums_1 = require("../../../ACM-AXN/Page/enums");
|
|
59
59
|
var AWING_1 = require("../../../AWING");
|
|
60
60
|
var Wrapper_1 = __importDefault(require("../../../AWING/HOC/Wrapper"));
|
|
61
|
-
var immer_1 =
|
|
61
|
+
var immer_1 = require("immer");
|
|
62
62
|
var Router_1 = require("../../../AWING/Router");
|
|
63
63
|
var validation_1 = require("../../../AWING/ultis/validation");
|
|
64
64
|
var ClassicDrawer_1 = __importDefault(require("../../../Commons/Components/ClassicDrawer"));
|
|
@@ -90,6 +90,7 @@ var CreateOrEdit = function () {
|
|
|
90
90
|
var _e = (0, react_1.useState)([]), templateTypes = _e[0], setTemplateTypes = _e[1];
|
|
91
91
|
var _f = (0, recoil_1.useRecoilState)(Recoils_1.templateState), templateData = _f[0], setTemplateData = _f[1];
|
|
92
92
|
var confirmExit = (0, recoil_1.useRecoilValue)(Recoils_1.isEditState);
|
|
93
|
+
var isError = (0, recoil_1.useRecoilValue)(Recoils_1.isErrorParameterState);
|
|
93
94
|
var _g = (0, react_1.useState)('0'), value = _g[0], setValue = _g[1];
|
|
94
95
|
(0, react_1.useEffect)(function () {
|
|
95
96
|
setLoading(true);
|
|
@@ -104,7 +105,7 @@ var CreateOrEdit = function () {
|
|
|
104
105
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
105
106
|
}, []);
|
|
106
107
|
(0, react_1.useEffect)(function () {
|
|
107
|
-
setTemplateData((0, immer_1.
|
|
108
|
+
setTemplateData((0, immer_1.produce)(function (prev) {
|
|
108
109
|
var _a;
|
|
109
110
|
prev.template.directoryId =
|
|
110
111
|
prev.template.directoryId ||
|
|
@@ -152,7 +153,7 @@ var CreateOrEdit = function () {
|
|
|
152
153
|
var fetchTemplateData = function () {
|
|
153
154
|
if (templateId) {
|
|
154
155
|
return service.templatesGet(templateId).then(function (res) {
|
|
155
|
-
setTemplateData(__assign(__assign({}, res), { templateParameters: (0, Utils_1.removeFiledName)(res.templateParameters) }));
|
|
156
|
+
setTemplateData(__assign(__assign({}, res), { template: __assign(__assign({}, res.template), { pageCode: isNaN(Number(res.template.pageCode)) ? res.template.pageCode : Number(res.template.pageCode) ? 'lgn' : 'wlc' }), templateParameters: (0, Utils_1.removeFiledName)(res.templateParameters) }));
|
|
156
157
|
});
|
|
157
158
|
}
|
|
158
159
|
};
|
|
@@ -205,7 +206,10 @@ var CreateOrEdit = function () {
|
|
|
205
206
|
}
|
|
206
207
|
return service.templatesPost(data4Update);
|
|
207
208
|
};
|
|
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) ||
|
|
209
|
+
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) ||
|
|
210
|
+
!descriptionValid.valid ||
|
|
211
|
+
!confirmExit ||
|
|
212
|
+
isError, confirmExit: confirmExit, childrenWrapperStyle: { padding: 0 }, children: (0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, sx: {
|
|
209
213
|
display: 'flex',
|
|
210
214
|
flexDirection: 'column',
|
|
211
215
|
flexGrow: 1,
|