awing-library 2.1.17-beta → 2.1.17

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 (219) hide show
  1. package/lib/ACM-AXN/Campaign/Container.js +6 -7
  2. package/lib/ACM-AXN/Campaign/Container.test.js +1 -1
  3. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +1 -1
  4. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +2 -1
  5. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdDetail.test.js +1 -1
  6. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +4 -4
  7. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +16 -1
  8. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.test.js +1 -1
  9. package/lib/ACM-AXN/Campaign/Utils.js +1 -1
  10. package/lib/ACM-AXN/Campaign/index.js +3 -2
  11. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.d.ts +2 -2
  12. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +44 -42
  13. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.d.ts +1 -1
  14. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.js +38 -30
  15. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.d.ts +2 -2
  16. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.js +2 -2
  17. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.d.ts +1 -1
  18. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +4 -2
  19. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +64 -4
  20. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.d.ts +1 -1
  21. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.js +82 -34
  22. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.d.ts +1 -1
  23. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.js +38 -29
  24. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.d.ts +4 -0
  25. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +58 -0
  26. package/lib/ACM-AXN/CampaignSchedule/Enum.d.ts +14 -2
  27. package/lib/ACM-AXN/CampaignSchedule/Enum.js +12 -0
  28. package/lib/ACM-AXN/CampaignSchedule/component.d.ts +2 -2
  29. package/lib/ACM-AXN/CampaignSchedule/component.js +17 -14
  30. package/lib/ACM-AXN/CampaignSchedule/container.d.ts +1 -1
  31. package/lib/ACM-AXN/CampaignSchedule/container.js +100 -99
  32. package/lib/ACM-AXN/CampaignSchedule/interface.d.ts +16 -3
  33. package/lib/ACM-AXN/Directory/DomainDirectory/DomainDirectory.test.js +1 -0
  34. package/lib/ACM-AXN/Directory/DomainDirectory/FolderDetail.test.js +1 -0
  35. package/lib/ACM-AXN/Directory/MenuDirectory/MenuDirectory.test.js +1 -0
  36. package/lib/ACM-AXN/Directory/MenuDirectory/index.js +7 -21
  37. package/lib/ACM-AXN/Directory/SystemDirectory/SystemDirectory.test.js +1 -0
  38. package/lib/ACM-AXN/Directory/SystemDirectory/index.js +6 -5
  39. package/lib/ACM-AXN/Directory/components/CreateOrEditFolder.test.js +1 -0
  40. package/lib/ACM-AXN/Directory/components/Permission/AddAuthen.test.js +2 -0
  41. package/lib/ACM-AXN/Directory/components/Permission/CreateOrEditPermission.test.js +2 -0
  42. package/lib/ACM-AXN/Directory/components/Permission/Management.js +7 -5
  43. package/lib/ACM-AXN/Directory/components/Permission/ManagementPermission.test.js +3 -0
  44. package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.js +9 -7
  45. package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.test.js +2 -0
  46. package/lib/ACM-AXN/Directory/function.d.ts +1 -0
  47. package/lib/ACM-AXN/Directory/function.js +15 -1
  48. package/lib/ACM-AXN/DomainPreview/PreviewButton.js +57 -34
  49. package/lib/ACM-AXN/GroupUser/Constants.d.ts +7 -0
  50. package/lib/ACM-AXN/GroupUser/Constants.js +10 -0
  51. package/lib/ACM-AXN/GroupUser/Container.d.ts +2 -0
  52. package/lib/ACM-AXN/GroupUser/Container.js +55 -0
  53. package/lib/ACM-AXN/GroupUser/Container.test.d.ts +1 -0
  54. package/lib/ACM-AXN/GroupUser/Container.test.js +210 -0
  55. package/lib/ACM-AXN/GroupUser/CreateOrEdit.d.ts +3 -0
  56. package/lib/ACM-AXN/GroupUser/CreateOrEdit.js +99 -0
  57. package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.d.ts +1 -0
  58. package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.js +235 -0
  59. package/lib/ACM-AXN/GroupUser/Hooks.d.ts +5 -0
  60. package/lib/ACM-AXN/GroupUser/Hooks.js +13 -0
  61. package/lib/ACM-AXN/GroupUser/Types.d.ts +31 -0
  62. package/lib/ACM-AXN/GroupUser/Types.js +2 -0
  63. package/lib/ACM-AXN/GroupUser/User/SearchUser.d.ts +9 -0
  64. package/lib/ACM-AXN/GroupUser/User/SearchUser.js +63 -0
  65. package/lib/ACM-AXN/GroupUser/User/SearchUser.test.d.ts +1 -0
  66. package/lib/ACM-AXN/GroupUser/User/SearchUser.test.js +140 -0
  67. package/lib/ACM-AXN/GroupUser/User/UserComponent.d.ts +9 -0
  68. package/lib/ACM-AXN/GroupUser/User/UserComponent.js +83 -0
  69. package/lib/ACM-AXN/GroupUser/User/UserComponent.test.d.ts +1 -0
  70. package/lib/ACM-AXN/GroupUser/User/UserComponent.test.js +128 -0
  71. package/lib/ACM-AXN/GroupUser/index.d.ts +4 -0
  72. package/lib/ACM-AXN/GroupUser/index.js +27 -0
  73. package/lib/ACM-AXN/Notifications/Constant.d.ts +146 -0
  74. package/lib/ACM-AXN/Notifications/Constant.js +136 -0
  75. package/lib/ACM-AXN/Notifications/Context.d.ts +8 -0
  76. package/lib/ACM-AXN/Notifications/Context.js +10 -0
  77. package/lib/ACM-AXN/Notifications/Hooks.d.ts +7 -0
  78. package/lib/ACM-AXN/Notifications/Hooks.js +17 -0
  79. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.d.ts +3 -3
  80. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.js +31 -30
  81. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.d.ts +1 -1
  82. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.js +30 -39
  83. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.d.ts +3 -5
  84. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.js +18 -17
  85. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.d.ts +1 -1
  86. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.js +15 -15
  87. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.d.ts +0 -6
  88. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.js +29 -28
  89. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.d.ts +11 -0
  90. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.js +291 -0
  91. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.d.ts +1 -1
  92. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.js +3 -3
  93. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.d.ts +0 -6
  94. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.js +38 -48
  95. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.d.ts +2 -2
  96. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.js +38 -35
  97. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.d.ts +0 -6
  98. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.js +65 -73
  99. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.d.ts +4 -11
  100. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.js +48 -36
  101. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.d.ts +0 -6
  102. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.js +56 -50
  103. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationLoading.js +30 -30
  104. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.d.ts +3 -15
  105. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.js +35 -4
  106. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.d.ts +0 -6
  107. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.js +88 -83
  108. package/lib/ACM-AXN/Notifications/NotificationDetail/index.d.ts +5 -2
  109. package/lib/ACM-AXN/Notifications/NotificationDetail/index.js +115 -101
  110. package/lib/ACM-AXN/Notifications/{NotificationPopover.d.ts → NotificationPopover/Container.d.ts} +2 -2
  111. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +149 -0
  112. package/lib/ACM-AXN/Notifications/{NotificationPopover.test.d.ts → NotificationPopover/Container.test.d.ts} +1 -1
  113. package/lib/ACM-AXN/Notifications/{NotificationPopover.test.js → NotificationPopover/Container.test.js} +5 -5
  114. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +8 -0
  115. package/lib/ACM-AXN/Notifications/NotificationPopover/index.js +13 -0
  116. package/lib/ACM-AXN/Notifications/NotificationScreen.d.ts +1 -1
  117. package/lib/ACM-AXN/Notifications/NotificationScreen.js +4 -4
  118. package/lib/ACM-AXN/Notifications/Types.d.ts +84 -0
  119. package/lib/ACM-AXN/Notifications/Types.js +13 -0
  120. package/lib/ACM-AXN/Notifications/index.d.ts +2 -2
  121. package/lib/ACM-AXN/Notifications/index.js +5 -5
  122. package/lib/ACM-AXN/Page/Container.js +5 -4
  123. package/lib/ACM-AXN/Page/CreateOrEdit/DrawerAction.js +6 -1
  124. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +1 -0
  125. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +2 -1
  126. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +2 -1
  127. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.d.ts +0 -1
  128. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +15 -6
  129. package/lib/ACM-AXN/Page/Types.d.ts +1 -0
  130. package/lib/ACM-AXN/Page/index.js +2 -1
  131. package/lib/ACM-AXN/Permission/Components/Management.test.js +1 -1
  132. package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.d.ts +0 -7
  133. package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.js +0 -135
  134. package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.test.js +2 -2
  135. package/lib/ACM-AXN/PlaceGroup/Context.d.ts +1 -1
  136. package/lib/ACM-AXN/PlaceGroup/CreateOrEdit.js +103 -3
  137. package/lib/ACM-AXN/Statistics/ControlPanel.js +41 -39
  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/Statistics/interface.d.ts +2 -2
  142. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.d.ts +1 -1
  143. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.js +2 -3
  144. package/lib/ACM-AXN/StatisticsAudienceDemographic/interfaces.d.ts +1 -0
  145. package/lib/ACM-AXN/StatisticsByProvince/container.d.ts +1 -1
  146. package/lib/ACM-AXN/StatisticsByProvince/container.js +2 -2
  147. package/lib/ACM-AXN/TaskScheduler/Components/TriggerInput.js +4 -2
  148. package/lib/ACM-AXN/TaskScheduler/Constant.d.ts +0 -107
  149. package/lib/ACM-AXN/TaskScheduler/Constant.js +1 -105
  150. package/lib/ACM-AXN/TaskScheduler/Container.js +1 -1
  151. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +6 -8
  152. package/lib/ACM-AXN/TaskScheduler/Utils.js +6 -1
  153. package/lib/ACM-AXN/TransactionLog/Container.js +6 -4
  154. package/lib/ACM-AXN/TransactionLog/Detail.js +3 -1
  155. package/lib/ACM-AXN/TransactionLog/Types.d.ts +1 -107
  156. package/lib/ACM-AXN/TransactionLog/Types.js +1 -109
  157. package/lib/ACM-AXN/TransactionLog/Utils.d.ts +0 -103
  158. package/lib/ACM-AXN/TransactionLog/Utils.js +1 -104
  159. package/lib/ACM-AXN/User/Add.d.ts +2 -0
  160. package/lib/ACM-AXN/User/Add.js +64 -0
  161. package/lib/ACM-AXN/User/Add.test.d.ts +1 -0
  162. package/lib/ACM-AXN/User/Add.test.js +115 -0
  163. package/lib/ACM-AXN/User/Constants.d.ts +2 -0
  164. package/lib/ACM-AXN/User/Constants.js +5 -0
  165. package/lib/ACM-AXN/User/Container.d.ts +2 -0
  166. package/lib/ACM-AXN/User/Container.js +60 -0
  167. package/lib/ACM-AXN/User/Container.test.d.ts +1 -0
  168. package/lib/ACM-AXN/User/Container.test.js +202 -0
  169. package/lib/ACM-AXN/User/Hook.d.ts +5 -0
  170. package/lib/ACM-AXN/User/Hook.js +13 -0
  171. package/lib/ACM-AXN/User/Types.d.ts +45 -0
  172. package/lib/ACM-AXN/User/Types.js +2 -0
  173. package/lib/ACM-AXN/User/index.d.ts +4 -0
  174. package/lib/ACM-AXN/User/index.js +18 -0
  175. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +1 -1
  176. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/ObjectField.d.ts +2 -0
  177. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/ObjectField.js +19 -3
  178. package/lib/ACM-AXN/ViewTemplate/container.js +2 -1
  179. package/lib/AWING/AdvancedSearch/component.js +1 -1
  180. package/lib/AWING/AdvancedSearch/interface.d.ts +1 -0
  181. package/lib/AWING/BasicDataForm/index.js +3 -1
  182. package/lib/AWING/BasicDataForm/interface.d.ts +2 -2
  183. package/lib/AWING/ButtonDateRangePicker/ButtonDateRangePicker.js +2 -2
  184. package/lib/AWING/ButtonDateRangePicker/interface.d.ts +1 -0
  185. package/lib/AWING/Chart/BarLineComponent.d.ts +8 -5
  186. package/lib/AWING/Chart/BarLineComponent.js +34 -28
  187. package/lib/AWING/Chart/PieComponent.d.ts +8 -7
  188. package/lib/AWING/Chart/PieComponent.js +1 -2
  189. package/lib/AWING/Chart/Styles.d.ts +6 -2
  190. package/lib/AWING/Chart/Styles.js +6 -2
  191. package/lib/AWING/Chart/index.d.ts +3 -0
  192. package/lib/AWING/Chart/index.js +10 -0
  193. package/lib/AWING/DataForm/DataInput.js +19 -10
  194. package/lib/AWING/DataForm/interface.d.ts +8 -4
  195. package/lib/AWING/DataGrid/index.js +17 -5
  196. package/lib/AWING/DataGrid/interface.d.ts +1 -1
  197. package/lib/AWING/Directory/CreateDirectory.d.ts +3 -0
  198. package/lib/AWING/Directory/CreateDirectory.js +27 -10
  199. package/lib/AWING/PageManagement/PageManagement.js +3 -3
  200. package/lib/AWING/PageManagement/interface.d.ts +2 -1
  201. package/lib/AWING/index.d.ts +1 -0
  202. package/lib/AWING/index.js +1 -0
  203. package/lib/AWING/ultis/validation.d.ts +1 -1
  204. package/lib/AWING/ultis/validation.js +4 -2
  205. package/lib/Commons/Components/ClassicBaseDrawer.d.ts +1 -0
  206. package/lib/Commons/Components/ClassicBaseDrawer.js +7 -3
  207. package/lib/Commons/Components/ClassicDrawer.js +1 -1
  208. package/lib/Context/index.js +1 -0
  209. package/lib/Context/interface.d.ts +1 -0
  210. package/lib/Utils/Helpers.d.ts +1 -0
  211. package/lib/Utils/Helpers.js +17 -9
  212. package/lib/translate/en/translation.json +81 -2
  213. package/lib/translate/vi/translation.json +81 -2
  214. package/package.json +3 -1
  215. package/lib/ACM-AXN/Notifications/NotificationDetail/Common.d.ts +0 -39
  216. package/lib/ACM-AXN/Notifications/NotificationDetail/Common.js +0 -304
  217. package/lib/ACM-AXN/Notifications/NotificationPopover.js +0 -69
  218. package/lib/ACM-AXN/Page/ViewDomain/index.d.ts +0 -9
  219. package/lib/ACM-AXN/Page/ViewDomain/index.js +0 -148
