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.
Files changed (197) hide show
  1. package/README.md +4 -19
  2. package/lib/ACM-AXN/Campaign/Container.js +6 -7
  3. package/lib/ACM-AXN/Campaign/Container.test.js +1 -1
  4. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +3 -1
  5. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +22 -21
  6. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.d.ts +1 -1
  7. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +79 -24
  8. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdDetail.test.js +1 -1
  9. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +50 -6
  10. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.d.ts +5 -0
  11. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +6 -18
  12. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +7 -12
  13. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/RetargetMacAddress/container.d.ts +1 -0
  14. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/RetargetMacAddress/container.js +4 -12
  15. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +16 -1
  16. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.test.js +1 -1
  17. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +19 -3
  18. package/lib/ACM-AXN/Campaign/Types.d.ts +10 -0
  19. package/lib/ACM-AXN/Campaign/Utils.d.ts +8 -0
  20. package/lib/ACM-AXN/Campaign/Utils.js +22 -18
  21. package/lib/ACM-AXN/Campaign/index.js +3 -2
  22. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.d.ts +2 -2
  23. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +44 -42
  24. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.d.ts +1 -1
  25. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.js +38 -30
  26. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.d.ts +2 -2
  27. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.js +2 -2
  28. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.d.ts +1 -1
  29. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +4 -2
  30. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +33 -3
  31. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.d.ts +1 -1
  32. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.js +81 -34
  33. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.d.ts +1 -1
  34. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.js +38 -29
  35. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.d.ts +4 -0
  36. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +58 -0
  37. package/lib/ACM-AXN/CampaignSchedule/Enum.d.ts +14 -2
  38. package/lib/ACM-AXN/CampaignSchedule/Enum.js +12 -0
  39. package/lib/ACM-AXN/CampaignSchedule/component.js +6 -5
  40. package/lib/ACM-AXN/CampaignSchedule/container.d.ts +1 -1
  41. package/lib/ACM-AXN/CampaignSchedule/container.js +100 -99
  42. package/lib/ACM-AXN/CampaignSchedule/interface.d.ts +16 -3
  43. package/lib/ACM-AXN/Directory/MenuDirectory/index.js +7 -21
  44. package/lib/ACM-AXN/Directory/SystemDirectory/index.js +6 -5
  45. package/lib/ACM-AXN/Directory/components/Permission/Management.js +7 -5
  46. package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.js +9 -7
  47. package/lib/ACM-AXN/Directory/function.d.ts +1 -0
  48. package/lib/ACM-AXN/Directory/function.js +15 -1
  49. package/lib/ACM-AXN/DomainPreview/PreviewButton.d.ts +15 -0
  50. package/lib/ACM-AXN/DomainPreview/PreviewButton.js +188 -0
  51. package/lib/ACM-AXN/DomainPreview/index.d.ts +7 -0
  52. package/lib/ACM-AXN/DomainPreview/index.js +10 -0
  53. package/lib/ACM-AXN/GroupUser/Constants.d.ts +7 -0
  54. package/lib/ACM-AXN/GroupUser/Constants.js +10 -0
  55. package/lib/ACM-AXN/GroupUser/Container.d.ts +2 -0
  56. package/lib/ACM-AXN/GroupUser/Container.js +55 -0
  57. package/lib/ACM-AXN/GroupUser/Container.test.d.ts +1 -0
  58. package/lib/ACM-AXN/GroupUser/Container.test.js +210 -0
  59. package/lib/ACM-AXN/GroupUser/CreateOrEdit.d.ts +3 -0
  60. package/lib/ACM-AXN/GroupUser/CreateOrEdit.js +91 -0
  61. package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.d.ts +1 -0
  62. package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.js +235 -0
  63. package/lib/ACM-AXN/GroupUser/Hooks.d.ts +5 -0
  64. package/lib/ACM-AXN/GroupUser/Hooks.js +13 -0
  65. package/lib/ACM-AXN/GroupUser/Types.d.ts +31 -0
  66. package/lib/ACM-AXN/GroupUser/Types.js +2 -0
  67. package/lib/ACM-AXN/GroupUser/User/SearchUser.d.ts +9 -0
  68. package/lib/ACM-AXN/GroupUser/User/SearchUser.js +63 -0
  69. package/lib/ACM-AXN/GroupUser/User/SearchUser.test.d.ts +1 -0
  70. package/lib/ACM-AXN/GroupUser/User/SearchUser.test.js +140 -0
  71. package/lib/ACM-AXN/GroupUser/User/UserComponent.d.ts +8 -0
  72. package/lib/ACM-AXN/GroupUser/User/UserComponent.js +77 -0
  73. package/lib/ACM-AXN/GroupUser/User/UserComponent.test.d.ts +1 -0
  74. package/lib/ACM-AXN/GroupUser/User/UserComponent.test.js +128 -0
  75. package/lib/ACM-AXN/GroupUser/index.d.ts +4 -0
  76. package/lib/ACM-AXN/GroupUser/index.js +27 -0
  77. package/lib/ACM-AXN/Notifications/Constant.d.ts +146 -0
  78. package/lib/ACM-AXN/Notifications/Constant.js +136 -0
  79. package/lib/ACM-AXN/Notifications/Context.d.ts +8 -0
  80. package/lib/ACM-AXN/Notifications/Context.js +10 -0
  81. package/lib/ACM-AXN/Notifications/Hooks.d.ts +7 -0
  82. package/lib/ACM-AXN/Notifications/Hooks.js +17 -0
  83. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.d.ts +3 -3
  84. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.js +31 -30
  85. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.d.ts +1 -1
  86. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.js +30 -39
  87. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.d.ts +3 -5
  88. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.js +18 -17
  89. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.d.ts +1 -1
  90. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.js +15 -15
  91. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.d.ts +0 -6
  92. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.js +29 -28
  93. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.d.ts +10 -0
  94. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.js +393 -0
  95. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.d.ts +1 -1
  96. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.js +3 -3
  97. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.d.ts +0 -6
  98. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.js +38 -48
  99. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.d.ts +2 -2
  100. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.js +36 -35
  101. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.d.ts +0 -6
  102. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.js +65 -73
  103. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.d.ts +4 -11
  104. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.js +46 -36
  105. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.d.ts +0 -6
  106. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.js +56 -50
  107. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationLoading.js +30 -30
  108. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.d.ts +3 -15
  109. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.js +35 -4
  110. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.d.ts +0 -6
  111. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.js +88 -83
  112. package/lib/ACM-AXN/Notifications/NotificationDetail/index.d.ts +5 -2
  113. package/lib/ACM-AXN/Notifications/NotificationDetail/index.js +115 -101
  114. package/lib/ACM-AXN/Notifications/{NotificationPopover.d.ts → NotificationPopover/Container.d.ts} +2 -2
  115. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +149 -0
  116. package/lib/ACM-AXN/Notifications/{NotificationPopover.test.d.ts → NotificationPopover/Container.test.d.ts} +1 -1
  117. package/lib/ACM-AXN/Notifications/{NotificationPopover.test.js → NotificationPopover/Container.test.js} +5 -5
  118. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +8 -0
  119. package/lib/ACM-AXN/Notifications/NotificationPopover/index.js +13 -0
  120. package/lib/ACM-AXN/Notifications/NotificationScreen.d.ts +1 -1
  121. package/lib/ACM-AXN/Notifications/NotificationScreen.js +4 -4
  122. package/lib/ACM-AXN/Notifications/Types.d.ts +242 -0
  123. package/lib/ACM-AXN/Notifications/Types.js +290 -0
  124. package/lib/ACM-AXN/Notifications/index.d.ts +2 -2
  125. package/lib/ACM-AXN/Notifications/index.js +5 -5
  126. package/lib/ACM-AXN/Page/Container.js +101 -63
  127. package/lib/ACM-AXN/Page/CreateOrEdit/DrawerAction.js +22 -5
  128. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +1 -0
  129. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +5 -1
  130. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +1 -1
  131. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +11 -4
  132. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +1 -1
  133. package/lib/ACM-AXN/Page/Types.d.ts +9 -0
  134. package/lib/ACM-AXN/Page/index.js +2 -1
  135. package/lib/ACM-AXN/Permission/Components/Management.test.js +1 -1
  136. package/lib/ACM-AXN/PlaceGroup/Context.d.ts +1 -1
  137. package/lib/ACM-AXN/Statistics/ControlPanel.js +49 -47
  138. package/lib/ACM-AXN/Statistics/Enums.d.ts +1 -0
  139. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  140. package/lib/ACM-AXN/Statistics/container.js +1 -1
  141. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.d.ts +1 -1
  142. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.js +2 -3
  143. package/lib/ACM-AXN/StatisticsAudienceDemographic/interfaces.d.ts +1 -0
  144. package/lib/ACM-AXN/StatisticsByProvince/container.d.ts +1 -1
  145. package/lib/ACM-AXN/StatisticsByProvince/container.js +2 -2
  146. package/lib/ACM-AXN/TaskScheduler/Container.js +1 -1
  147. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +1 -1
  148. package/lib/ACM-AXN/TaskScheduler/Utils.js +2 -0
  149. package/lib/ACM-AXN/User/Add.d.ts +2 -0
  150. package/lib/ACM-AXN/User/Add.js +64 -0
  151. package/lib/ACM-AXN/User/Add.test.d.ts +1 -0
  152. package/lib/ACM-AXN/User/Add.test.js +115 -0
  153. package/lib/ACM-AXN/User/Constants.d.ts +2 -0
  154. package/lib/ACM-AXN/User/Constants.js +5 -0
  155. package/lib/ACM-AXN/User/Container.d.ts +2 -0
  156. package/lib/ACM-AXN/User/Container.js +60 -0
  157. package/lib/ACM-AXN/User/Container.test.d.ts +1 -0
  158. package/lib/ACM-AXN/User/Container.test.js +202 -0
  159. package/lib/ACM-AXN/User/Hook.d.ts +5 -0
  160. package/lib/ACM-AXN/User/Hook.js +13 -0
  161. package/lib/ACM-AXN/User/Types.d.ts +45 -0
  162. package/lib/ACM-AXN/User/Types.js +2 -0
  163. package/lib/ACM-AXN/User/index.d.ts +4 -0
  164. package/lib/ACM-AXN/User/index.js +18 -0
  165. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +1 -1
  166. package/lib/AWING/AdvancedSearch/component.js +1 -1
  167. package/lib/AWING/AdvancedSearch/interface.d.ts +1 -0
  168. package/lib/AWING/ButtonDateRangePicker/ButtonDateRangePicker.js +2 -2
  169. package/lib/AWING/ButtonDateRangePicker/interface.d.ts +1 -0
  170. package/lib/AWING/Chart/BarLineComponent.d.ts +1 -0
  171. package/lib/AWING/Chart/BarLineComponent.js +39 -24
  172. package/lib/AWING/Chart/PieComponent.d.ts +1 -1
  173. package/lib/AWING/Chart/PieComponent.js +0 -1
  174. package/lib/AWING/Chart/Styles.d.ts +6 -2
  175. package/lib/AWING/Chart/Styles.js +6 -2
  176. package/lib/AWING/Chart/index.d.ts +3 -0
  177. package/lib/AWING/Chart/index.js +10 -0
  178. package/lib/AWING/DataForm/DataInput.js +17 -8
  179. package/lib/AWING/DataForm/interface.d.ts +6 -2
  180. package/lib/AWING/DataGrid/index.js +20 -5
  181. package/lib/AWING/DataGrid/interface.d.ts +6 -1
  182. package/lib/AWING/Directory/CreateDirectory.d.ts +3 -0
  183. package/lib/AWING/Directory/CreateDirectory.js +27 -10
  184. package/lib/AWING/PageManagement/PageManagement.js +1 -1
  185. package/lib/AWING/index.d.ts +1 -0
  186. package/lib/AWING/index.js +1 -0
  187. package/lib/AWING/ultis/validation.d.ts +2 -2
  188. package/lib/AWING/ultis/validation.js +6 -4
  189. package/lib/Commons/Components/ClassicBaseDrawer.d.ts +1 -0
  190. package/lib/Commons/Components/ClassicBaseDrawer.js +7 -3
  191. package/lib/Commons/Components/ClassicDrawer.js +2 -2
  192. package/lib/translate/en/translation.json +81 -2
  193. package/lib/translate/vi/translation.json +81 -2
  194. package/package.json +4 -2
  195. package/lib/ACM-AXN/Notifications/NotificationDetail/Common.d.ts +0 -39
  196. package/lib/ACM-AXN/Notifications/NotificationDetail/Common.js +0 -304
  197. 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
