awing-library 2.1.11-beta → 2.1.11
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/README.md +4 -19
- package/lib/ACM-AXN/Campaign/Container.js +6 -7
- package/lib/ACM-AXN/Campaign/Container.test.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +3 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +22 -21
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.d.ts +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +79 -24
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdDetail.test.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +50 -6
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.d.ts +5 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +6 -18
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +7 -12
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/RetargetMacAddress/container.d.ts +1 -0
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/RetargetMacAddress/container.js +4 -12
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +16 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.test.js +1 -1
- package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +19 -3
- package/lib/ACM-AXN/Campaign/Types.d.ts +10 -0
- package/lib/ACM-AXN/Campaign/Utils.d.ts +8 -0
- package/lib/ACM-AXN/Campaign/Utils.js +22 -18
- package/lib/ACM-AXN/Campaign/index.js +3 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.d.ts +2 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +44 -42
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.d.ts +1 -1
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.js +38 -30
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.d.ts +2 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.js +2 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.d.ts +1 -1
- package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +4 -2
- package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +33 -3
- package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.d.ts +1 -1
- package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.js +81 -34
- package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.d.ts +1 -1
- package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.js +38 -29
- package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.d.ts +4 -0
- package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +58 -0
- package/lib/ACM-AXN/CampaignSchedule/Enum.d.ts +14 -2
- package/lib/ACM-AXN/CampaignSchedule/Enum.js +12 -0
- package/lib/ACM-AXN/CampaignSchedule/component.js +6 -5
- package/lib/ACM-AXN/CampaignSchedule/container.d.ts +1 -1
- package/lib/ACM-AXN/CampaignSchedule/container.js +100 -99
- package/lib/ACM-AXN/CampaignSchedule/interface.d.ts +16 -3
- package/lib/ACM-AXN/Directory/MenuDirectory/index.js +5 -6
- package/lib/ACM-AXN/Directory/SystemDirectory/index.js +6 -5
- package/lib/ACM-AXN/Directory/components/Permission/Management.js +7 -5
- package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.js +9 -7
- package/lib/ACM-AXN/Directory/function.d.ts +1 -0
- package/lib/ACM-AXN/Directory/function.js +15 -1
- package/lib/ACM-AXN/DomainPreview/PreviewButton.d.ts +15 -0
- package/lib/ACM-AXN/DomainPreview/PreviewButton.js +188 -0
- package/lib/ACM-AXN/DomainPreview/index.d.ts +7 -0
- package/lib/ACM-AXN/DomainPreview/index.js +10 -0
- package/lib/ACM-AXN/GroupUser/Constants.d.ts +7 -0
- package/lib/ACM-AXN/GroupUser/Constants.js +10 -0
- package/lib/ACM-AXN/GroupUser/Container.d.ts +2 -0
- package/lib/ACM-AXN/GroupUser/Container.js +55 -0
- package/lib/ACM-AXN/GroupUser/Container.test.d.ts +1 -0
- package/lib/ACM-AXN/GroupUser/Container.test.js +210 -0
- package/lib/ACM-AXN/GroupUser/CreateOrEdit.d.ts +3 -0
- package/lib/ACM-AXN/GroupUser/CreateOrEdit.js +91 -0
- package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.d.ts +1 -0
- package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.js +235 -0
- package/lib/ACM-AXN/GroupUser/Hooks.d.ts +5 -0
- package/lib/ACM-AXN/GroupUser/Hooks.js +13 -0
- package/lib/ACM-AXN/GroupUser/Types.d.ts +31 -0
- package/lib/ACM-AXN/GroupUser/Types.js +2 -0
- package/lib/ACM-AXN/GroupUser/User/SearchUser.d.ts +9 -0
- package/lib/ACM-AXN/GroupUser/User/SearchUser.js +63 -0
- package/lib/ACM-AXN/GroupUser/User/SearchUser.test.d.ts +1 -0
- package/lib/ACM-AXN/GroupUser/User/SearchUser.test.js +140 -0
- package/lib/ACM-AXN/GroupUser/User/UserComponent.d.ts +8 -0
- package/lib/ACM-AXN/GroupUser/User/UserComponent.js +77 -0
- package/lib/ACM-AXN/GroupUser/User/UserComponent.test.d.ts +1 -0
- package/lib/ACM-AXN/GroupUser/User/UserComponent.test.js +128 -0
- package/lib/ACM-AXN/GroupUser/index.d.ts +4 -0
- package/lib/ACM-AXN/GroupUser/index.js +27 -0
- package/lib/ACM-AXN/Notifications/Constant.d.ts +146 -0
- package/lib/ACM-AXN/Notifications/Constant.js +136 -0
- package/lib/ACM-AXN/Notifications/Context.d.ts +8 -0
- package/lib/ACM-AXN/Notifications/Context.js +10 -0
- package/lib/ACM-AXN/Notifications/Hooks.d.ts +7 -0
- package/lib/ACM-AXN/Notifications/Hooks.js +17 -0
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.d.ts +3 -3
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.js +31 -30
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.d.ts +1 -1
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.js +30 -39
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.d.ts +3 -5
- package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.js +18 -17
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.d.ts +1 -1
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.js +15 -15
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.d.ts +0 -6
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.js +29 -28
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.d.ts +10 -0
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.js +393 -0
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.d.ts +1 -1
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.js +3 -3
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.d.ts +0 -6
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.js +38 -48
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.d.ts +2 -2
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.js +36 -35
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.d.ts +0 -6
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.js +65 -73
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.d.ts +4 -11
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.js +46 -36
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.d.ts +0 -6
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.js +56 -50
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationLoading.js +30 -30
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.d.ts +3 -15
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.js +35 -4
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.d.ts +0 -6
- package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.js +88 -83
- package/lib/ACM-AXN/Notifications/NotificationDetail/index.d.ts +5 -2
- package/lib/ACM-AXN/Notifications/NotificationDetail/index.js +115 -101
- package/lib/ACM-AXN/Notifications/{NotificationPopover.d.ts → NotificationPopover/Container.d.ts} +2 -2
- package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +149 -0
- package/lib/ACM-AXN/Notifications/{NotificationPopover.test.d.ts → NotificationPopover/Container.test.d.ts} +1 -1
- package/lib/ACM-AXN/Notifications/{NotificationPopover.test.js → NotificationPopover/Container.test.js} +5 -5
- package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +8 -0
- package/lib/ACM-AXN/Notifications/NotificationPopover/index.js +13 -0
- package/lib/ACM-AXN/Notifications/NotificationScreen.d.ts +1 -1
- package/lib/ACM-AXN/Notifications/NotificationScreen.js +4 -4
- package/lib/ACM-AXN/Notifications/Types.d.ts +242 -0
- package/lib/ACM-AXN/Notifications/Types.js +290 -0
- package/lib/ACM-AXN/Notifications/index.d.ts +2 -2
- package/lib/ACM-AXN/Notifications/index.js +5 -5
- package/lib/ACM-AXN/Page/Container.js +101 -63
- package/lib/ACM-AXN/Page/CreateOrEdit/DrawerAction.js +22 -5
- package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +1 -0
- package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +5 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +1 -1
- package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +10 -4
- package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +1 -1
- package/lib/ACM-AXN/Page/Types.d.ts +8 -0
- package/lib/ACM-AXN/Page/index.js +2 -1
- package/lib/ACM-AXN/Permission/Components/Management.test.js +1 -1
- package/lib/ACM-AXN/PlaceGroup/Context.d.ts +1 -1
- package/lib/ACM-AXN/Statistics/ControlPanel.js +53 -45
- package/lib/ACM-AXN/Statistics/Enums.d.ts +1 -0
- package/lib/ACM-AXN/Statistics/Enums.js +1 -0
- package/lib/ACM-AXN/Statistics/container.js +1 -1
- package/lib/ACM-AXN/StatisticsAudienceDemographic/container.d.ts +1 -1
- package/lib/ACM-AXN/StatisticsAudienceDemographic/container.js +2 -3
- package/lib/ACM-AXN/StatisticsAudienceDemographic/interfaces.d.ts +1 -0
- package/lib/ACM-AXN/StatisticsByProvince/container.d.ts +1 -1
- package/lib/ACM-AXN/StatisticsByProvince/container.js +2 -2
- package/lib/ACM-AXN/TaskScheduler/Container.js +1 -1
- package/lib/ACM-AXN/User/Add.d.ts +2 -0
- package/lib/ACM-AXN/User/Add.js +64 -0
- package/lib/ACM-AXN/User/Add.test.d.ts +1 -0
- package/lib/ACM-AXN/User/Add.test.js +115 -0
- package/lib/ACM-AXN/User/Constants.d.ts +2 -0
- package/lib/ACM-AXN/User/Constants.js +5 -0
- package/lib/ACM-AXN/User/Container.d.ts +2 -0
- package/lib/ACM-AXN/User/Container.js +60 -0
- package/lib/ACM-AXN/User/Container.test.d.ts +1 -0
- package/lib/ACM-AXN/User/Container.test.js +202 -0
- package/lib/ACM-AXN/User/Hook.d.ts +5 -0
- package/lib/ACM-AXN/User/Hook.js +13 -0
- package/lib/ACM-AXN/User/Types.d.ts +45 -0
- package/lib/ACM-AXN/User/Types.js +2 -0
- package/lib/ACM-AXN/User/index.d.ts +4 -0
- package/lib/ACM-AXN/User/index.js +18 -0
- package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +1 -1
- package/lib/AWING/AdvancedSearch/component.js +1 -1
- package/lib/AWING/AdvancedSearch/interface.d.ts +1 -0
- package/lib/AWING/ButtonDateRangePicker/ButtonDateRangePicker.js +2 -2
- package/lib/AWING/ButtonDateRangePicker/interface.d.ts +1 -0
- package/lib/AWING/Chart/PieComponent.d.ts +1 -1
- package/lib/AWING/Chart/PieComponent.js +0 -1
- package/lib/AWING/Chart/index.d.ts +3 -0
- package/lib/AWING/Chart/index.js +10 -0
- package/lib/AWING/DataForm/DataInput.js +17 -8
- package/lib/AWING/DataForm/interface.d.ts +6 -2
- package/lib/AWING/DataGrid/index.js +4 -1
- package/lib/AWING/DataGrid/interface.d.ts +6 -1
- package/lib/AWING/Directory/CreateDirectory.d.ts +3 -0
- package/lib/AWING/Directory/CreateDirectory.js +27 -10
- package/lib/AWING/index.d.ts +1 -0
- package/lib/AWING/index.js +1 -0
- package/lib/AWING/ultis/validation.d.ts +1 -1
- package/lib/AWING/ultis/validation.js +3 -3
- package/lib/Commons/Components/ClassicBaseDrawer.d.ts +1 -0
- package/lib/Commons/Components/ClassicBaseDrawer.js +7 -3
- package/lib/translate/en/translation.json +81 -2
- package/lib/translate/vi/translation.json +81 -2
- package/package.json +4 -2
- package/lib/ACM-AXN/Notifications/NotificationDetail/Common.d.ts +0 -39
- package/lib/ACM-AXN/Notifications/NotificationDetail/Common.js +0 -304
- package/lib/ACM-AXN/Notifications/NotificationPopover.js +0 -69
package/README.md
CHANGED
|
@@ -35,32 +35,17 @@ yarn build
|
|
|
35
35
|
- Step 2: Tạo link thư viện
|
|
36
36
|
|
|
37
37
|
```shell
|
|
38
|
+
yarn build
|
|
38
39
|
yarn link
|
|
39
|
-
```
|
|
40
|
-
- Tạo Link react
|
|
41
|
-
|
|
42
|
-
```shell
|
|
43
40
|
cd node_modules/react
|
|
44
41
|
yarn link
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
- Tạo Link react-dom
|
|
48
|
-
|
|
49
|
-
```shell
|
|
42
|
+
cd ../..
|
|
50
43
|
cd node_modules/react-dom
|
|
51
44
|
yarn link
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
- Tạo Link @mui/material
|
|
55
|
-
|
|
56
|
-
```shell
|
|
45
|
+
cd ../..
|
|
57
46
|
cd node_modules/@mui/material
|
|
58
47
|
yarn link
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
- Tạo Link @mui/styles
|
|
62
|
-
|
|
63
|
-
```shell
|
|
48
|
+
cd ../../..
|
|
64
49
|
cd node_modules/@mui/styles
|
|
65
50
|
yarn link
|
|
66
51
|
```
|
|
@@ -49,7 +49,7 @@ var CampaignContainer = function () {
|
|
|
49
49
|
var _c = (0, react_1.useState)([]), directories = _c[0], setDirectories = _c[1];
|
|
50
50
|
var _d = (0, react_1.useState)([]), collapseIds = _d[0], setCollapseId = _d[1];
|
|
51
51
|
var _e = (0, react_1.useState)(), listCampaign = _e[0], setListCampaign = _e[1];
|
|
52
|
-
var _f = (0, react_1.useState)(
|
|
52
|
+
var _f = (0, react_1.useState)(true), loading = _f[0], setLoading = _f[1];
|
|
53
53
|
(0, react_1.useEffect)(function () {
|
|
54
54
|
if (location.pathname.endsWith(Constant_1.Constants.CAMPAIGN_PATH)) {
|
|
55
55
|
fetchDirectories();
|
|
@@ -256,20 +256,19 @@ var CampaignContainer = function () {
|
|
|
256
256
|
},
|
|
257
257
|
{
|
|
258
258
|
field: 'booking',
|
|
259
|
-
headerName: t('Campaign.BookingText'),
|
|
259
|
+
headerName: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { width: '150px', textAlign: 'right' }, children: t('Campaign.BookingText') }),
|
|
260
260
|
valueGetter: function (row) {
|
|
261
261
|
var _a;
|
|
262
|
+
var text = '';
|
|
262
263
|
if ((_a = row === null || row === void 0 ? void 0 : row.campaign) === null || _a === void 0 ? void 0 : _a.id) {
|
|
263
|
-
|
|
264
|
+
text = (0, Utils_1.getTotalBooking)(row === null || row === void 0 ? void 0 : row.campaignGroups);
|
|
264
265
|
}
|
|
265
266
|
else {
|
|
266
|
-
|
|
267
|
+
text = (0, Utils_1.checkPriority)(row.campaignGroup.priority, Types_1.CampaignPriority.ClassB)
|
|
267
268
|
? (0, Helpers_1.roundDecimalNumber)(row.campaignGroup.bookingAmount)
|
|
268
269
|
: 'N/A';
|
|
269
270
|
}
|
|
270
|
-
|
|
271
|
-
TableCellProps: {
|
|
272
|
-
align: 'right',
|
|
271
|
+
return (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { width: '150px', textAlign: 'right' }, children: text });
|
|
273
272
|
},
|
|
274
273
|
},
|
|
275
274
|
], rows: (0, Utils_1.formatListCampaign)(listCampaign === null || listCampaign === void 0 ? void 0 : listCampaign.items, collapseIds) || [], rowActions: [
|
|
@@ -244,7 +244,7 @@ jest.mock('CustomHooks/useAppHelper', function () { return ({
|
|
|
244
244
|
}); },
|
|
245
245
|
}); });
|
|
246
246
|
// Mock PageManagement
|
|
247
|
-
jest.mock('
|
|
247
|
+
jest.mock('AWING/PageManagement', function () { return ({
|
|
248
248
|
PageManagement: function (props) {
|
|
249
249
|
return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("button", { "data-testid": "onChangeQueryInput", onClick: function () {
|
|
250
250
|
props.onChangeQueryInput({
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { CampaignModel, Directory, CampaignGroupModel } from '../Types';
|
|
1
|
+
import { CampaignModel, Directory, CampaignGroupModel, Attribute } from '../Types';
|
|
2
2
|
import { WeightContainerProps } from './TabSubCampaign/Weight';
|
|
3
3
|
export declare const directoriesState: import("recoil").RecoilState<Directory[]>;
|
|
4
|
+
export declare const attributesState: import("recoil").RecoilState<Attribute[]>;
|
|
4
5
|
export declare const isCreateState: import("recoil").RecoilState<boolean>;
|
|
5
6
|
/**
|
|
6
7
|
* Đánh dấu việc cần xác nhận lại trước khi đóng (set thành true khi có bất kỳ chỉnh sửa campaign nào)
|
|
@@ -17,6 +18,7 @@ export declare const campaignState: import("recoil").RecoilState<import("../Type
|
|
|
17
18
|
/**
|
|
18
19
|
* State lưu thông tin của CampaignAttributes
|
|
19
20
|
*/
|
|
21
|
+
export declare const campaignAttributesState: import("recoil").RecoilState<import("../Types").CampaignAttribute[]>;
|
|
20
22
|
/**
|
|
21
23
|
* State lưu thông tin của chiến dịch con
|
|
22
24
|
*/
|
|
@@ -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.weightState = exports.readyForSubmitState = exports.tabPartnerValidState = exports.tabSubCampaignValidState = exports.tabInfomationValidState = exports.campaignPartnerState = exports.campaignGroupsState = exports.campaignState = exports.campaignModelState = exports.confirmExitState = exports.isCreateState = exports.directoriesState = void 0;
|
|
14
|
+
exports.weightState = exports.readyForSubmitState = exports.tabPartnerValidState = exports.tabSubCampaignValidState = exports.tabInfomationValidState = exports.campaignPartnerState = exports.campaignGroupsState = exports.campaignAttributesState = exports.campaignState = exports.campaignModelState = exports.confirmExitState = exports.isCreateState = exports.attributesState = exports.directoriesState = void 0;
|
|
15
15
|
var recoil_1 = require("recoil");
|
|
16
16
|
var Types_1 = require("../Types");
|
|
17
17
|
var Utils_1 = require("../Utils");
|
|
@@ -20,6 +20,10 @@ exports.directoriesState = (0, recoil_1.atom)({
|
|
|
20
20
|
key: 'DirectoriesCampaignState',
|
|
21
21
|
default: [],
|
|
22
22
|
});
|
|
23
|
+
exports.attributesState = (0, recoil_1.atom)({
|
|
24
|
+
key: 'attributesState',
|
|
25
|
+
default: [],
|
|
26
|
+
});
|
|
23
27
|
exports.isCreateState = (0, recoil_1.atom)({
|
|
24
28
|
key: 'isCreateState',
|
|
25
29
|
default: false,
|
|
@@ -82,25 +86,22 @@ exports.campaignState = (0, recoil_1.selector)({
|
|
|
82
86
|
/**
|
|
83
87
|
* State lưu thông tin của CampaignAttributes
|
|
84
88
|
*/
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
// set(confirmExitState, true);
|
|
102
|
-
// }
|
|
103
|
-
// })
|
|
89
|
+
exports.campaignAttributesState = (0, recoil_1.selector)({
|
|
90
|
+
key: 'campaignAttributes',
|
|
91
|
+
get: function (_a) {
|
|
92
|
+
var get = _a.get;
|
|
93
|
+
var campaignModel = get(exports.campaignModelState);
|
|
94
|
+
return campaignModel.campaignAttributes;
|
|
95
|
+
},
|
|
96
|
+
set: function (_a, campaignAttributes) {
|
|
97
|
+
var set = _a.set, get = _a.get;
|
|
98
|
+
var campaignModel = get(exports.campaignModelState);
|
|
99
|
+
set(exports.campaignModelState, campaignAttributes instanceof recoil_1.DefaultValue ?
|
|
100
|
+
campaignAttributes : __assign(__assign({}, campaignModel), { campaignAttributes: campaignAttributes }));
|
|
101
|
+
if (!get(exports.confirmExitState) && Array.isArray(campaignAttributes) && !!campaignAttributes.at(-1))
|
|
102
|
+
set(exports.confirmExitState, true);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
104
105
|
/**
|
|
105
106
|
* State lưu thông tin của chiến dịch con
|
|
106
107
|
*/
|
|
@@ -151,7 +152,7 @@ exports.tabInfomationValidState = (0, recoil_1.atom)({
|
|
|
151
152
|
get: function (_a) {
|
|
152
153
|
var get = _a.get;
|
|
153
154
|
var campaignModel = get(exports.campaignModelState);
|
|
154
|
-
return (0, Utils_1.tabInfomationValid)(campaignModel.campaign, campaignModel.campaignAttributes
|
|
155
|
+
return (0, Utils_1.tabInfomationValid)(campaignModel.campaign, campaignModel.campaignAttributes);
|
|
155
156
|
},
|
|
156
157
|
}),
|
|
157
158
|
});
|
|
@@ -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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
37
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
38
|
};
|
|
@@ -18,14 +41,18 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
18
41
|
var material_1 = require("@mui/material");
|
|
19
42
|
var immer_1 = __importDefault(require("immer"));
|
|
20
43
|
var lodash_1 = require("lodash");
|
|
21
|
-
var react_1 = require("react");
|
|
44
|
+
var react_1 = __importStar(require("react"));
|
|
22
45
|
var react_i18next_1 = require("react-i18next");
|
|
23
46
|
var recoil_1 = require("recoil");
|
|
24
47
|
var AWING_1 = require("../../../AWING");
|
|
25
48
|
var Recoils_1 = require("./Recoils");
|
|
49
|
+
var Hooks_1 = __importDefault(require("../Hooks"));
|
|
26
50
|
var Infomation = function () {
|
|
51
|
+
var service = (0, Hooks_1.default)().service;
|
|
27
52
|
var directories = (0, recoil_1.useRecoilValue)(Recoils_1.directoriesState);
|
|
53
|
+
var attributes = (0, recoil_1.useRecoilValue)(Recoils_1.attributesState);
|
|
28
54
|
var _a = (0, recoil_1.useRecoilState)(Recoils_1.campaignState), campaign = _a[0], setCampaign = _a[1];
|
|
55
|
+
var _b = (0, recoil_1.useRecoilState)(Recoils_1.campaignAttributesState), campaignAttributes = _b[0], setCampaignAttributes = _b[1];
|
|
29
56
|
var setCampaignModel = (0, recoil_1.useSetRecoilState)(Recoils_1.campaignModelState);
|
|
30
57
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
31
58
|
(0, react_1.useEffect)(function () {
|
|
@@ -37,36 +64,64 @@ var Infomation = function () {
|
|
|
37
64
|
}
|
|
38
65
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
39
66
|
}, [directories]);
|
|
40
|
-
|
|
41
|
-
if (!
|
|
42
|
-
|
|
67
|
+
(0, react_1.useEffect)(function () {
|
|
68
|
+
if (!service.attributesGetByObjectTypeCode) {
|
|
69
|
+
setCampaignAttributes([""]);
|
|
70
|
+
}
|
|
71
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
72
|
+
}, [service]);
|
|
73
|
+
var handleUpdate = (0, react_1.useCallback)(function (obj, formValid, fieldUpdate) {
|
|
74
|
+
if (fieldUpdate) {
|
|
75
|
+
if (fieldUpdate === 'attributeIds') {
|
|
76
|
+
setCampaignAttributes(obj['attributeIds'].map(function (item) { return ({ attributeId: item }); }));
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
setCampaign(function (prev) { return (__assign(__assign({}, prev), obj)); });
|
|
80
|
+
}
|
|
43
81
|
}
|
|
44
82
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
45
83
|
}, []);
|
|
84
|
+
var fieldDefine = react_1.default.useMemo(function () {
|
|
85
|
+
var fields = [
|
|
86
|
+
{
|
|
87
|
+
fieldName: 'directoryId',
|
|
88
|
+
type: 'select',
|
|
89
|
+
label: t('Common.Directory'),
|
|
90
|
+
required: true,
|
|
91
|
+
options: directories.map(function (directory) { return ({
|
|
92
|
+
value: directory.directoryId,
|
|
93
|
+
text: directory.name,
|
|
94
|
+
level: directory.level,
|
|
95
|
+
}); }),
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
length: 200,
|
|
99
|
+
fieldName: 'name',
|
|
100
|
+
type: 'text',
|
|
101
|
+
label: t('Campaign.Name'),
|
|
102
|
+
required: true,
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
if (attributes.length) {
|
|
106
|
+
fields.push({
|
|
107
|
+
fieldName: 'attributeIds',
|
|
108
|
+
type: 'autocomplete',
|
|
109
|
+
multiple: true,
|
|
110
|
+
label: t('Campaign.Attributes'),
|
|
111
|
+
required: true,
|
|
112
|
+
options: attributes.map(function (attribute) { return ({
|
|
113
|
+
value: attribute.id,
|
|
114
|
+
text: attribute.name,
|
|
115
|
+
}); }),
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
return fields;
|
|
119
|
+
}, [attributes, directories, t]);
|
|
46
120
|
return ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
|
|
47
121
|
'&>div': {
|
|
48
122
|
padding: 0,
|
|
49
123
|
boxShadow: 'none',
|
|
50
124
|
},
|
|
51
|
-
}, children: (0, jsx_runtime_1.jsx)(AWING_1.DataForm, { fields:
|
|
52
|
-
{
|
|
53
|
-
fieldName: 'directoryId',
|
|
54
|
-
type: 'select',
|
|
55
|
-
label: t('Common.Directory'),
|
|
56
|
-
required: true,
|
|
57
|
-
options: directories.map(function (directory) { return ({
|
|
58
|
-
value: directory.directoryId,
|
|
59
|
-
text: directory.name,
|
|
60
|
-
level: directory.level,
|
|
61
|
-
}); }),
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
length: 200,
|
|
65
|
-
fieldName: 'name',
|
|
66
|
-
type: 'text',
|
|
67
|
-
label: t('Campaign.Name'),
|
|
68
|
-
required: true,
|
|
69
|
-
},
|
|
70
|
-
], checkAllRequiredFields: !(campaign.directoryId && campaign.name), oldValue: campaign, onUpdate: handleUpdate }) }));
|
|
125
|
+
}, children: (0, jsx_runtime_1.jsx)(AWING_1.DataForm, { fields: fieldDefine, checkAllRequiredFields: !(campaign.directoryId && campaign.name), oldValue: __assign(__assign({}, campaign), { attributeIds: campaignAttributes.map(function (item) { return item.attributeId; }) }), onUpdate: handleUpdate }) }));
|
|
71
126
|
};
|
|
72
127
|
exports.default = Infomation;
|
|
@@ -16,7 +16,7 @@ function MockComponent(props) {
|
|
|
16
16
|
// const MockComponentFactory = (name: string) => () => (props: any) => <div><div/>
|
|
17
17
|
jest.mock('Features/PlaceFilter', function () { return MockComponent; });
|
|
18
18
|
jest.mock("Components/Typescript/AsynchronousAutocomplete", function () { return MockComponent; });
|
|
19
|
-
jest.mock("
|
|
19
|
+
jest.mock("AWING/DateRangePicker", function () { return MockComponent; });
|
|
20
20
|
jest.mock('Services/DirectoryPermission', function () { return ({
|
|
21
21
|
getByObjectTypeCode: function () { return new Promise(function (resolve) {
|
|
22
22
|
resolve({
|
|
@@ -60,6 +60,9 @@ var Utils_1 = require("../../Utils");
|
|
|
60
60
|
var Helpers_1 = require("../../../../Utils/Helpers");
|
|
61
61
|
var Context_1 = require("../../../../Context");
|
|
62
62
|
var Recoils_1 = require("../Recoils");
|
|
63
|
+
var DomainPreview_1 = __importDefault(require("../../../../ACM-AXN/DomainPreview"));
|
|
64
|
+
var Constant_1 = require("../../../../ACM-AXN/Campaign/Constant");
|
|
65
|
+
var PreviewButton_1 = __importDefault(require("../../../../ACM-AXN/DomainPreview/PreviewButton"));
|
|
63
66
|
function AdList(props) {
|
|
64
67
|
var onCreate = props.onCreate, onChange = props.onChange, onDelete = props.onDelete, onAdsValidChange = props.onAdsValidChange;
|
|
65
68
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
@@ -70,11 +73,18 @@ function AdList(props) {
|
|
|
70
73
|
var _c = (0, recoil_1.useRecoilState)(atoms_1.adOpenState), adOpen = _c[0], setAdOpen = _c[1];
|
|
71
74
|
var copiedAd = (0, recoil_1.useRecoilValue)(atoms_1.copiedAdState);
|
|
72
75
|
var hasClassC = (0, recoil_1.useRecoilValue)((0, atoms_1.checkGroupsClassCState)(adSelected.map(function (x) { return x.subCampaignId; })));
|
|
76
|
+
var _d = (0, react_1.useState)({
|
|
77
|
+
welcomeId: '',
|
|
78
|
+
loginId: '',
|
|
79
|
+
domainIds: [],
|
|
80
|
+
}), previewId = _d[0], setPreviewId = _d[1];
|
|
81
|
+
var _e = react_1.default.useState(), anchorEl = _e[0], setAnchorEl = _e[1];
|
|
82
|
+
var open = Boolean(anchorEl);
|
|
73
83
|
// valid theo cấu trúc { [campaignGroupId]: { [adId]: boolean } }
|
|
74
|
-
var
|
|
75
|
-
var
|
|
76
|
-
var
|
|
77
|
-
var
|
|
84
|
+
var _f = (0, react_1.useState)({}), adsValid = _f[0], setAdsValid = _f[1];
|
|
85
|
+
var _g = (0, react_1.useState)(false), isAdvancedDrawerOpen = _g[0], setIsAdvancedDrawerOpen = _g[1];
|
|
86
|
+
var _h = (0, recoil_1.useRecoilState)(Recoils_1.weightState), weightProps = _h[0], setWeightState = _h[1];
|
|
87
|
+
var _j = (0, react_1.useState)(false), isMultiEditDrawerOpen = _j[0], setIsMultiEditDrawerOpen = _j[1];
|
|
78
88
|
(0, react_1.useEffect)(function () {
|
|
79
89
|
var newAdValid = {};
|
|
80
90
|
ads.forEach(function (ad) {
|
|
@@ -219,6 +229,33 @@ function AdList(props) {
|
|
|
219
229
|
advanced: t('Campaign.Advanced'),
|
|
220
230
|
delete: t('Common.Delete'),
|
|
221
231
|
};
|
|
232
|
+
/**
|
|
233
|
+
* Hàm khi xem preview
|
|
234
|
+
*/
|
|
235
|
+
var handlePreview = function (e, ad, doaminId) {
|
|
236
|
+
e.stopPropagation();
|
|
237
|
+
var url = "".concat(Constant_1.Constants.CAPTIVE_DOMAIN, "/").concat(Constant_1.Constants.PAGE_LOGIN_PREVIEW, "?loginId=").concat(ad.loginId, "&isNetworkCampaign=false");
|
|
238
|
+
if (ad.welcomeId.length)
|
|
239
|
+
url += "&welcomeId=".concat(ad.welcomeId);
|
|
240
|
+
if (doaminId)
|
|
241
|
+
url += "&doaminId=".concat(doaminId);
|
|
242
|
+
window.open(url, '_blank');
|
|
243
|
+
};
|
|
244
|
+
var handlePreviewPage = function (e, ad) {
|
|
245
|
+
var _a, _b;
|
|
246
|
+
e.stopPropagation();
|
|
247
|
+
setPreviewId({
|
|
248
|
+
welcomeId: ad.welcomeId,
|
|
249
|
+
loginId: ad.loginId,
|
|
250
|
+
domainIds: (_b = (_a = ad.places) === null || _a === void 0 ? void 0 : _a.map(function (x) { return x.domainId; })) !== null && _b !== void 0 ? _b : [],
|
|
251
|
+
});
|
|
252
|
+
setAnchorEl(e.currentTarget);
|
|
253
|
+
};
|
|
254
|
+
var handlePreviewClose = function (event) {
|
|
255
|
+
event.stopPropagation();
|
|
256
|
+
setPreviewId({});
|
|
257
|
+
setAnchorEl(null);
|
|
258
|
+
};
|
|
222
259
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [weightProps.isOpen && ((0, jsx_runtime_1.jsx)(Weight_1.default, {})), (0, jsx_runtime_1.jsxs)(material_1.TableContainer, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h4", sx: {
|
|
223
260
|
padding: function (theme) { return theme.spacing(2); },
|
|
224
261
|
fontSize: '16px!important',
|
|
@@ -261,6 +298,7 @@ function AdList(props) {
|
|
|
261
298
|
}, onChange: handleMultiUpdate })), (0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: translationText.delete, children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: function () {
|
|
262
299
|
return handleMultiDelete(adSelected);
|
|
263
300
|
}, "aria-label": "delete", children: (0, jsx_runtime_1.jsx)(Delete_1.default, { fontSize: "small" }) }) })] })), (0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", children: onCreate && ((0, jsx_runtime_1.jsxs)(material_1.ButtonGroup, { variant: "outlined", color: "error", children: [(0, jsx_runtime_1.jsx)(material_1.Button, { startIcon: (0, jsx_runtime_1.jsx)(Add_1.default, {}), onClick: function () { return handleAddAd(); }, children: t('Common.Create') }), copiedAd !== undefined && ((0, jsx_runtime_1.jsx)(material_1.Button, { size: "small", "aria-label": "paste", onClick: function () { return handleAddAd(true); }, children: (0, jsx_runtime_1.jsx)(Assignment_1.default, {}) }))] })) })] }) }), (0, jsx_runtime_1.jsx)(material_1.TableBody, { children: ads.map(function (ad, idx) {
|
|
301
|
+
var _a;
|
|
264
302
|
var isOpen = adOpen !== undefined &&
|
|
265
303
|
adOpen.adId === ad.id &&
|
|
266
304
|
adOpen.subCampaignId === ad.campaignGroupId;
|
|
@@ -270,7 +308,9 @@ function AdList(props) {
|
|
|
270
308
|
};
|
|
271
309
|
return ((0, jsx_runtime_1.jsx)(AdRow_1.default, { ad: ad, onChange: function (adSetStateAction) {
|
|
272
310
|
return onChange([adDefine], adSetStateAction);
|
|
273
|
-
},
|
|
311
|
+
}, previewButton: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { "aria-label": "preview", onClick: function (e) {
|
|
312
|
+
handlePreview(e, ad);
|
|
313
|
+
}, disabled: !((_a = ad.loginId) === null || _a === void 0 ? void 0 : _a.length), sx: { borderRadius: '15%' }, children: (0, jsx_runtime_1.jsx)(DomainPreview_1.default, { handlePreviewPage: function (e) { return handlePreviewPage(e, ad); }, isSelectDomain: Boolean(service.domainsGetAll) }) }) }), onChangeStatus: function (status) {
|
|
274
314
|
return handleChangeAdStatus(ad, status);
|
|
275
315
|
}, onDelete: function () {
|
|
276
316
|
return handleMultiDelete([adDefine]);
|
|
@@ -302,6 +342,10 @@ function AdList(props) {
|
|
|
302
342
|
]);
|
|
303
343
|
});
|
|
304
344
|
} }, idx));
|
|
305
|
-
}) })] })] })
|
|
345
|
+
}) })] })] }), open &&
|
|
346
|
+
(0, jsx_runtime_1.jsx)(PreviewButton_1.default, { anchorEl: anchorEl, open: open, domainIds: previewId.domainIds, handlePreviewClose: handlePreviewClose, handlePreviewDomain: function (event, domainId) {
|
|
347
|
+
handlePreview(event, ads.find(function (x) { return x.loginId === previewId.loginId; }), domainId);
|
|
348
|
+
// handlePreview(previewId, domainId)
|
|
349
|
+
}, service: service })] }));
|
|
306
350
|
}
|
|
307
351
|
exports.default = AdList;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { AdDetailProps } from './AdDetail';
|
|
2
3
|
type AdRowProps = AdDetailProps & {
|
|
3
4
|
/**
|
|
@@ -24,6 +25,10 @@ type AdRowProps = AdDetailProps & {
|
|
|
24
25
|
* Trạng thái lỗi hay không của quảng cáo
|
|
25
26
|
*/
|
|
26
27
|
error?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Preview Button
|
|
30
|
+
*/
|
|
31
|
+
previewButton: React.ReactNode;
|
|
27
32
|
};
|
|
28
33
|
export default function AdRow(props: AdRowProps): import("react/jsx-runtime").JSX.Element;
|
|
29
34
|
export {};
|
|
@@ -62,7 +62,6 @@ var react_1 = __importStar(require("react"));
|
|
|
62
62
|
var react_i18next_1 = require("react-i18next");
|
|
63
63
|
var recoil_1 = require("recoil");
|
|
64
64
|
var material_1 = require("@mui/material");
|
|
65
|
-
var Visibility_1 = __importDefault(require("@mui/icons-material/Visibility"));
|
|
66
65
|
var KeyboardArrowDown_1 = __importDefault(require("@mui/icons-material/KeyboardArrowDown"));
|
|
67
66
|
var KeyboardArrowUp_1 = __importDefault(require("@mui/icons-material/KeyboardArrowUp"));
|
|
68
67
|
var CheckCircle_1 = __importDefault(require("@mui/icons-material/CheckCircle"));
|
|
@@ -87,27 +86,16 @@ var AWING_1 = require("../../../../AWING");
|
|
|
87
86
|
var Constant_1 = require("../../Constant");
|
|
88
87
|
var Recoils_1 = require("../Recoils");
|
|
89
88
|
function AdRow(props) {
|
|
90
|
-
var _a, _b, _c, _d
|
|
89
|
+
var _a, _b, _c, _d;
|
|
91
90
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
92
|
-
var ad = props.ad, onChange = props.onChange, onDelete = props.onDelete, open = props.open, onToggle = props.onToggle, isSelected = props.isSelected, onCheck = props.onCheck, error = props.error, other = __rest(props, ["ad", "onChange", "onDelete", "open", "onToggle", "isSelected", "onCheck", "error"]);
|
|
91
|
+
var ad = props.ad, onChange = props.onChange, onDelete = props.onDelete, open = props.open, onToggle = props.onToggle, isSelected = props.isSelected, onCheck = props.onCheck, error = props.error, previewButton = props.previewButton, other = __rest(props, ["ad", "onChange", "onDelete", "open", "onToggle", "isSelected", "onCheck", "error", "previewButton"]);
|
|
93
92
|
var service = (0, Hooks_1.default)().service;
|
|
94
93
|
var setCopiedAd = (0, recoil_1.useSetRecoilState)(atoms_1.copiedAdState);
|
|
95
94
|
var setWeightState = (0, recoil_1.useSetRecoilState)(Recoils_1.weightState);
|
|
96
|
-
var
|
|
97
|
-
var
|
|
98
|
-
var
|
|
99
|
-
var _j = (0, react_1.useState)(false), isWeightDrawerOpen = _j[0], setIsWeightDrawerOpen = _j[1];
|
|
95
|
+
var _e = (0, react_1.useState)(false), openCopiedMessage = _e[0], setOpenCopiedMessage = _e[1];
|
|
96
|
+
var _f = (0, react_1.useState)(false), showTheSource = _f[0], setShowTheSource = _f[1];
|
|
97
|
+
var _g = (0, react_1.useState)(false), isAdvancedDrawerOpen = _g[0], setIsAdvancedDrawerOpen = _g[1];
|
|
100
98
|
var isClassC = (0, recoil_2.useRecoilValue)((0, atoms_2.checkGroupsClassCState)([ad.campaignGroupId]));
|
|
101
|
-
/**
|
|
102
|
-
* Hàm khi xem preview
|
|
103
|
-
*/
|
|
104
|
-
var handlePreview = function (e) {
|
|
105
|
-
e.stopPropagation();
|
|
106
|
-
var url = "".concat(Constant_1.Constants.CAPTIVE_DOMAIN, "/").concat(Constant_1.Constants.PAGE_LOGIN_PREVIEW, "?loginId=").concat(ad.loginId, "&isNetworkCampaign=false");
|
|
107
|
-
if (ad.welcomeId.length)
|
|
108
|
-
url += "&welcomeId=".concat(ad.welcomeId);
|
|
109
|
-
window.open(url, '_blank');
|
|
110
|
-
};
|
|
111
99
|
var translationText = {
|
|
112
100
|
preview: t('Common.Preview'),
|
|
113
101
|
copy: t('Common.Copy'),
|
|
@@ -147,7 +135,7 @@ function AdRow(props) {
|
|
|
147
135
|
Constant_1.Constants.CAMPAIGN_EDIT_PAGE,
|
|
148
136
|
Enum_1.PAGE_CODES.PageCodeWelcome,
|
|
149
137
|
ad.welcomeId,
|
|
150
|
-
].join('/'), children: (_d = ad.welcomePage) === null || _d === void 0 ? void 0 : _d.title }) })] }))] }), (0, jsx_runtime_1.jsxs)(material_1.TableCell, { sx: { padding: function (theme) { return theme.spacing(0, 2); } }, align: "right", children: [(0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: translationText.preview, children: (0, jsx_runtime_1.jsx)(
|
|
138
|
+
].join('/'), children: (_d = ad.welcomePage) === null || _d === void 0 ? void 0 : _d.title }) })] }))] }), (0, jsx_runtime_1.jsxs)(material_1.TableCell, { sx: { padding: function (theme) { return theme.spacing(0, 2); } }, align: "right", children: [(0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: translationText.preview, children: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: previewButton }) }), (0, jsx_runtime_1.jsx)(AWING_1.Actions, { menus: __spreadArray([
|
|
151
139
|
{
|
|
152
140
|
icon: (0, jsx_runtime_1.jsx)(FileCopyOutlined_1.default, {}),
|
|
153
141
|
action: function () {
|
|
@@ -62,6 +62,7 @@ var AddOrEditRule = function (props) {
|
|
|
62
62
|
_a[Utils_1.RuleType.TargetAge] = t('Campaign.RuleType.TargetAge'),
|
|
63
63
|
_a[Utils_1.RuleType.TargetOS] = t('Campaign.RuleType.TargetOS'),
|
|
64
64
|
_a[Utils_1.RuleType.TargetDevice] = t('Campaign.RuleType.TargetDevice'),
|
|
65
|
+
_a[Utils_1.RuleType.RetargetMacAddress] = t('Campaign.RuleType.RetargetMacAddress'),
|
|
65
66
|
_a),
|
|
66
67
|
save: t('Common.Save'),
|
|
67
68
|
invalidData: t('Common.InvalidData'),
|
|
@@ -109,10 +110,10 @@ var AddOrEditRule = function (props) {
|
|
|
109
110
|
return {
|
|
110
111
|
value: Array.isArray(rule.value) && rule.value.length > 0,
|
|
111
112
|
};
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
case Utils_1.RuleType.RetargetMacAddress:
|
|
114
|
+
return {
|
|
115
|
+
value: Array.isArray(rule.value) && rule.value.length > 0,
|
|
116
|
+
};
|
|
116
117
|
default:
|
|
117
118
|
return {};
|
|
118
119
|
}
|
|
@@ -157,14 +158,8 @@ var AddOrEditRule = function (props) {
|
|
|
157
158
|
return ((0, jsx_runtime_1.jsx)(RuleForm_1.TargetOS, { valids: valids, rule: currentRule, onChange: handleOnChange, deviceInfoGetAllRuleOsVersions: service === null || service === void 0 ? void 0 : service.deviceInfoGetAllRuleOsVersions }));
|
|
158
159
|
case Utils_1.RuleType.TargetDevice:
|
|
159
160
|
return ((0, jsx_runtime_1.jsx)(RuleForm_1.TargetDevice, { valids: valids, rule: currentRule, onChange: handleOnChange, deviceInfoGetAllRuleDevices: service === null || service === void 0 ? void 0 : service.deviceInfoGetAllRuleDevices }));
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
// <RetargetMacAddress
|
|
163
|
-
// valids={valids}
|
|
164
|
-
// rule={currentRule}
|
|
165
|
-
// onChange={handleOnChange}
|
|
166
|
-
// />
|
|
167
|
-
// );
|
|
161
|
+
case Utils_1.RuleType.RetargetMacAddress:
|
|
162
|
+
return ((0, jsx_runtime_1.jsx)(RuleForm_1.RetargetMacAddress, { valids: valids, rule: currentRule, onChange: handleOnChange, remarketingListGetAll: service === null || service === void 0 ? void 0 : service.remarketingListGetAll }));
|
|
168
163
|
default:
|
|
169
164
|
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
|
170
165
|
}
|
|
@@ -3,6 +3,7 @@ interface Props {
|
|
|
3
3
|
rule: AdvancedRule;
|
|
4
4
|
valids: any;
|
|
5
5
|
onChange: (rule: AdvancedRule) => void;
|
|
6
|
+
remarketingListGetAll: () => Promise<any[]>;
|
|
6
7
|
}
|
|
7
8
|
declare const RetargetMacAddressContainer: (props: Props) => import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
export default RetargetMacAddressContainer;
|
|
@@ -19,19 +19,11 @@ var react_1 = __importDefault(require("react"));
|
|
|
19
19
|
var component_1 = __importDefault(require("./component"));
|
|
20
20
|
var RetargetMacAddressContainer = function (props) {
|
|
21
21
|
var _a = react_1.default.useState([]), remarketingLists = _a[0], setRemarketingLists = _a[1];
|
|
22
|
+
var remarketingListGetAll = props.remarketingListGetAll;
|
|
22
23
|
react_1.default.useEffect(function () {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
// if (res.data.status === STATUS_CODE.OK)
|
|
27
|
-
// {
|
|
28
|
-
// setRemarketingLists(res.data.data);
|
|
29
|
-
// }
|
|
30
|
-
// else {
|
|
31
|
-
// Snackbar(SNACKBAR_TYPES.ERROR);
|
|
32
|
-
// }
|
|
33
|
-
// })
|
|
34
|
-
// .catch(() => Snackbar(SNACKBAR_TYPES.ERROR));
|
|
24
|
+
remarketingListGetAll()
|
|
25
|
+
.then(setRemarketingLists)
|
|
26
|
+
.catch(function (err) { return console.log(err); });
|
|
35
27
|
}, []);
|
|
36
28
|
return (0, jsx_runtime_1.jsx)(component_1.default, __assign({ remarketingLists: remarketingLists }, props));
|
|
37
29
|
};
|
|
@@ -33,6 +33,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
33
33
|
__setModuleDefault(result, mod);
|
|
34
34
|
return result;
|
|
35
35
|
};
|
|
36
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
37
|
+
var t = {};
|
|
38
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
39
|
+
t[p] = s[p];
|
|
40
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
41
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
42
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
43
|
+
t[p[i]] = s[p[i]];
|
|
44
|
+
}
|
|
45
|
+
return t;
|
|
46
|
+
};
|
|
36
47
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
48
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
49
|
};
|
|
@@ -189,10 +200,14 @@ var Advanced = function (props) {
|
|
|
189
200
|
onClose();
|
|
190
201
|
}
|
|
191
202
|
};
|
|
203
|
+
var ruleType = react_1.default.useMemo(function () {
|
|
204
|
+
var RetargetMacAddress = Utils_1.RuleType.RetargetMacAddress, other = __rest(Utils_1.RuleType, ["RetargetMacAddress"]);
|
|
205
|
+
return (service === null || service === void 0 ? void 0 : service.remarketingListGetAll) ? Utils_1.RuleType : other;
|
|
206
|
+
}, [service]);
|
|
192
207
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ClassicBaseDrawer_1.default, { title: translationText.advanced, open: isOpen, onSubmit: handleSubmit, onClose: handleClose, children: (0, jsx_runtime_1.jsx)(material_1.Paper, { sx: classes.paper, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, children: [(0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 12, container: true, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, md: true }), (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, sx: classes.buttonGroup, children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", color: "primary", endIcon: (0, jsx_runtime_1.jsx)(icons_material_1.ExpandMore, {}), "aria-controls": "simple-menu", "aria-haspopup": "true", onClick: function (e) {
|
|
193
208
|
e.stopPropagation();
|
|
194
209
|
setAnchorElRule(e.currentTarget);
|
|
195
|
-
}, children: translationText.addRule }), (0, jsx_runtime_1.jsx)(material_1.Menu, { id: "simple-menu", anchorEl: anchorElRule, keepMounted: true, open: Boolean(anchorElRule), onClose: function () { return handleButtonMenuClose(); }, children: Object.keys(
|
|
210
|
+
}, children: translationText.addRule }), (0, jsx_runtime_1.jsx)(material_1.Menu, { id: "simple-menu", anchorEl: anchorElRule, keepMounted: true, open: Boolean(anchorElRule), onClose: function () { return handleButtonMenuClose(); }, children: Object.keys(ruleType).map(function (type, idx) {
|
|
196
211
|
var _a;
|
|
197
212
|
return ((0, jsx_runtime_1.jsx)(material_1.MenuItem, { onClick: function () { return handleAddRule(type); }, children: ((_a = Object.entries(translationText.type).find(function (_a) {
|
|
198
213
|
var k = _a[0], val = _a[1];
|
|
@@ -14,7 +14,7 @@ var Recoils_1 = require("../Recoils");
|
|
|
14
14
|
function MockComponent(props) {
|
|
15
15
|
return (0, jsx_runtime_1.jsx)("div", {});
|
|
16
16
|
}
|
|
17
|
-
jest.mock('
|
|
17
|
+
jest.mock('AWING', function () { return ({
|
|
18
18
|
Actions: MockComponent,
|
|
19
19
|
}); });
|
|
20
20
|
var RecoilObserver = function (_a) {
|