@@ -49,7 +49,7 @@ var CampaignContainer = function () {
49
49
  var _c = (0, react_1.useState)([]), directories = _c[0], setDirectories = _c[1];
50
50
  var _d = (0, react_1.useState)([]), collapseIds = _d[0], setCollapseId = _d[1];
51
51
  var _e = (0, react_1.useState)(), listCampaign = _e[0], setListCampaign = _e[1];
52
- var _f = (0, react_1.useState)(false), loading = _f[0], setLoading = _f[1];
52
+ var _f = (0, react_1.useState)(true), loading = _f[0], setLoading = _f[1];
53
53
  (0, react_1.useEffect)(function () {
54
54
  if (location.pathname.endsWith(Constant_1.Constants.CAMPAIGN_PATH)) {
55
55
  fetchDirectories();
@@ -256,20 +256,19 @@ var CampaignContainer = function () {
256
256
  },
257
257
  {
258
258
  field: 'booking',
259
- headerName: t('Campaign.BookingText'),
259
+ headerName: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { width: '150px', textAlign: 'right' }, children: t('Campaign.BookingText') }),
260
260
  valueGetter: function (row) {
261
261
  var _a;
262
+ var text = '';
262
263
  if ((_a = row === null || row === void 0 ? void 0 : row.campaign) === null || _a === void 0 ? void 0 : _a.id) {
263
- return (0, Utils_1.getTotalBooking)(row === null || row === void 0 ? void 0 : row.campaignGroups);
264
+ text = (0, Utils_1.getTotalBooking)(row === null || row === void 0 ? void 0 : row.campaignGroups);
264
265
  }
265
266
  else {
266
- return (0, Utils_1.checkPriority)(row.campaignGroup.priority, Types_1.CampaignPriority.ClassB)
267
+ text = (0, Utils_1.checkPriority)(row.campaignGroup.priority, Types_1.CampaignPriority.ClassB)
267
268
  ? (0, Helpers_1.roundDecimalNumber)(row.campaignGroup.bookingAmount)
268
269
  : 'N/A';
269
270
  }
270
- },
271
- TableCellProps: {
272
- align: 'right',
271
+ return (0, jsx_runtime_1.jsx)(material_1.Box, { sx: { width: '150px', textAlign: 'right' }, children: text });
273
272
  },
274
273
  },
275
274
  ], rows: (0, Utils_1.formatListCampaign)(listCampaign === null || listCampaign === void 0 ? void 0 : listCampaign.items, collapseIds) || [], rowActions: [
@@ -244,7 +244,7 @@ jest.mock('CustomHooks/useAppHelper', function () { return ({
244
244
  }); },
245
245
  }); });