- }, [service, setDirectories]);
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, campaignData);
199
+ return service.campaignsPut(campaignId, dataSubmit);
184
200
  }
185
201
  else {
186
- return service.campaignsPost(campaignData);
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
- // case RuleType.RetargetMacAddress:
347
- // return {
348
- // type: type,
349
- // operator: EnumOperator.IntersectExist.id,
350
- // value: '',
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
- // RetargetMacAddress: 7,
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
- // RetargetMacAddress: 7,
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
- // case RuleType.RetargetMacAddress:
500
- // {
501
- // let textFormat = i18next.t(
502
- // 'Campaign.Rule.DescriptionFormat.RetargetMacAddress'
503
- // )
504
- // result += textFormat.replace('{0}', rule.description)
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 CreateDirectory_1 = __importDefault(require("../../AWING/Directory/CreateDirectory"));
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 "../../interface";
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
- "& .MuiOutlinedInput-input": {
28
- padding: "10.5px !important",
27
+ '& .MuiOutlinedInput-input': {
28
+ padding: '10.5px !important',
29
29
  },
30
- "& .MuiFormControl-marginNormal": {
30
+ '& .MuiFormControl-marginNormal': {
31
31
  margin: 0,
32
32
  },
33
- "& .MuiOutlinedInput-adornedEnd": {
34
- paddingRight: "0.25rem",
33
+ '& .MuiOutlinedInput-adornedEnd': {
34
+ paddingRight: '0.25rem',
35
35
  },
36
- "& .MuiIconButton-root": {
37
- padding: "0.5rem",
36
+ '& .MuiIconButton-root': {
37
+ padding: '0.5rem',
38
38
  },
39
- "& .MuiAutocomplete-inputRoot": {
40
- padding: "0.125rem",
39
+ '& .MuiAutocomplete-inputRoot': {
40
+ padding: '0.125rem',
41
41
  },
42
- "& .MuiAutocomplete-endAdornment": {
43
- top: "calc(50% - 19px)",
42
+ '& .MuiAutocomplete-endAdornment': {
43
+ top: 'calc(50% - 19px)',
44
44
  },
45
45
  },
46
46
  filterPlaceBtn: {
47
- cursor: "pointer",
48
- "&:hover": {
49
- transform: "scale(1.2)",
47
+ cursor: 'pointer',
48
+ '&:hover': {
49
+ transform: 'scale(1.2)',
50
50
  },
51
51
  },
52
52
  ellipsisPlaceFilter: {
53
- "& .MuiInputBase-input": {
54
- textOverflow: "ellipsis",
53
+ '& .MuiInputBase-input': {
54
+ textOverflow: 'ellipsis',
55
55
  },
56
- display: "flex",
56
+ display: 'flex',
57
57
  },
58
58
  lineInfo: {
59
- paddingBottom: "0.25rem",
60
- display: "flex",
61
- alignItems: "center",
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
- "& .MuiInputBase-input": {
68
- height: "1.25rem",
67
+ '& .MuiInputBase-input': {
68
+ height: '1.25rem',
69
69
  },
70
70
  },
71
71
  labelIsNetwork: {
72
- backgroundColor: "#c49f47",
73
- color: "#ffffff",
74
- padding: "0 4px",
75
- marginLeft: "4px",
76
- fontSize: "13px",
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("Common.SelectAll") } });
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("startDate", value.startDate);
87
- handleFilters("endDate", value.endDate);
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("Common.StartDate"), " - ").concat(t("Common.EndDate")), callback: handleChangeDateRange, initialStartDate: (0, moment_1.default)(), initialEndDate: (0, moment_1.default)(), variant: "outlined", textFieldProps: {
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
- var now = (0, moment_1.default)().startOf("day").valueOf();
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 : ""; }, isOptionEqualToValue: function (option, value) {
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("campaignId", campaign === null || campaign === void 0 ? void 0 : campaign.id);
104
- }, 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: 4, className: classes.ellipsisPlaceFilter, children: [(0, jsx_runtime_1.jsx)(PlaceMultiSelect, { isDisplayTextField: true, onChange: function (placeIds) {
105
- return handleFilters("placeIds", placeIds);
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: "40px",
108
- position: "relative !important",
109
- marginLeft: "1rem",
110
- marginTop: "6px",
111
- }, 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, {})) })] })] }));
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 "../../interface";
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("Schedule.Campaign") });
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("Schedule.Place") });
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("Schedule.Date") });
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("Schedule.Rate"), " (%)") });
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("Schedule.Total"), " (view)") });
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: "flex",
47
- justifyContent: "flex-start",
48
- flexWrap: "wrap",
49
- listStyle: "none",
50
- paddingTop: "8px",
54
+ display: 'flex',
55
+ justifyContent: 'flex-start',
56
+ flexWrap: 'wrap',
57
+ listStyle: 'none',
58
+ paddingTop: '8px',
51
59
  margin: 0,
