awing-library 2.1.13-beta → 2.1.13
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 +7 -21
- 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 +11 -4
- package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +1 -1
- package/lib/ACM-AXN/Page/Types.d.ts +9 -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 +49 -47
- 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/TaskScheduler/CreateOrEdit.js +1 -1
- package/lib/ACM-AXN/TaskScheduler/Utils.js +2 -0
- 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/BarLineComponent.d.ts +1 -0
- package/lib/AWING/Chart/BarLineComponent.js +39 -24
- package/lib/AWING/Chart/PieComponent.d.ts +1 -1
- package/lib/AWING/Chart/PieComponent.js +0 -1
- package/lib/AWING/Chart/Styles.d.ts +6 -2
- package/lib/AWING/Chart/Styles.js +6 -2
- 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 +20 -5
- 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/PageManagement/PageManagement.js +1 -1
- package/lib/AWING/index.d.ts +1 -0
- package/lib/AWING/index.js +1 -0
- package/lib/AWING/ultis/validation.d.ts +2 -2
- package/lib/AWING/ultis/validation.js +6 -4
- package/lib/Commons/Components/ClassicBaseDrawer.d.ts +1 -0
- package/lib/Commons/Components/ClassicBaseDrawer.js +7 -3
- package/lib/Commons/Components/ClassicDrawer.js +2 -2
- 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
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
15
|
};
|
|
@@ -46,6 +57,7 @@ var CreateOrEdit = function () {
|
|
|
46
57
|
var _d = (0, recoil_1.useRecoilState)(Recoils_1.campaignModelState), campaignData = _d[0], setCampaignData = _d[1];
|
|
47
58
|
var setCampaignPages = (0, recoil_1.useSetRecoilState)(atoms_1.campaignPageIdState);
|
|
48
59
|
var setDirectories = (0, recoil_1.useSetRecoilState)(Recoils_1.directoriesState);
|
|
60
|
+
var setAttributes = (0, recoil_1.useSetRecoilState)(Recoils_1.attributesState);
|
|
49
61
|
var confirmExit = (0, recoil_1.useRecoilValue)(Recoils_1.confirmExitState);
|
|
50
62
|
var readyForSubmit = (0, recoil_1.useRecoilValue)(Recoils_1.readyForSubmitState);
|
|
51
63
|
var setCreate = (0, recoil_1.useSetRecoilState)(Recoils_1.isCreateState);
|
|
@@ -78,7 +90,10 @@ var CreateOrEdit = function () {
|
|
|
78
90
|
service
|
|
79
91
|
.directoriesGetByObjectTypeCode(Enum_1.DirectoryRoot.Campaign)
|
|
80
92
|
.then(setDirectories);
|
|
81
|
-
|
|
93
|
+
if (service.attributesGetByObjectTypeCode) {
|
|
94
|
+
service.attributesGetByObjectTypeCode(Enum_1.DirectoryRoot.Campaign).then(setAttributes);
|
|
95
|
+
}
|
|
96
|
+
}, [service, setDirectories, setAttributes]);
|
|
82
97
|
(0, react_1.useLayoutEffect)(function () {
|
|
83
98
|
if (tabName && route.includes(tabName)) {
|
|
84
99
|
setValue(String(route.indexOf(tabName)));
|
|
@@ -179,11 +194,12 @@ var CreateOrEdit = function () {
|
|
|
179
194
|
.flatMap(function (x) { return x.ads; }))) {
|
|
180
195
|
return Promise.reject(t('Campaign.CClassDuplicatePlace'));
|
|
181
196
|
}
|
|
197
|
+
var dataSubmit = __assign(__assign({}, campaignData), { campaignAttributes: campaignData.campaignAttributes.filter(Boolean) });
|
|
182
198
|
if (componentStatus === Constant_1.Constants.CAMPAIGN_DETAIL) {
|
|
183
|
-
return service.campaignsPut(campaignId,
|
|
199
|
+
return service.campaignsPut(campaignId, dataSubmit);
|
|
184
200
|
}
|
|
185
201
|
else {
|
|
186
|
-
return service.campaignsPost(
|
|
202
|
+
return service.campaignsPost(dataSubmit);
|
|
187
203
|
}
|
|
188
204
|
};
|
|
189
205
|
return ((0, jsx_runtime_1.jsx)(ClassicDrawer_1.default, { title: "".concat(t(['Campaign', campaignId ? 'TitleDetail' : 'Create'].join('.'))).concat(campaignId ? ": ".concat((_a = campaignData === null || campaignData === void 0 ? void 0 : campaignData.campaign) === null || _a === void 0 ? void 0 : _a.name) : '', "\n "), onSubmit: handleSubmit, disableButtonSubmit: !readyForSubmit, confirmExit: confirmExit, childrenWrapperStyle: { padding: 0 }, children: (0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, sx: {
|
|
@@ -331,6 +331,14 @@ export interface AnalyticDataProviderModel {
|
|
|
331
331
|
click: number;
|
|
332
332
|
ctr: number;
|
|
333
333
|
}
|
|
334
|
+
export interface Attribute {
|
|
335
|
+
id: number;
|
|
336
|
+
name: string;
|
|
337
|
+
objectTypeCode: string;
|
|
338
|
+
description: string;
|
|
339
|
+
createdDate: Timestamp;
|
|
340
|
+
attributeTypeId: number;
|
|
341
|
+
}
|
|
334
342
|
export interface AppHelper {
|
|
335
343
|
alert: (message: string, title?: string) => void;
|
|
336
344
|
snackbar: (severity?: AlertColor, message?: string, autoHideDuration?: number) => void;
|
|
@@ -354,6 +362,7 @@ interface CampaignService extends PrmissionService {
|
|
|
354
362
|
statisticCampaignGetEvents: (body: AnalyticEventModel) => Promise<AnalyticEvent[]>;
|
|
355
363
|
statisticCampaignGet: (startDate?: string, endDate?: string, timelineType?: TIMELINE_TYPE, body?: Record<string, any>) => Promise<AnalyticDataProviderModel[]>;
|
|
356
364
|
statisticCampaignGetAnalyticCampaign: (timelineType?: TIMELINE_TYPE, startDate?: string, endDate?: string, body?: Record<string, any>) => Promise<AnalyticCampaignSummary[]>;
|
|
365
|
+
attributesGetByObjectTypeCode?: (objectTypeCode: string) => Promise<Attribute[]>;
|
|
357
366
|
}
|
|
358
367
|
export interface CampaignFeatureProps {
|
|
359
368
|
service: CampaignService & PageService;
|
|
@@ -361,6 +370,7 @@ export interface CampaignFeatureProps {
|
|
|
361
370
|
tabStatistic: (p?: any) => JSX.Element;
|
|
362
371
|
domainId: string;
|
|
363
372
|
configs: any;
|
|
373
|
+
isAxn?: boolean;
|
|
364
374
|
}
|
|
365
375
|
export interface AnalyticCampaignSummary {
|
|
366
376
|
campaignId: string;
|
|
@@ -80,6 +80,7 @@ export declare const RuleType: {
|
|
|
80
80
|
TargetAge: number;
|
|
81
81
|
TargetOS: number;
|
|
82
82
|
TargetDevice: number;
|
|
83
|
+
RetargetMacAddress: number;
|
|
83
84
|
};
|
|
84
85
|
export declare const RuleTypeOfCalculator: {
|
|
85
86
|
TargetGender: number;
|
|
@@ -87,6 +88,13 @@ export declare const RuleTypeOfCalculator: {
|
|
|
87
88
|
TargetOS: number;
|
|
88
89
|
TargetDevice: number;
|
|
89
90
|
};
|
|
91
|
+
export declare const RuleTypeOfCalculatorAXN: {
|
|
92
|
+
TargetGender: number;
|
|
93
|
+
TargetAge: number;
|
|
94
|
+
TargetOS: number;
|
|
95
|
+
TargetDevice: number;
|
|
96
|
+
RetargetMacAddress: number;
|
|
97
|
+
};
|
|
90
98
|
export declare const RuleGender: {
|
|
91
99
|
Female: string;
|
|
92
100
|
Male: string;
|
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.CampaignType = exports.ageRangeValueToText = exports.RuleAgeRange = exports.DEMO_GRAPHIC_AGE_RANGE = exports.getDescription = exports.isAdActive = exports.RuleGender = exports.RuleTypeOfCalculator = exports.RuleType = exports.nextChar = exports.getName = exports.getDefaultRule = exports.bonusValid = exports.bookingValid = exports.adsClassCValid = exports.groupClassCValid = exports.groupClassBValid = exports.campaignAdsValid = exports.ruleValid = exports.verifyExpr = exports.advancedValid = exports.weightsValid = exports.placeFilterValid = exports.dateRangeValid = exports.pageValid = exports.campaignAdValid = exports.validateAnalyticTypes = exports.checkValidUrl = exports.tabPartnerValid = exports.tabInfomationValid = exports.attributesValid = exports.nameValid = exports.directoryValid = exports.advancedSearchFormatDate = exports.getCampaignPriority = exports.checkCampaignIsRunning = exports.formatListCampaign = exports.getTotalBooking = exports.checkPriority = exports.getIndexPriority = void 0;
|
|
15
|
+
exports.CampaignType = exports.ageRangeValueToText = exports.RuleAgeRange = exports.DEMO_GRAPHIC_AGE_RANGE = exports.getDescription = exports.isAdActive = exports.RuleGender = exports.RuleTypeOfCalculatorAXN = exports.RuleTypeOfCalculator = exports.RuleType = exports.nextChar = exports.getName = exports.getDefaultRule = exports.bonusValid = exports.bookingValid = exports.adsClassCValid = exports.groupClassCValid = exports.groupClassBValid = exports.campaignAdsValid = exports.ruleValid = exports.verifyExpr = exports.advancedValid = exports.weightsValid = exports.placeFilterValid = exports.dateRangeValid = exports.pageValid = exports.campaignAdValid = exports.validateAnalyticTypes = exports.checkValidUrl = exports.tabPartnerValid = exports.tabInfomationValid = exports.attributesValid = exports.nameValid = exports.directoryValid = exports.advancedSearchFormatDate = exports.getCampaignPriority = exports.checkCampaignIsRunning = exports.formatListCampaign = exports.getTotalBooking = exports.checkPriority = exports.getIndexPriority = void 0;
|
|
16
16
|
var Types_1 = require("./Types");
|
|
17
17
|
var Enum_1 = require("./Enum");
|
|
18
18
|
var Helpers_1 = require("../../Utils/Helpers");
|
|
@@ -112,7 +112,7 @@ function nameValid(value) {
|
|
|
112
112
|
}
|
|
113
113
|
exports.nameValid = nameValid;
|
|
114
114
|
function attributesValid(value) {
|
|
115
|
-
return value.length > 0;
|
|
115
|
+
return Array.isArray(value) && value.length > 0;
|
|
116
116
|
}
|
|
117
117
|
exports.attributesValid = attributesValid;
|
|
118
118
|
function tabInfomationValid(campaign, campaignAttributes) {
|
|
@@ -343,12 +343,12 @@ var getDefaultRule = function (type) {
|
|
|
343
343
|
operator: Enum_1.EnumOperator.In.id,
|
|
344
344
|
value: [],
|
|
345
345
|
};
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
346
|
+
case exports.RuleType.RetargetMacAddress:
|
|
347
|
+
return {
|
|
348
|
+
type: type,
|
|
349
|
+
operator: Enum_1.EnumOperator.IntersectExist.id,
|
|
350
|
+
value: '',
|
|
351
|
+
};
|
|
352
352
|
default:
|
|
353
353
|
return {};
|
|
354
354
|
}
|
|
@@ -373,14 +373,20 @@ exports.RuleType = {
|
|
|
373
373
|
TargetAge: 4,
|
|
374
374
|
TargetOS: 5,
|
|
375
375
|
TargetDevice: 6,
|
|
376
|
-
|
|
376
|
+
RetargetMacAddress: 7,
|
|
377
377
|
};
|
|
378
378
|
exports.RuleTypeOfCalculator = {
|
|
379
379
|
TargetGender: 3,
|
|
380
380
|
TargetAge: 4,
|
|
381
381
|
TargetOS: 5,
|
|
382
382
|
TargetDevice: 6,
|
|
383
|
-
|
|
383
|
+
};
|
|
384
|
+
exports.RuleTypeOfCalculatorAXN = {
|
|
385
|
+
TargetGender: 3,
|
|
386
|
+
TargetAge: 4,
|
|
387
|
+
TargetOS: 5,
|
|
388
|
+
TargetDevice: 6,
|
|
389
|
+
RetargetMacAddress: 7,
|
|
384
390
|
};
|
|
385
391
|
exports.RuleGender = {
|
|
386
392
|
Female: '0',
|
|
@@ -496,14 +502,12 @@ var getDescription = function (rule) {
|
|
|
496
502
|
result = result.replace('{1}', value.length);
|
|
497
503
|
}
|
|
498
504
|
break;
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
// }
|
|
506
|
-
// break
|
|
505
|
+
case exports.RuleType.RetargetMacAddress:
|
|
506
|
+
{
|
|
507
|
+
var textFormat = i18n_1.default.t('Campaign.Rule.DescriptionFormat.RetargetMacAddress');
|
|
508
|
+
result += textFormat.replace('{0}', JSON.parse(rule.parameter || '{}').name);
|
|
509
|
+
}
|
|
510
|
+
break;
|
|
507
511
|
default:
|
|
508
512
|
break;
|
|
509
513
|
}
|
|
@@ -19,18 +19,19 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
19
19
|
// import Constants from "Commons/Constants";
|
|
20
20
|
var react_helmet_async_1 = require("react-helmet-async");
|
|
21
21
|
var react_i18next_1 = require("react-i18next");
|
|
22
|
+
var CreateDirectory_1 = __importDefault(require("../../AWING/Directory/CreateDirectory"));
|
|
22
23
|
var Router_1 = require("../../AWING/Router");
|
|
23
24
|
var i18n_1 = __importDefault(require("../../i18n"));
|
|
24
25
|
var Constant_1 = require("./Constant");
|
|
25
26
|
var Container_1 = __importDefault(require("./Container"));
|
|
26
27
|
var Context_1 = require("./Context");
|
|
27
28
|
var CreateOrEdit_1 = __importDefault(require("./CreateOrEdit"));
|
|
28
|
-
var
|
|
29
|
+
var Enum_1 = require("./Enum");
|
|
29
30
|
var Campaign = function (props) {
|
|
30
31
|
var paths = [
|
|
31
32
|
{
|
|
32
33
|
param: Constant_1.Constants.DIRECTORY_CREATE_DIRECTORY_PATH + '/:directoryId',
|
|
33
|
-
element: ((0, jsx_runtime_1.jsx)(CreateDirectory_1.default, __assign({ parentDirectory: 'campaign' }, props))),
|
|
34
|
+
element: ((0, jsx_runtime_1.jsx)(CreateDirectory_1.default, __assign({ parentDirectory: 'campaign', directoryRoot: Enum_1.DirectoryRoot.Campaign }, props))),
|
|
34
35
|
},
|
|
35
36
|
{
|
|
36
37
|
param: Constant_1.Constants.CAMPAIGN_CREATE + '/:tabName/*',
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { IFiltersProps } from
|
|
2
|
-
declare const Filters: ({ campaigns, handleFilters, loadingFlags, placeMultiSelectComponent: PlaceMultiSelect, handleExportExcel, }: IFiltersProps) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { IFiltersProps } from '../../interface';
|
|
2
|
+
declare const Filters: ({ campaigns, handleFilters, loadingFlags, placeMultiSelectComponent: PlaceMultiSelect, handleExportExcel, disabledCampaignFilter, }: IFiltersProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default Filters;
|
|
@@ -24,90 +24,92 @@ var moment_1 = __importDefault(require("moment"));
|
|
|
24
24
|
var react_i18next_1 = require("react-i18next");
|
|
25
25
|
var useStyles = (0, styles_1.makeStyles)(function () { return ({
|
|
26
26
|
outlinedInput: {
|
|
27
|
-
|
|
28
|
-
padding:
|
|
27
|
+
'& .MuiOutlinedInput-input': {
|
|
28
|
+
padding: '10.5px !important',
|
|
29
29
|
},
|
|
30
|
-
|
|
30
|
+
'& .MuiFormControl-marginNormal': {
|
|
31
31
|
margin: 0,
|
|
32
32
|
},
|
|
33
|
-
|
|
34
|
-
paddingRight:
|
|
33
|
+
'& .MuiOutlinedInput-adornedEnd': {
|
|
34
|
+
paddingRight: '0.25rem',
|
|
35
35
|
},
|
|
36
|
-
|
|
37
|
-
padding:
|
|
36
|
+
'& .MuiIconButton-root': {
|
|
37
|
+
padding: '0.5rem',
|
|
38
38
|
},
|
|
39
|
-
|
|
40
|
-
padding:
|
|
39
|
+
'& .MuiAutocomplete-inputRoot': {
|
|
40
|
+
padding: '0.125rem',
|
|
41
41
|
},
|
|
42
|
-
|
|
43
|
-
top:
|
|
42
|
+
'& .MuiAutocomplete-endAdornment': {
|
|
43
|
+
top: 'calc(50% - 19px)',
|
|
44
44
|
},
|
|
45
45
|
},
|
|
46
46
|
filterPlaceBtn: {
|
|
47
|
-
cursor:
|
|
48
|
-
|
|
49
|
-
transform:
|
|
47
|
+
cursor: 'pointer',
|
|
48
|
+
'&:hover': {
|
|
49
|
+
transform: 'scale(1.2)',
|
|
50
50
|
},
|
|
51
51
|
},
|
|
52
52
|
ellipsisPlaceFilter: {
|
|
53
|
-
|
|
54
|
-
textOverflow:
|
|
53
|
+
'& .MuiInputBase-input': {
|
|
54
|
+
textOverflow: 'ellipsis',
|
|
55
55
|
},
|
|
56
|
-
display:
|
|
56
|
+
display: 'flex',
|
|
57
57
|
},
|
|
58
58
|
lineInfo: {
|
|
59
|
-
paddingBottom:
|
|
60
|
-
display:
|
|
61
|
-
alignItems:
|
|
59
|
+
paddingBottom: '0.25rem',
|
|
60
|
+
display: 'flex',
|
|
61
|
+
alignItems: 'center',
|
|
62
62
|
// [theme.breakpoints.down('md')]: {
|
|
63
63
|
// flexDirection: 'column',
|
|
64
64
|
// },
|
|
65
65
|
},
|
|
66
66
|
dateRangePicker: {
|
|
67
|
-
|
|
68
|
-
height:
|
|
67
|
+
'& .MuiInputBase-input': {
|
|
68
|
+
height: '1.25rem',
|
|
69
69
|
},
|
|
70
70
|
},
|
|
71
71
|
labelIsNetwork: {
|
|
72
|
-
backgroundColor:
|
|
73
|
-
color:
|
|
74
|
-
padding:
|
|
75
|
-
marginLeft:
|
|
76
|
-
fontSize:
|
|
72
|
+
backgroundColor: '#c49f47',
|
|
73
|
+
color: '#ffffff',
|
|
74
|
+
padding: '0 4px',
|
|
75
|
+
marginLeft: '4px',
|
|
76
|
+
fontSize: '13px',
|
|
77
77
|
},
|
|
78
78
|
}); });
|
|
79
79
|
var Filters = function (_a) {
|
|
80
80
|
var _b, _c;
|
|
81
|
-
var campaigns = _a.campaigns, handleFilters = _a.handleFilters, loadingFlags = _a.loadingFlags, PlaceMultiSelect = _a.placeMultiSelectComponent, handleExportExcel = _a.handleExportExcel;
|
|
81
|
+
var campaigns = _a.campaigns, handleFilters = _a.handleFilters, loadingFlags = _a.loadingFlags, PlaceMultiSelect = _a.placeMultiSelectComponent, handleExportExcel = _a.handleExportExcel, _d = _a.disabledCampaignFilter, disabledCampaignFilter = _d === void 0 ? false : _d;
|
|
82
82
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
83
|
-
var campaignOptions = __assign(__assign({}, campaigns), { 0: { campaignId: 0, name: t(
|
|
83
|
+
var campaignOptions = __assign(__assign({}, campaigns), { 0: { campaignId: 0, name: t('Common.SelectAll') } });
|
|
84
84
|
var classes = useStyles();
|
|
85
85
|
var handleChangeDateRange = function (value) {
|
|
86
|
-
handleFilters(
|
|
87
|
-
handleFilters(
|
|
86
|
+
handleFilters('startDate', value.startDate);
|
|
87
|
+
handleFilters('endDate', value.endDate);
|
|
88
88
|
};
|
|
89
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, className: classes.dateRangePicker, children: (0, jsx_runtime_1.jsx)(AWING_1.DateRangePicker, { isShowCalendarInfo: true, label: "".concat(t(
|
|
89
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: disabledCampaignFilter ? 6 : 4, className: classes.dateRangePicker, children: (0, jsx_runtime_1.jsx)(AWING_1.DateRangePicker, { isShowCalendarInfo: true, label: "".concat(t('Common.StartDate'), " - ").concat(t('Common.EndDate')), callback: handleChangeDateRange, initialStartDate: (0, moment_1.default)(), initialEndDate: (0, moment_1.default)(), variant: "outlined", textFieldProps: {
|
|
90
90
|
fullWidth: true,
|
|
91
91
|
className: classes.outlinedInput,
|
|
92
92
|
}, isDayBlocked: function (day) {
|
|
93
|
-
|
|
93
|
+
if (disabledCampaignFilter)
|
|
94
|
+
return false;
|
|
95
|
+
var now = (0, moment_1.default)().startOf('day').valueOf();
|
|
94
96
|
if (day.valueOf() < now) {
|
|
95
97
|
return true;
|
|
96
98
|
}
|
|
97
99
|
else {
|
|
98
100
|
return false;
|
|
99
101
|
}
|
|
100
|
-
} }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, children: (0, jsx_runtime_1.jsx)(material_1.Autocomplete, { size: "small", disablePortal: true, id: "combo-box-demo", options: (_c = (_b = lodash_1.default.values(campaignOptions)) === null || _b === void 0 ? void 0 : _b.map(function (obj) { return (__assign({}, obj)); })) !== null && _c !== void 0 ? _c : [], getOptionLabel: function (option) { var _a; return (_a = option.name) !== null && _a !== void 0 ? _a :
|
|
102
|
+
} }) }), !disabledCampaignFilter && ((0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, children: (0, jsx_runtime_1.jsx)(material_1.Autocomplete, { size: "small", disablePortal: true, id: "combo-box-demo", options: (_c = (_b = lodash_1.default.values(campaignOptions)) === null || _b === void 0 ? void 0 : _b.map(function (obj) { return (__assign({}, obj)); })) !== null && _c !== void 0 ? _c : [], getOptionLabel: function (option) { var _a; return (_a = option.name) !== null && _a !== void 0 ? _a : ''; }, isOptionEqualToValue: function (option, value) {
|
|
101
103
|
return option.Id === value.Id;
|
|
102
104
|
}, onChange: function (event, campaign) {
|
|
103
|
-
handleFilters(
|
|
104
|
-
}, renderInput: function (params) { return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, params, { label: t(
|
|
105
|
-
return handleFilters(
|
|
105
|
+
handleFilters('campaignId', campaign === null || campaign === void 0 ? void 0 : campaign.id);
|
|
106
|
+
}, renderInput: function (params) { return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, params, { label: t('Schedule.CampaignName'), sx: { backgroundColor: 'white' }, variant: "outlined" }))); }, defaultValue: { Id: 0, name: t('Common.SelectAll') } }) })), (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: disabledCampaignFilter ? 6 : 4, className: classes.ellipsisPlaceFilter, children: [(0, jsx_runtime_1.jsx)(PlaceMultiSelect, { isDisplayTextField: true, onChange: function (placeIds) {
|
|
107
|
+
return handleFilters('placeIds', placeIds);
|
|
106
108
|
} }), (0, jsx_runtime_1.jsx)(material_1.Button, { sx: {
|
|
107
|
-
height:
|
|
108
|
-
position:
|
|
109
|
-
marginLeft:
|
|
110
|
-
marginTop:
|
|
111
|
-
}, variant: "contained", onClick: handleExportExcel, title: t(
|
|
109
|
+
height: '40px',
|
|
110
|
+
position: 'relative !important',
|
|
111
|
+
marginLeft: '1rem',
|
|
112
|
+
marginTop: '6px',
|
|
113
|
+
}, variant: "contained", onClick: handleExportExcel, title: t('Common.Download'), disabled: loadingFlags === null || loadingFlags === void 0 ? void 0 : loadingFlags.export, color: "inherit", children: (loadingFlags === null || loadingFlags === void 0 ? void 0 : loadingFlags.export) ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsx)(GetApp_1.default, {})) })] })] }));
|
|
112
114
|
};
|
|
113
115
|
exports.default = Filters;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { IGroupPanelProps } from
|
|
1
|
+
import { IGroupPanelProps } from '../../interface';
|
|
2
2
|
declare const GroupPanel: ({ unGroupField, onDragStart, onDragOver, onDrop, panels, }: IGroupPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default GroupPanel;
|
|
@@ -29,37 +29,45 @@ var GroupPanel = function (_a) {
|
|
|
29
29
|
case Enum_1.HEAD_CELL_IDS.CONTROL:
|
|
30
30
|
return __assign(__assign({}, cell), { label: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(UnfoldMore_1.default, {}), "#"] })) });
|
|
31
31
|
case Enum_1.HEAD_CELL_IDS.CAMPAIGN:
|
|
32
|
-
return __assign(__assign({}, cell), { label: t(
|
|
32
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Campaign') });
|
|
33
33
|
case Enum_1.HEAD_CELL_IDS.PLACE:
|
|
34
|
-
return __assign(__assign({}, cell), { label: t(
|
|
34
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Place') });
|
|
35
|
+
case Enum_1.HEAD_CELL_IDS.CAMPAIGN_CAMPAIGN:
|
|
36
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Campaign') });
|
|
37
|
+
case Enum_1.HEAD_CELL_IDS.PLACE_CAMPAIGN:
|
|
38
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Place') });
|
|
35
39
|
case Enum_1.HEAD_CELL_IDS.DATE:
|
|
36
|
-
return __assign(__assign({}, cell), { label: t(
|
|
40
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Date') });
|
|
41
|
+
case Enum_1.HEAD_CELL_IDS.DOMAIN:
|
|
42
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Domain') });
|
|
43
|
+
case Enum_1.HEAD_CELL_IDS.DOMAIN_CAMPAIGN:
|
|
44
|
+
return __assign(__assign({}, cell), { label: t('Schedule.Domain') });
|
|
37
45
|
case Enum_1.HEAD_CELL_IDS.RATE:
|
|
38
|
-
return __assign(__assign({}, cell), { label: "".concat(t(
|
|
46
|
+
return __assign(__assign({}, cell), { label: "".concat(t('Schedule.Rate'), " (%)") });
|
|
39
47
|
case Enum_1.HEAD_CELL_IDS.TOTAL:
|
|
40
|
-
return __assign(__assign({}, cell), { label: "".concat(t(
|
|
48
|
+
return __assign(__assign({}, cell), { label: "".concat(t('Schedule.Total'), " (view)") });
|
|
41
49
|
default:
|
|
42
50
|
return cell;
|
|
43
51
|
}
|
|
44
52
|
});
|
|
45
53
|
return ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Paper, { component: "div", id: "group-panel", sx: {
|
|
46
|
-
display:
|
|
47
|
-
justifyContent:
|
|
48
|
-
flexWrap:
|
|
49
|
-
listStyle:
|
|
50
|
-
paddingTop:
|
|
54
|
+
display: 'flex',
|
|
55
|
+
justifyContent: 'flex-start',
|
|
56
|
+
flexWrap: 'wrap',
|
|
57
|
+
listStyle: 'none',
|
|
58
|
+
paddingTop: '8px',
|
|
51
59
|
margin: 0,
|
|
52
|
-
height:
|
|
53
|
-
position:
|
|
54
|
-
|
|
55
|
-
boxShadow:
|
|
56
|
-
border:
|
|
60
|
+
height: '40px',
|
|
61
|
+
position: 'relative !important',
|
|
62
|
+
'&.MuiPaper-elevation1': {
|
|
63
|
+
boxShadow: 'none',
|
|
64
|
+
border: '1px solid #ccc',
|
|
57
65
|
},
|
|
58
|
-
minHeight:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
boxShadow:
|
|
62
|
-
border:
|
|
66
|
+
minHeight: '30px',
|
|
67
|
+
'&:hover': {
|
|
68
|
+
'&.MuiPaper-elevation1': {
|
|
69
|
+
boxShadow: 'none',
|
|
70
|
+
border: '1px solid #263238',
|
|
63
71
|
},
|
|
64
72
|
},
|
|
65
73
|
}, onDragOver: onDragOver, onDrop: function (e) {
|
|
@@ -67,18 +75,18 @@ var GroupPanel = function (_a) {
|
|
|
67
75
|
}, children: panelsCell === null || panelsCell === void 0 ? void 0 : panelsCell.map(function (field, index) {
|
|
68
76
|
return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: field.grouping && ((0, jsx_runtime_1.jsx)(material_1.Chip, { size: "small", label: field.label, id: field.id, onDelete: function () {
|
|
69
77
|
unGroupField(field.id);
|
|
70
|
-
}, deleteIcon: (0, jsx_runtime_1.jsx)(HighlightOff_1.default, {}), sx: { marginLeft:
|
|
78
|
+
}, deleteIcon: (0, jsx_runtime_1.jsx)(HighlightOff_1.default, {}), sx: { marginLeft: '1rem' }, draggable: true, onDragStart: function (e) {
|
|
71
79
|
onDragStart(e, index);
|
|
72
80
|
} })) }, index));
|
|
73
81
|
}) }), (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "caption", color: "textSecondary", sx: {
|
|
74
|
-
position:
|
|
75
|
-
top:
|
|
76
|
-
left:
|
|
77
|
-
backgroundColor:
|
|
78
|
-
paddingRight:
|
|
79
|
-
paddingLeft:
|
|
80
|
-
marginTop:
|
|
81
|
-
marginLeft:
|
|
82
|
-
}, children: (0, jsx_runtime_1.jsx)("span", { style: { opacity: 0.5 }, children: t(
|
|
82
|
+
position: 'absolute',
|
|
83
|
+
top: '-3px',
|
|
84
|
+
left: '16px',
|
|
85
|
+
backgroundColor: '#FFFFFF',
|
|
86
|
+
paddingRight: '4px',
|
|
87
|
+
paddingLeft: '4px',
|
|
88
|
+
marginTop: '6px',
|
|
89
|
+
marginLeft: '10px',
|
|
90
|
+
}, children: (0, jsx_runtime_1.jsx)("span", { style: { opacity: 0.5 }, children: t('Schedule.DragAndDropLabel') }) })] }));
|
|
83
91
|
};
|
|
84
92
|
exports.default = GroupPanel;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { IControlPanelProps } from
|
|
2
|
-
declare const ControlPanel: ({ campaigns, handleFilters, unGroupField, onDragStart, onDragOver, onDrop, handleView, handleExportExcel, loadingFlags, panels, placeMultiSelectComponent, }: IControlPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { IControlPanelProps } from '../../interface';
|
|
2
|
+
declare const ControlPanel: ({ campaigns, handleFilters, unGroupField, onDragStart, onDragOver, onDrop, handleView, handleExportExcel, loadingFlags, panels, placeMultiSelectComponent, disabledCampaignFilter, }: IControlPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default ControlPanel;
|
|
@@ -10,8 +10,8 @@ var react_i18next_1 = require("react-i18next");
|
|
|
10
10
|
var Filter_1 = __importDefault(require("./Filter"));
|
|
11
11
|
var GroupPanel_1 = __importDefault(require("./GroupPanel"));
|
|
12
12
|
var ControlPanel = function (_a) {
|
|
13
|
-
var campaigns = _a.campaigns, handleFilters = _a.handleFilters, unGroupField = _a.unGroupField, onDragStart = _a.onDragStart, onDragOver = _a.onDragOver, onDrop = _a.onDrop, handleView = _a.handleView, handleExportExcel = _a.handleExportExcel, loadingFlags = _a.loadingFlags, panels = _a.panels, placeMultiSelectComponent = _a.placeMultiSelectComponent;
|
|
13
|
+
var campaigns = _a.campaigns, handleFilters = _a.handleFilters, unGroupField = _a.unGroupField, onDragStart = _a.onDragStart, onDragOver = _a.onDragOver, onDrop = _a.onDrop, handleView = _a.handleView, handleExportExcel = _a.handleExportExcel, loadingFlags = _a.loadingFlags, panels = _a.panels, placeMultiSelectComponent = _a.placeMultiSelectComponent, disabledCampaignFilter = _a.disabledCampaignFilter;
|
|
14
14
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
15
|
-
return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, sx: { padding:
|
|
15
|
+
return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, sx: { padding: '1rem' }, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, item: true, xs: 12, justifyContent: "flex-start", spacing: 2, children: (0, jsx_runtime_1.jsx)(Filter_1.default, { loadingFlags: loadingFlags, campaigns: campaigns, handleFilters: handleFilters, handleExportExcel: handleExportExcel, placeMultiSelectComponent: placeMultiSelectComponent, disabledCampaignFilter: disabledCampaignFilter }) }), (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, justifyContent: "flex-end", item: true, xs: 12, spacing: 2, sx: { marginTop: '0.125rem' }, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { id: "wrap-group-panel", item: true, style: { flexGrow: 1, position: 'relative' }, children: (0, jsx_runtime_1.jsx)(GroupPanel_1.default, { panels: panels, unGroupField: unGroupField, onDragStart: onDragStart, onDragOver: onDragOver, onDrop: onDrop }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, sx: { display: 'flex' }, children: (0, jsx_runtime_1.jsx)(material_1.Button, { sx: { height: '40px' }, variant: "contained", color: "primary", onClick: handleView, children: t('Common.View') }) })] })] }) }));
|
|
16
16
|
};
|
|
17
17
|
exports.default = ControlPanel;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { IEnhancedPaginationProps } from
|
|
1
|
+
import { IEnhancedPaginationProps } from '../../interface';
|
|
2
2
|
declare const EnhancedPagination: ({ total, children, pageSize, pageIndex, classes, className, colSpan, handleChangePage, handleChangeRowsPerPage, }: IEnhancedPaginationProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default EnhancedPagination;
|
|
@@ -10,11 +10,13 @@ var Pagination_1 = __importDefault(require("./Pagination"));
|
|
|
10
10
|
var EnhancedPagination = function (_a) {
|
|
11
11
|
var total = _a.total, children = _a.children, pageSize = _a.pageSize, pageIndex = _a.pageIndex, classes = _a.classes, className = _a.className, colSpan = _a.colSpan, handleChangePage = _a.handleChangePage, handleChangeRowsPerPage = _a.handleChangeRowsPerPage;
|
|
12
12
|
var t = (0, react_i18next_1.useTranslation)().t;
|
|
13
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [children, (0, jsx_runtime_1.jsx)(material_1.TableRow, { children: (0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", padding: "none", colSpan: colSpan, children: (0, jsx_runtime_1.jsx)(material_1.TablePagination, { className: "".concat(classes === null || classes === void 0 ? void 0 : classes.root, " ").concat(className), rowsPerPageOptions: [10, 20, 30], component: "div", count: total, rowsPerPage: pageSize, page: pageIndex, ActionsComponent: Pagination_1.default, labelRowsPerPage: t(
|
|
13
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [children, (0, jsx_runtime_1.jsx)(material_1.TableRow, { children: (0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", padding: "none", colSpan: colSpan, children: (0, jsx_runtime_1.jsx)(material_1.TablePagination, { className: "".concat(classes === null || classes === void 0 ? void 0 : classes.root, " ").concat(className), rowsPerPageOptions: [10, 20, 30], component: "div", count: total, rowsPerPage: pageSize, page: pageIndex, ActionsComponent: Pagination_1.default, labelRowsPerPage: t('Paging.RowPerPage'), onPageChange: function (e, newPage) {
|
|
14
|
+
handleChangePage(newPage);
|
|
15
|
+
}, onRowsPerPageChange: function (e) {
|
|
14
16
|
return handleChangeRowsPerPage(e);
|
|
15
17
|
}, SelectProps: {
|
|
16
18
|
inputProps: {
|
|
17
|
-
|
|
19
|
+
'aria-label': t('Paging.RowPerPage'),
|
|
18
20
|
},
|
|
19
21
|
native: true,
|
|
20
22
|
} }) }) })] }));
|
|
@@ -91,10 +91,13 @@ var RowAdvanceComponent = function (_a) {
|
|
|
91
91
|
? (0, helper_1.timestampToStringDDMMYYYY)(row === null || row === void 0 ? void 0 : row.toDate)
|
|
92
92
|
: (0, helper_1.timestampToStringDDMMYYYY)(row === null || row === void 0 ? void 0 : row.date);
|
|
93
93
|
var fromDateToDate = startDate === endDate ? startDate : startDate + ' - ' + endDate;
|
|
94
|
-
var totalRate = !(row === null || row === void 0 ? void 0 : row.rate)
|
|
94
|
+
var totalRate = !(row === null || row === void 0 ? void 0 : row.rate)
|
|
95
|
+
? ''
|
|
96
|
+
: Number((0, helper_1.roundDecimalNumber)(row === null || row === void 0 ? void 0 : row.rate)).toFixed(2);
|
|
95
97
|
var totalView = (row === null || row === void 0 ? void 0 : row.quantity) !== undefined
|
|
96
98
|
? (0, helper_1.roundDecimalNumber)(row === null || row === void 0 ? void 0 : row.quantity)
|
|
97
99
|
: (0, helper_1.roundDecimalNumber)(row === null || row === void 0 ? void 0 : row.totalQuantity);
|
|
100
|
+
var ctr = (((row === null || row === void 0 ? void 0 : row.click) / (row === null || row === void 0 ? void 0 : row.view)) * 100).toFixed(2);
|
|
98
101
|
function styledRow(priority) {
|
|
99
102
|
if ((groupNames === null || groupNames === void 0 ? void 0 : groupNames.length) === 1 && priorityGroupLevel === 1) {
|
|
100
103
|
return classes.styledSecondaryRow;
|
|
@@ -115,7 +118,7 @@ var RowAdvanceComponent = function (_a) {
|
|
|
115
118
|
return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: (0, jsx_runtime_1.jsx)(material_1.TableRow, { className: "".concat((groupNames === null || groupNames === void 0 ? void 0 : groupNames.length) === 0
|
|
116
119
|
? classes.styledNormalRow
|
|
117
120
|
: styledRow(priorityGroupLevel), " ").concat(classes.styledCommonRow), onClick: handleOnClick, children: headCells === null || headCells === void 0 ? void 0 : headCells.map(function (item, index) {
|
|
118
|
-
var _a, _b, _c, _d;
|
|
121
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
119
122
|
switch (item.name) {
|
|
120
123
|
case Enum_1.HEAD_CELL_NAMES.CONTROL:
|
|
121
124
|
return ((0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", colSpan: colSpanFirstCell, className: item.id === Enum_1.HEAD_CELL_IDS.CONTROL
|
|
@@ -140,7 +143,7 @@ var RowAdvanceComponent = function (_a) {
|
|
|
140
143
|
(0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledCampaignField, children: generateCampaignTotalCount(options === null || options === void 0 ? void 0 : options.campaigns, row, t('Schedule.CampaignDefault')) })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})) })) }, item.id));
|
|
141
144
|
case Enum_1.HEAD_CELL_NAMES.DOMAIN:
|
|
142
145
|
return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: fieldNameShowOn ===
|
|
143
|
-
Enum_1.HEAD_CELL_NAMES.DOMAIN ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledDomainField, children: (_c = options === null || options === void 0 ? void 0 : options.domains[row === null || row === void 0 ? void 0 : row.
|
|
146
|
+
Enum_1.HEAD_CELL_NAMES.DOMAIN ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledDomainField, children: (_c = options === null || options === void 0 ? void 0 : options.domains[row === null || row === void 0 ? void 0 : row.groupKeyId]) === null || _c === void 0 ? void 0 : _c.name })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: groupNames
|
|
144
147
|
.slice(0, priorityGroupLevel - 1)
|
|
145
148
|
.indexOf(Enum_1.HEAD_CELL_NAMES.DOMAIN) === -1 ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledDomainField, children: ((_d = options === null || options === void 0 ? void 0 : options.domains[row === null || row === void 0 ? void 0 : row.domainId]) === null || _d === void 0 ? void 0 : _d.name) || (row === null || row === void 0 ? void 0 : row.totalDomain) })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})) })) }, item.id));
|
|
146
149
|
case Enum_1.HEAD_CELL_NAMES.DATE:
|
|
@@ -154,6 +157,33 @@ var RowAdvanceComponent = function (_a) {
|
|
|
154
157
|
: totalRate }, item.id));
|
|
155
158
|
case Enum_1.HEAD_CELL_NAMES.TOTAL:
|
|
156
159
|
return ((0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", children: totalView }, item.id));
|
|
160
|
+
case Enum_1.HEAD_CELL_NAMES.IMPRESSION:
|
|
161
|
+
return ((0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", children: row === null || row === void 0 ? void 0 : row.view }, item.id));
|
|
162
|
+
case Enum_1.HEAD_CELL_NAMES.FINAL_CLICK:
|
|
163
|
+
return ((0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", children: row === null || row === void 0 ? void 0 : row.click }, item.id));
|
|
164
|
+
case Enum_1.HEAD_CELL_NAMES.CTR:
|
|
165
|
+
return ((0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", children: ctr }, item.id));
|
|
166
|
+
case Enum_1.HEAD_CELL_NAMES.CAMPAIGN_CAMPAIGN:
|
|
167
|
+
return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: fieldNameShowOn ===
|
|
168
|
+
Enum_1.HEAD_CELL_NAMES.CAMPAIGN ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledCampaignField, children: (_e = row === null || row === void 0 ? void 0 : row.campaign) === null || _e === void 0 ? void 0 : _e.name })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: groupNames
|
|
169
|
+
.slice(0, priorityGroupLevel - 1)
|
|
170
|
+
.indexOf(Enum_1.HEAD_CELL_NAMES.CAMPAIGN) === -1 ? ( // Nếu fieldGroup có index < thằng groupKeyName hiện tại thì hiển thị total hoac name ngược lại phải thụt đầu dòng
|
|
171
|
+
(0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledCampaignField, children: (_f = row === null || row === void 0 ? void 0 : row.campaign) === null || _f === void 0 ? void 0 : _f.name })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})) })) }, item.id));
|
|
172
|
+
case Enum_1.HEAD_CELL_NAMES.DOMAIN_CAMPAIGN:
|
|
173
|
+
return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: fieldNameShowOn ===
|
|
174
|
+
Enum_1.HEAD_CELL_NAMES.DOMAIN_CAMPAIGN ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledDomainField, children: (_g = row === null || row === void 0 ? void 0 : row.domain) === null || _g === void 0 ? void 0 : _g.name })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: groupNames
|
|
175
|
+
.slice(0, priorityGroupLevel - 1)
|
|
176
|
+
.indexOf(Enum_1.HEAD_CELL_NAMES.DOMAIN_CAMPAIGN) === -1 ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledDomainField, children: (_h = row === null || row === void 0 ? void 0 : row.domain) === null || _h === void 0 ? void 0 : _h.name })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})) })) }, item.id));
|
|
177
|
+
case Enum_1.HEAD_CELL_NAMES.PLACE_CAMPAIGN:
|
|
178
|
+
return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: fieldNameShowOn ===
|
|
179
|
+
Enum_1.HEAD_CELL_NAMES.PLACE_CAMPAIGN ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledPlaceField, children: (_j = row === null || row === void 0 ? void 0 : row.place) === null || _j === void 0 ? void 0 : _j.name })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children:
|
|
180
|
+
// Nếu field hiện tại ko phải groupName đang showOn thì 3Th
|
|
181
|
+
// TH1: field nằm trong groupNames nhưng đúng trước fieldNameShowOn hiển thị name
|
|
182
|
+
// TH2: field nằm sau fieldNameShowOn trong groupNames hiển thi total
|
|
183
|
+
// Th3: field ko trong groupNames hiển thị total hoặ thông tin schedule nếu nó là cấp cuối cùng
|
|
184
|
+
groupNames
|
|
185
|
+
.slice(0, priorityGroupLevel - 1)
|
|
186
|
+
.indexOf(Enum_1.HEAD_CELL_NAMES.PLACE_CAMPAIGN) === -1 ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledPlaceField, children: (_k = row === null || row === void 0 ? void 0 : row.place) === null || _k === void 0 ? void 0 : _k.name })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})) })) }, item.id));
|
|
157
187
|
default:
|
|
158
188
|
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
|
159
189
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { IRowAdvanceContainerProps } from
|
|
1
|
+
import { IRowAdvanceContainerProps } from '../../interface';
|
|
2
2
|
declare const RowAdvanceContainer: ({ headCells, row, priorityGroupLevel, stt, groupNames, options, filters, serviceCampaignSchedule, }: IRowAdvanceContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default RowAdvanceContainer;
|