246
246
  // Mock PageManagement
247
- jest.mock('awing-library/lib/AWING/PageManagement', function () { return ({
247
+ jest.mock('AWING/PageManagement', function () { return ({
248
248
  PageManagement: function (props) {
249
249
  return ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("button", { "data-testid": "onChangeQueryInput", onClick: function () {
250
250
  props.onChangeQueryInput({
@@ -98,7 +98,7 @@ exports.campaignAttributesState = (0, recoil_1.selector)({
98
98
  var campaignModel = get(exports.campaignModelState);
99
99
  set(exports.campaignModelState, campaignAttributes instanceof recoil_1.DefaultValue ?
100
100
  campaignAttributes : __assign(__assign({}, campaignModel), { campaignAttributes: campaignAttributes }));
101
- if (!get(exports.confirmExitState))
101
+ if (!get(exports.confirmExitState) && Array.isArray(campaignAttributes) && !!campaignAttributes.at(-1))
102
102
  set(exports.confirmExitState, true);
103
103
  }
104
104
  });
@@ -47,6 +47,7 @@ var recoil_1 = require("recoil");
47
47
  var AWING_1 = require("../../../AWING");
48
48
  var Recoils_1 = require("./Recoils");
49
49
  var Hooks_1 = __importDefault(require("../Hooks"));
50
+ var i18n_1 = __importDefault(require("../../../i18n"));
50
51
  var Infomation = function () {
51
52
  var service = (0, Hooks_1.default)().service;
52
53
  var directories = (0, recoil_1.useRecoilValue)(Recoils_1.directoriesState);
@@ -54,7 +55,7 @@ var Infomation = function () {
54
55
  var _a = (0, recoil_1.useRecoilState)(Recoils_1.campaignState), campaign = _a[0], setCampaign = _a[1];
55
56
  var _b = (0, recoil_1.useRecoilState)(Recoils_1.campaignAttributesState), campaignAttributes = _b[0], setCampaignAttributes = _b[1];
56
57
  var setCampaignModel = (0, recoil_1.useSetRecoilState)(Recoils_1.campaignModelState);
57
- var t = (0, react_i18next_1.useTranslation)().t;
58
+ var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }).t;
58
59
  (0, react_1.useEffect)(function () {
59
60
  if (!campaign.directoryId) {
60
61
  setCampaignModel((0, immer_1.default)(function (draft) {
@@ -16,7 +16,7 @@ function MockComponent(props) {
16
16
  // const MockComponentFactory = (name: string) => () => (props: any) => <div><div/>
17
17
  jest.mock('Features/PlaceFilter', function () { return MockComponent; });
18
18
  jest.mock("Components/Typescript/AsynchronousAutocomplete", function () { return MockComponent; });
19
- jest.mock("awing-library/lib/AWING/DateRangePicker", function () { return MockComponent; });
19
+ jest.mock("AWING/DateRangePicker", function () { return MockComponent; });
20
20
  jest.mock('Services/DirectoryPermission', function () { return ({
21
21
  getByObjectTypeCode: function () { return new Promise(function (resolve) {
22
22
  resolve({
@@ -232,13 +232,13 @@ function AdList(props) {
232
232
  /**
233
233
  * Hàm khi xem preview
234
234
  */
235
- var handlePreview = function (e, ad, doaminId) {
235
+ var handlePreview = function (e, ad, domainId) {
236
236
  e.stopPropagation();
237
- var url = "".concat(Constant_1.Constants.CAPTIVE_DOMAIN, "/").concat(Constant_1.Constants.PAGE_LOGIN_PREVIEW, "?loginId=").concat(ad.loginId, "&isNetworkCampaign=false");
237
+ var url = "".concat(Constant_1.Constants.CAPTIVE_DOMAIN, "/").concat(Constant_1.Constants.PAGE_LOGIN_PREVIEW, "?loginId=").concat(ad.loginId, "&isNetworkCampaign=").concat(Boolean(service.domainsGetAll).toString());
238
238
  if (ad.welcomeId.length)
239
239
  url += "&welcomeId=".concat(ad.welcomeId);
240
- if (doaminId)
241
- url += "&doaminId=".concat(doaminId);
240
+ if (domainId)
241
+ url += "&domainId=".concat(domainId);
242
242
  window.open(url, '_blank');
243
243
  };
244
244
  var handlePreviewPage = function (e, ad) {
@@ -33,6 +33,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
33
33
  __setModuleDefault(result, mod);
34
34
  return result;
35
35
  };
36
+ var __rest = (this && this.__rest) || function (s, e) {
37
+ var t = {};
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
+ t[p] = s[p];
40
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
+ t[p[i]] = s[p[i]];
44
+ }
45
+ return t;
46
+ };
36
47
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
48
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
49
  };
@@ -189,10 +200,14 @@ var Advanced = function (props) {
189
200
  onClose();
190
201
  }
191
202
  };
203
+ var ruleType = react_1.default.useMemo(function () {
204
+ var RetargetMacAddress = Utils_1.RuleType.RetargetMacAddress, other = __rest(Utils_1.RuleType, ["RetargetMacAddress"]);
205
+ return (service === null || service === void 0 ? void 0 : service.remarketingListGetAll) ? Utils_1.RuleType : other;
206
+ }, [service]);
192
207
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ClassicBaseDrawer_1.default, { title: translationText.advanced, open: isOpen, onSubmit: handleSubmit, onClose: handleClose, children: (0, jsx_runtime_1.jsx)(material_1.Paper, { sx: classes.paper, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, children: [(0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 12, container: true, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, md: true }), (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, sx: classes.buttonGroup, children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", color: "primary", endIcon: (0, jsx_runtime_1.jsx)(icons_material_1.ExpandMore, {}), "aria-controls": "simple-menu", "aria-haspopup": "true", onClick: function (e) {
193
208
  e.stopPropagation();
194
209
  setAnchorElRule(e.currentTarget);
195
- }, children: translationText.addRule }), (0, jsx_runtime_1.jsx)(material_1.Menu, { id: "simple-menu", anchorEl: anchorElRule, keepMounted: true, open: Boolean(anchorElRule), onClose: function () { return handleButtonMenuClose(); }, children: Object.keys(Utils_1.RuleType).map(function (type, idx) {
210
+ }, children: translationText.addRule }), (0, jsx_runtime_1.jsx)(material_1.Menu, { id: "simple-menu", anchorEl: anchorElRule, keepMounted: true, open: Boolean(anchorElRule), onClose: function () { return handleButtonMenuClose(); }, children: Object.keys(ruleType).map(function (type, idx) {
196
211
  var _a;
197
212
  return ((0, jsx_runtime_1.jsx)(material_1.MenuItem, { onClick: function () { return handleAddRule(type); }, children: ((_a = Object.entries(translationText.type).find(function (_a) {
198
213
  var k = _a[0], val = _a[1];
@@ -14,7 +14,7 @@ var Recoils_1 = require("../Recoils");
14
14
  function MockComponent(props) {
15
15
  return (0, jsx_runtime_1.jsx)("div", {});
16
16
  }
17
- jest.mock('awing-library/lib/AWING', function () { return ({
17
+ jest.mock('AWING', function () { return ({
18
18
  Actions: MockComponent,
19
19
  }); });
20
20
  var RecoilObserver = function (_a) {
@@ -505,7 +505,7 @@ var getDescription = function (rule) {
505
505
  case exports.RuleType.RetargetMacAddress:
506
506
  {
507
507
  var textFormat = i18n_1.default.t('Campaign.Rule.DescriptionFormat.RetargetMacAddress');
508
- result += textFormat.replace('{0}', rule.description);
508
+ result += textFormat.replace('{0}', JSON.parse(rule.parameter || '{}').name);
509
509
  }
510
510
  break;
511
511
  default:
@@ -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: disabledCampaignFilter !== null && disabledCampaignFilter !== void 0 ? disabledCampaignFilter : 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, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
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
@@ -131,7 +134,10 @@ var RowAdvanceComponent = function (_a) {
131
134
  groupNames
132
135
  .slice(0, priorityGroupLevel - 1)
133
136
  .indexOf(Enum_1.HEAD_CELL_NAMES.PLACE) === -1 ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledPlaceField, children: ((_b = options === null || options === void 0 ? void 0 : options.places[row === null || row === void 0 ? void 0 : row.placeId]) === null || _b === void 0 ? void 0 : _b.name) ||
134
- (row === null || row === void 0 ? void 0 : row.totalPlace) })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})) })) }, item.id));
137
+ ((row === null || row === void 0 ? void 0 : row.totalPlace) !==
138
+ 0
139
+ ? row === null || row === void 0 ? void 0 : row.totalPlace
140
+ : '') })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})) })) }, item.id));
135
141
  case Enum_1.HEAD_CELL_NAMES.CAMPAIGN:
136
142
  return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: fieldNameShowOn ===
137
143
  Enum_1.HEAD_CELL_NAMES.CAMPAIGN ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledCampaignField, children: (0, jsx_runtime_1.jsx)(CampaignLabel, { campaignId: row === null || row === void 0 ? void 0 : row.groupKeyId, campaigns: options === null || options === void 0 ? void 0 : options.campaigns, classes: classes }) })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: groupNames
@@ -140,7 +146,7 @@ var RowAdvanceComponent = function (_a) {
140
146
  (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
147
  case Enum_1.HEAD_CELL_NAMES.DOMAIN:
142
148
  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
149
+ 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
150
  .slice(0, priorityGroupLevel - 1)
145
151
  .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
152
  case Enum_1.HEAD_CELL_NAMES.DATE:
@@ -154,6 +160,60 @@ var RowAdvanceComponent = function (_a) {
154
160
  : totalRate }, item.id));
155
161
  case Enum_1.HEAD_CELL_NAMES.TOTAL:
156
162
  return ((0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", children: totalView }, item.id));
163
+ case Enum_1.HEAD_CELL_NAMES.IMPRESSION:
164
+ return ((0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "center", children: row === null || row === void 0 ? void 0 : row.view }, item.id));
165
+ case Enum_1.HEAD_CELL_NAMES.FINAL_CLICK:
166
+ return ((0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", children: row === null || row === void 0 ? void 0 : row.click }, item.id));
167
+ case Enum_1.HEAD_CELL_NAMES.CTR:
168
+ return ((0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", children: ctr }, item.id));
169
+ case Enum_1.HEAD_CELL_NAMES.CAMPAIGN_CAMPAIGN:
170
+ return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: fieldNameShowOn ===
171
+ 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) !== ''
172
+ ? (_f = row === null || row === void 0 ? void 0 : row.campaign) === null || _f === void 0 ? void 0 : _f.name
173
+ : ((_g = row === null || row === void 0 ? void 0 : row.campaign) === null || _g === void 0 ? void 0 : _g.campaignId) !==
174
+ '0'
175
+ ? (_h = row === null || row === void 0 ? void 0 : row.campaign) === null || _h === void 0 ? void 0 : _h.campaignId
176
+ : '' })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: groupNames
177
+ .slice(0, priorityGroupLevel - 1)
178
+ .indexOf(Enum_1.HEAD_CELL_NAMES.CAMPAIGN_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
179
+ (0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledCampaignField, children: ((_j = row === null || row === void 0 ? void 0 : row.campaign) === null || _j === void 0 ? void 0 : _j.name) !== ''
180
+ ? (_k = row === null || row === void 0 ? void 0 : row.campaign) === null || _k === void 0 ? void 0 : _k.name
181
+ : ((_l = row === null || row === void 0 ? void 0 : row.campaign) === null || _l === void 0 ? void 0 : _l.campaignId) !==
182
+ '0'
183
+ ? (_m = row === null || row === void 0 ? void 0 : row.campaign) === null || _m === void 0 ? void 0 : _m.campaignId
184
+ : '' })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})) })) }, item.id));
185
+ case Enum_1.HEAD_CELL_NAMES.DOMAIN_CAMPAIGN:
186
+ return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: fieldNameShowOn ===
187
+ Enum_1.HEAD_CELL_NAMES.DOMAIN_CAMPAIGN ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledDomainField, children: ((_o = row === null || row === void 0 ? void 0 : row.domain) === null || _o === void 0 ? void 0 : _o.name) !== ''
188
+ ? (_p = row === null || row === void 0 ? void 0 : row.domain) === null || _p === void 0 ? void 0 : _p.name
189
+ : ((_q = row === null || row === void 0 ? void 0 : row.domain) === null || _q === void 0 ? void 0 : _q.domainId) !== '0'
190
+ ? (_r = row === null || row === void 0 ? void 0 : row.domain) === null || _r === void 0 ? void 0 : _r.domainId
191
+ : '' })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: groupNames
192
+ .slice(0, priorityGroupLevel - 1)
193
+ .indexOf(Enum_1.HEAD_CELL_NAMES.DOMAIN_CAMPAIGN) === -1 ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledDomainField, children: ((_s = row === null || row === void 0 ? void 0 : row.domain) === null || _s === void 0 ? void 0 : _s.name) !== ''
194
+ ? (_t = row === null || row === void 0 ? void 0 : row.domain) === null || _t === void 0 ? void 0 : _t.name
195
+ : ((_u = row === null || row === void 0 ? void 0 : row.domain) === null || _u === void 0 ? void 0 : _u.domainId) !== '0'
196
+ ? (_v = row === null || row === void 0 ? void 0 : row.domain) === null || _v === void 0 ? void 0 : _v.domainId
197
+ : '' })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})) })) }, item.id));
198
+ case Enum_1.HEAD_CELL_NAMES.PLACE_CAMPAIGN:
199
+ return ((0, jsx_runtime_1.jsx)(react_1.default.Fragment, { children: fieldNameShowOn ===
200
+ Enum_1.HEAD_CELL_NAMES.PLACE_CAMPAIGN ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledPlaceField, children: ((_w = row === null || row === void 0 ? void 0 : row.place) === null || _w === void 0 ? void 0 : _w.name) !== ''
201
+ ? (_x = row === null || row === void 0 ? void 0 : row.place) === null || _x === void 0 ? void 0 : _x.name
202
+ : ((_y = row === null || row === void 0 ? void 0 : row.place) === null || _y === void 0 ? void 0 : _y.placeId) !== '0'
203
+ ? (_z = row === null || row === void 0 ? void 0 : row.place) === null || _z === void 0 ? void 0 : _z.placeId
204
+ : '' })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children:
205
+ // Nếu field hiện tại ko phải groupName đang showOn thì 3Th
206
+ // TH1: field nằm trong groupNames nhưng đúng trước fieldNameShowOn hiển thị name
207
+ // TH2: field nằm sau fieldNameShowOn trong groupNames hiển thi total
208
+ // Th3: field ko trong groupNames hiển thị total hoặ thông tin schedule nếu nó là cấp cuối cùng
209
+ groupNames
210
+ .slice(0, priorityGroupLevel - 1)
211
+ .indexOf(Enum_1.HEAD_CELL_NAMES.PLACE_CAMPAIGN) === -1 ? ((0, jsx_runtime_1.jsx)(material_1.TableCell, { className: classes.styledPlaceField, children: ((_0 = row === null || row === void 0 ? void 0 : row.place) === null || _0 === void 0 ? void 0 : _0.name) !== ''
212
+ ? (_1 = row === null || row === void 0 ? void 0 : row.place) === null || _1 === void 0 ? void 0 : _1.name
213
+ : ((_2 = row === null || row === void 0 ? void 0 : row.place) === null || _2 === void 0 ? void 0 : _2.placeId) !==
214
+ '0'
215
+ ? (_3 = row === null || row === void 0 ? void 0 : row.place) === null || _3 === void 0 ? void 0 : _3.placeId
216
+ : '' })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {})) })) }, item.id));
157
217
  default:
158
218
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
159
219
  }