52
- height: "40px",
53
- position: "relative !important",
54
- "&.MuiPaper-elevation1": {
55
- boxShadow: "none",
56
- border: "1px solid #ccc",
60
+ height: '40px',
61
+ position: 'relative !important',
62
+ '&.MuiPaper-elevation1': {
63
+ boxShadow: 'none',
64
+ border: '1px solid #ccc',
57
65
  },
58
- minHeight: "30px",
59
- "&:hover": {
60
- "&.MuiPaper-elevation1": {
61
- boxShadow: "none",
62
- border: "1px solid #263238",
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: "1rem" }, draggable: true, onDragStart: function (e) {
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: "absolute",
75
- top: "-3px",
76
- left: "16px",
77
- backgroundColor: "#FFFFFF",
78
- paddingRight: "4px",
79
- paddingLeft: "4px",
80
- marginTop: "6px",
81
- marginLeft: "10px",
82
- }, children: (0, jsx_runtime_1.jsx)("span", { style: { opacity: 0.5 }, children: t("Schedule.DragAndDropLabel") }) })] }));
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 "../../interface";
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: "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 }) }), (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") }) })] })] }) }));
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 "../../interface";
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("Paging.RowPerPage"), onPageChange: function (e) { return handleChangePage(e); }, onRowsPerPageChange: function (e) {
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
- "aria-label": t("Paging.RowPerPage"),
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) ? '' : (0, helper_1.roundDecimalNumber)(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.domainId]) === null || _c === void 0 ? void 0 : _c.name })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: groupNames
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 "../../interface";
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;