awing-library 2.1.16-beta → 2.1.16

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 (225) 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.js +1 -1
  5. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +2 -1
  6. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdDetail.test.js +1 -1
  7. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +50 -6
  8. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.d.ts +5 -0
  9. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +6 -18
  10. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +16 -1
  11. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.test.js +1 -1
  12. package/lib/ACM-AXN/Campaign/Utils.js +1 -1
  13. package/lib/ACM-AXN/Campaign/index.js +3 -2
  14. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.d.ts +2 -2
  15. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +44 -42
  16. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.d.ts +1 -1
  17. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.js +38 -30
  18. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.d.ts +2 -2
  19. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.js +2 -2
  20. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.d.ts +1 -1
  21. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +4 -2
  22. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +64 -4
  23. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.d.ts +1 -1
  24. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.js +82 -34
  25. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.d.ts +1 -1
  26. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.js +38 -29
  27. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.d.ts +4 -0
  28. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +58 -0
  29. package/lib/ACM-AXN/CampaignSchedule/Enum.d.ts +14 -2
  30. package/lib/ACM-AXN/CampaignSchedule/Enum.js +12 -0
  31. package/lib/ACM-AXN/CampaignSchedule/component.d.ts +2 -2
  32. package/lib/ACM-AXN/CampaignSchedule/component.js +17 -14
  33. package/lib/ACM-AXN/CampaignSchedule/container.d.ts +1 -1
  34. package/lib/ACM-AXN/CampaignSchedule/container.js +100 -99
  35. package/lib/ACM-AXN/CampaignSchedule/interface.d.ts +16 -3
  36. package/lib/ACM-AXN/Directory/DomainDirectory/DomainDirectory.test.js +1 -0
  37. package/lib/ACM-AXN/Directory/DomainDirectory/FolderDetail.test.js +1 -0
  38. package/lib/ACM-AXN/Directory/MenuDirectory/MenuDirectory.test.js +1 -0
  39. package/lib/ACM-AXN/Directory/MenuDirectory/index.js +7 -21
  40. package/lib/ACM-AXN/Directory/SystemDirectory/SystemDirectory.test.js +1 -0
  41. package/lib/ACM-AXN/Directory/SystemDirectory/index.js +6 -5
  42. package/lib/ACM-AXN/Directory/components/CreateOrEditFolder.test.js +1 -0
  43. package/lib/ACM-AXN/Directory/components/Permission/AddAuthen.test.js +2 -0
  44. package/lib/ACM-AXN/Directory/components/Permission/CreateOrEditPermission.test.js +2 -0
  45. package/lib/ACM-AXN/Directory/components/Permission/Management.js +7 -5
  46. package/lib/ACM-AXN/Directory/components/Permission/ManagementPermission.test.js +3 -0
  47. package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.js +9 -7
  48. package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.test.js +2 -0
  49. package/lib/ACM-AXN/Directory/function.d.ts +1 -0
  50. package/lib/ACM-AXN/Directory/function.js +15 -1
  51. package/lib/ACM-AXN/DomainPreview/PreviewButton.d.ts +15 -0
  52. package/lib/ACM-AXN/DomainPreview/PreviewButton.js +188 -0
  53. package/lib/ACM-AXN/DomainPreview/index.d.ts +7 -2
  54. package/lib/ACM-AXN/DomainPreview/index.js +6 -3
  55. package/lib/ACM-AXN/GroupUser/Constants.d.ts +7 -0
  56. package/lib/ACM-AXN/GroupUser/Constants.js +10 -0
  57. package/lib/ACM-AXN/GroupUser/Container.d.ts +2 -0
  58. package/lib/ACM-AXN/GroupUser/Container.js +55 -0
  59. package/lib/ACM-AXN/GroupUser/Container.test.d.ts +1 -0
  60. package/lib/ACM-AXN/GroupUser/Container.test.js +210 -0
  61. package/lib/ACM-AXN/GroupUser/CreateOrEdit.d.ts +3 -0
  62. package/lib/ACM-AXN/GroupUser/CreateOrEdit.js +99 -0
  63. package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.d.ts +1 -0
  64. package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.js +235 -0
  65. package/lib/ACM-AXN/GroupUser/Hooks.d.ts +5 -0
  66. package/lib/ACM-AXN/GroupUser/Hooks.js +13 -0
  67. package/lib/ACM-AXN/GroupUser/Types.d.ts +31 -0
  68. package/lib/ACM-AXN/GroupUser/Types.js +2 -0
  69. package/lib/ACM-AXN/GroupUser/User/SearchUser.d.ts +9 -0
  70. package/lib/ACM-AXN/GroupUser/User/SearchUser.js +63 -0
  71. package/lib/ACM-AXN/GroupUser/User/SearchUser.test.d.ts +1 -0
  72. package/lib/ACM-AXN/GroupUser/User/SearchUser.test.js +140 -0
  73. package/lib/ACM-AXN/GroupUser/User/UserComponent.d.ts +9 -0
  74. package/lib/ACM-AXN/GroupUser/User/UserComponent.js +83 -0
  75. package/lib/ACM-AXN/GroupUser/User/UserComponent.test.d.ts +1 -0
  76. package/lib/ACM-AXN/GroupUser/User/UserComponent.test.js +128 -0
  77. package/lib/ACM-AXN/GroupUser/index.d.ts +4 -0
  78. package/lib/ACM-AXN/GroupUser/index.js +27 -0
  79. package/lib/ACM-AXN/Notifications/Constant.d.ts +146 -0
  80. package/lib/ACM-AXN/Notifications/Constant.js +136 -0
  81. package/lib/ACM-AXN/Notifications/Context.d.ts +8 -0
  82. package/lib/ACM-AXN/Notifications/Context.js +10 -0
  83. package/lib/ACM-AXN/Notifications/Hooks.d.ts +7 -0
  84. package/lib/ACM-AXN/Notifications/Hooks.js +17 -0
  85. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.d.ts +3 -3
  86. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.js +31 -30
  87. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.d.ts +1 -1
  88. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.js +30 -39
  89. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.d.ts +3 -5
  90. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.js +18 -17
  91. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.d.ts +1 -1
  92. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.js +15 -15
  93. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.d.ts +0 -6
  94. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.js +29 -28
  95. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.d.ts +11 -0
  96. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.js +291 -0
  97. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.d.ts +1 -1
  98. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.js +3 -3
  99. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.d.ts +0 -6
  100. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.js +38 -48
  101. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.d.ts +2 -2
  102. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.js +38 -35
  103. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.d.ts +0 -6
  104. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.js +65 -73
  105. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.d.ts +4 -11
  106. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.js +48 -36
  107. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.d.ts +0 -6
  108. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.js +56 -50
  109. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationLoading.js +30 -30
  110. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.d.ts +3 -15
  111. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.js +35 -4
  112. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.d.ts +0 -6
  113. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.js +88 -83
  114. package/lib/ACM-AXN/Notifications/NotificationDetail/index.d.ts +5 -2
  115. package/lib/ACM-AXN/Notifications/NotificationDetail/index.js +115 -101
  116. package/lib/ACM-AXN/Notifications/{NotificationPopover.d.ts → NotificationPopover/Container.d.ts} +2 -2
  117. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +149 -0
  118. package/lib/ACM-AXN/Notifications/{NotificationPopover.test.d.ts → NotificationPopover/Container.test.d.ts} +1 -1
  119. package/lib/ACM-AXN/Notifications/{NotificationPopover.test.js → NotificationPopover/Container.test.js} +5 -5
  120. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +8 -0
  121. package/lib/ACM-AXN/Notifications/NotificationPopover/index.js +13 -0
  122. package/lib/ACM-AXN/Notifications/NotificationScreen.d.ts +1 -1
  123. package/lib/ACM-AXN/Notifications/NotificationScreen.js +4 -4
  124. package/lib/ACM-AXN/Notifications/Types.d.ts +84 -0
  125. package/lib/ACM-AXN/Notifications/Types.js +13 -0
  126. package/lib/ACM-AXN/Notifications/index.d.ts +2 -2
  127. package/lib/ACM-AXN/Notifications/index.js +5 -5
  128. package/lib/ACM-AXN/Page/Container.js +69 -74
  129. package/lib/ACM-AXN/Page/CreateOrEdit/DrawerAction.js +27 -5
  130. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +1 -0
  131. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +2 -1
  132. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +2 -1
  133. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.d.ts +0 -1
  134. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +15 -6
  135. package/lib/ACM-AXN/Page/Types.d.ts +9 -0
  136. package/lib/ACM-AXN/Page/index.js +2 -1
  137. package/lib/ACM-AXN/Permission/Components/Management.test.js +1 -1
  138. package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.d.ts +0 -7
  139. package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.js +0 -135
  140. package/lib/ACM-AXN/PlaceGroup/ContentCreateOrEdit.test.js +2 -2
  141. package/lib/ACM-AXN/PlaceGroup/Context.d.ts +1 -1
  142. package/lib/ACM-AXN/PlaceGroup/CreateOrEdit.js +103 -3
  143. package/lib/ACM-AXN/Statistics/ControlPanel.js +41 -39
  144. package/lib/ACM-AXN/Statistics/Enums.d.ts +1 -0
  145. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  146. package/lib/ACM-AXN/Statistics/container.js +1 -1
  147. package/lib/ACM-AXN/Statistics/interface.d.ts +2 -2
  148. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.d.ts +1 -1
  149. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.js +2 -3
  150. package/lib/ACM-AXN/StatisticsAudienceDemographic/interfaces.d.ts +1 -0
  151. package/lib/ACM-AXN/StatisticsByProvince/container.d.ts +1 -1
  152. package/lib/ACM-AXN/StatisticsByProvince/container.js +2 -2
  153. package/lib/ACM-AXN/TaskScheduler/Components/TriggerInput.js +4 -2
  154. package/lib/ACM-AXN/TaskScheduler/Constant.d.ts +0 -107
  155. package/lib/ACM-AXN/TaskScheduler/Constant.js +1 -105
  156. package/lib/ACM-AXN/TaskScheduler/Container.js +1 -1
  157. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +6 -8
  158. package/lib/ACM-AXN/TaskScheduler/Utils.js +6 -1
  159. package/lib/ACM-AXN/TransactionLog/Container.js +6 -4
  160. package/lib/ACM-AXN/TransactionLog/Detail.js +3 -1
  161. package/lib/ACM-AXN/TransactionLog/Types.d.ts +1 -107
  162. package/lib/ACM-AXN/TransactionLog/Types.js +1 -109
  163. package/lib/ACM-AXN/TransactionLog/Utils.d.ts +0 -103
  164. package/lib/ACM-AXN/TransactionLog/Utils.js +1 -104
  165. package/lib/ACM-AXN/User/Add.d.ts +2 -0
  166. package/lib/ACM-AXN/User/Add.js +64 -0
  167. package/lib/ACM-AXN/User/Add.test.d.ts +1 -0
  168. package/lib/ACM-AXN/User/Add.test.js +115 -0
  169. package/lib/ACM-AXN/User/Constants.d.ts +2 -0
  170. package/lib/ACM-AXN/User/Constants.js +5 -0
  171. package/lib/ACM-AXN/User/Container.d.ts +2 -0
  172. package/lib/ACM-AXN/User/Container.js +60 -0
  173. package/lib/ACM-AXN/User/Container.test.d.ts +1 -0
  174. package/lib/ACM-AXN/User/Container.test.js +202 -0
  175. package/lib/ACM-AXN/User/Hook.d.ts +5 -0
  176. package/lib/ACM-AXN/User/Hook.js +13 -0
  177. package/lib/ACM-AXN/User/Types.d.ts +45 -0
  178. package/lib/ACM-AXN/User/Types.js +2 -0
  179. package/lib/ACM-AXN/User/index.d.ts +4 -0
  180. package/lib/ACM-AXN/User/index.js +18 -0
  181. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +1 -1
  182. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/ObjectField.d.ts +2 -0
  183. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/ObjectField.js +19 -3
  184. package/lib/ACM-AXN/ViewTemplate/container.js +2 -1
  185. package/lib/AWING/AdvancedSearch/component.js +1 -1
  186. package/lib/AWING/AdvancedSearch/interface.d.ts +1 -0
  187. package/lib/AWING/BasicDataForm/index.js +3 -1
  188. package/lib/AWING/BasicDataForm/interface.d.ts +2 -2
  189. package/lib/AWING/ButtonDateRangePicker/ButtonDateRangePicker.js +2 -2
  190. package/lib/AWING/ButtonDateRangePicker/interface.d.ts +1 -0
  191. package/lib/AWING/Chart/BarLineComponent.d.ts +8 -5
  192. package/lib/AWING/Chart/BarLineComponent.js +34 -28
  193. package/lib/AWING/Chart/PieComponent.d.ts +8 -7
  194. package/lib/AWING/Chart/PieComponent.js +1 -2
  195. package/lib/AWING/Chart/Styles.d.ts +6 -2
  196. package/lib/AWING/Chart/Styles.js +6 -2
  197. package/lib/AWING/Chart/index.d.ts +3 -0
  198. package/lib/AWING/Chart/index.js +10 -0
  199. package/lib/AWING/DataForm/DataInput.js +19 -10
  200. package/lib/AWING/DataForm/interface.d.ts +8 -4
  201. package/lib/AWING/DataGrid/index.js +20 -5
  202. package/lib/AWING/DataGrid/interface.d.ts +7 -2
  203. package/lib/AWING/Directory/CreateDirectory.d.ts +3 -0
  204. package/lib/AWING/Directory/CreateDirectory.js +27 -10
  205. package/lib/AWING/PageManagement/PageManagement.js +3 -3
  206. package/lib/AWING/PageManagement/interface.d.ts +2 -1
  207. package/lib/AWING/index.d.ts +1 -0
  208. package/lib/AWING/index.js +1 -0
  209. package/lib/AWING/ultis/validation.d.ts +1 -1
  210. package/lib/AWING/ultis/validation.js +4 -2
  211. package/lib/Commons/Components/ClassicBaseDrawer.d.ts +1 -0
  212. package/lib/Commons/Components/ClassicBaseDrawer.js +7 -3
  213. package/lib/Commons/Components/ClassicDrawer.js +1 -1
  214. package/lib/Context/index.js +1 -0
  215. package/lib/Context/interface.d.ts +1 -0
  216. package/lib/Utils/Helpers.d.ts +1 -0
  217. package/lib/Utils/Helpers.js +17 -9
  218. package/lib/translate/en/translation.json +81 -2
  219. package/lib/translate/vi/translation.json +81 -2
  220. package/package.json +4 -2
  221. package/lib/ACM-AXN/Notifications/NotificationDetail/Common.d.ts +0 -39
  222. package/lib/ACM-AXN/Notifications/NotificationDetail/Common.js +0 -304
  223. package/lib/ACM-AXN/Notifications/NotificationPopover.js +0 -69
  224. package/lib/ACM-AXN/Page/ViewDomain/index.d.ts +0 -9
  225. package/lib/ACM-AXN/Page/ViewDomain/index.js +0 -148
package/README.md CHANGED
@@ -35,32 +35,17 @@ yarn build
35
35
  - Step 2: Tạo link thư viện
36
36
 
37
37
  ```shell
38
+ yarn build
38
39
  yarn link
39
- ```
40
- - Tạo Link react
41
-
42
- ```shell
43
40
  cd node_modules/react
44
41
  yarn link
45
- ```
46
-
47
- - Tạo Link react-dom
48
-
49
- ```shell
42
+ cd ../..
50
43
  cd node_modules/react-dom
51
44
  yarn link
52
- ```
53
-
54
- - Tạo Link @mui/material
55
-
56
- ```shell
45
+ cd ../..
57
46
  cd node_modules/@mui/material
58
47
  yarn link
59
- ```
60
-
61
- - Tạo Link @mui/styles
62
-
63
- ```shell
48
+ cd ../../..
64
49
  cd node_modules/@mui/styles
65
50
  yarn link
66
51
  ```
@@ -49,7 +49,7 @@ var CampaignContainer = function () {
49
49
  var _c = (0, react_1.useState)([]), directories = _c[0], setDirectories = _c[1];
50
50
  var _d = (0, react_1.useState)([]), collapseIds = _d[0], setCollapseId = _d[1];
51
51
  var _e = (0, react_1.useState)(), listCampaign = _e[0], setListCampaign = _e[1];
52
- var _f = (0, react_1.useState)(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({
@@ -60,6 +60,9 @@ var Utils_1 = require("../../Utils");
60
60
  var Helpers_1 = require("../../../../Utils/Helpers");
61
61
  var Context_1 = require("../../../../Context");
62
62
  var Recoils_1 = require("../Recoils");
63
+ var DomainPreview_1 = __importDefault(require("../../../../ACM-AXN/DomainPreview"));
64
+ var Constant_1 = require("../../../../ACM-AXN/Campaign/Constant");
65
+ var PreviewButton_1 = __importDefault(require("../../../../ACM-AXN/DomainPreview/PreviewButton"));
63
66
  function AdList(props) {
64
67
  var onCreate = props.onCreate, onChange = props.onChange, onDelete = props.onDelete, onAdsValidChange = props.onAdsValidChange;
65
68
  var t = (0, react_i18next_1.useTranslation)().t;
@@ -70,11 +73,18 @@ function AdList(props) {
70
73
  var _c = (0, recoil_1.useRecoilState)(atoms_1.adOpenState), adOpen = _c[0], setAdOpen = _c[1];
71
74
  var copiedAd = (0, recoil_1.useRecoilValue)(atoms_1.copiedAdState);
72
75
  var hasClassC = (0, recoil_1.useRecoilValue)((0, atoms_1.checkGroupsClassCState)(adSelected.map(function (x) { return x.subCampaignId; })));
76
+ var _d = (0, react_1.useState)({
77
+ welcomeId: '',
78
+ loginId: '',
79
+ domainIds: [],
80
+ }), previewId = _d[0], setPreviewId = _d[1];
81
+ var _e = react_1.default.useState(), anchorEl = _e[0], setAnchorEl = _e[1];
82
+ var open = Boolean(anchorEl);
73
83
  // valid theo cấu trúc { [campaignGroupId]: { [adId]: boolean } }
74
- var _d = (0, react_1.useState)({}), adsValid = _d[0], setAdsValid = _d[1];
75
- var _e = (0, react_1.useState)(false), isAdvancedDrawerOpen = _e[0], setIsAdvancedDrawerOpen = _e[1];
76
- var _f = (0, recoil_1.useRecoilState)(Recoils_1.weightState), weightProps = _f[0], setWeightState = _f[1];
77
- var _g = (0, react_1.useState)(false), isMultiEditDrawerOpen = _g[0], setIsMultiEditDrawerOpen = _g[1];
84
+ var _f = (0, react_1.useState)({}), adsValid = _f[0], setAdsValid = _f[1];
85
+ var _g = (0, react_1.useState)(false), isAdvancedDrawerOpen = _g[0], setIsAdvancedDrawerOpen = _g[1];
86
+ var _h = (0, recoil_1.useRecoilState)(Recoils_1.weightState), weightProps = _h[0], setWeightState = _h[1];
87
+ var _j = (0, react_1.useState)(false), isMultiEditDrawerOpen = _j[0], setIsMultiEditDrawerOpen = _j[1];
78
88
  (0, react_1.useEffect)(function () {
79
89
  var newAdValid = {};
80
90
  ads.forEach(function (ad) {
@@ -219,6 +229,33 @@ function AdList(props) {
219
229
  advanced: t('Campaign.Advanced'),
220
230
  delete: t('Common.Delete'),
221
231
  };
232
+ /**
233
+ * Hàm khi xem preview
234
+ */
235
+ var handlePreview = function (e, ad, domainId) {
236
+ e.stopPropagation();
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
+ if (ad.welcomeId.length)
239
+ url += "&welcomeId=".concat(ad.welcomeId);
240
+ if (domainId)
241
+ url += "&domainId=".concat(domainId);
242
+ window.open(url, '_blank');
243
+ };
244
+ var handlePreviewPage = function (e, ad) {
245
+ var _a, _b;
246
+ e.stopPropagation();
247
+ setPreviewId({
248
+ welcomeId: ad.welcomeId,
249
+ loginId: ad.loginId,
250
+ domainIds: (_b = (_a = ad.places) === null || _a === void 0 ? void 0 : _a.map(function (x) { return x.domainId; })) !== null && _b !== void 0 ? _b : [],
251
+ });
252
+ setAnchorEl(e.currentTarget);
253
+ };
254
+ var handlePreviewClose = function (event) {
255
+ event.stopPropagation();
256
+ setPreviewId({});
257
+ setAnchorEl(null);
258
+ };
222
259
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [weightProps.isOpen && ((0, jsx_runtime_1.jsx)(Weight_1.default, {})), (0, jsx_runtime_1.jsxs)(material_1.TableContainer, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h4", sx: {
223
260
  padding: function (theme) { return theme.spacing(2); },
224
261
  fontSize: '16px!important',
@@ -261,6 +298,7 @@ function AdList(props) {
261
298
  }, onChange: handleMultiUpdate })), (0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: translationText.delete, children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: function () {
262
299
  return handleMultiDelete(adSelected);
263
300
  }, "aria-label": "delete", children: (0, jsx_runtime_1.jsx)(Delete_1.default, { fontSize: "small" }) }) })] })), (0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", children: onCreate && ((0, jsx_runtime_1.jsxs)(material_1.ButtonGroup, { variant: "outlined", color: "error", children: [(0, jsx_runtime_1.jsx)(material_1.Button, { startIcon: (0, jsx_runtime_1.jsx)(Add_1.default, {}), onClick: function () { return handleAddAd(); }, children: t('Common.Create') }), copiedAd !== undefined && ((0, jsx_runtime_1.jsx)(material_1.Button, { size: "small", "aria-label": "paste", onClick: function () { return handleAddAd(true); }, children: (0, jsx_runtime_1.jsx)(Assignment_1.default, {}) }))] })) })] }) }), (0, jsx_runtime_1.jsx)(material_1.TableBody, { children: ads.map(function (ad, idx) {
301
+ var _a;
264
302
  var isOpen = adOpen !== undefined &&
265
303
  adOpen.adId === ad.id &&
266
304
  adOpen.subCampaignId === ad.campaignGroupId;
@@ -270,7 +308,9 @@ function AdList(props) {
270
308
  };
271
309
  return ((0, jsx_runtime_1.jsx)(AdRow_1.default, { ad: ad, onChange: function (adSetStateAction) {
272
310
  return onChange([adDefine], adSetStateAction);
273
- }, onChangeStatus: function (status) {
311
+ }, previewButton: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { "aria-label": "preview", onClick: function (e) {
312
+ handlePreview(e, ad);
313
+ }, disabled: !((_a = ad.loginId) === null || _a === void 0 ? void 0 : _a.length), sx: { borderRadius: '15%' }, children: (0, jsx_runtime_1.jsx)(DomainPreview_1.default, { handlePreviewPage: function (e) { return handlePreviewPage(e, ad); }, isSelectDomain: Boolean(service.domainsGetAll) }) }) }), onChangeStatus: function (status) {
274
314
  return handleChangeAdStatus(ad, status);
275
315
  }, onDelete: function () {
276
316
  return handleMultiDelete([adDefine]);
@@ -302,6 +342,10 @@ function AdList(props) {
302
342
  ]);
303
343
  });
304
344
  } }, idx));
305
- }) })] })] })] }));
345
+ }) })] })] }), open &&
346
+ (0, jsx_runtime_1.jsx)(PreviewButton_1.default, { anchorEl: anchorEl, open: open, domainIds: previewId.domainIds, handlePreviewClose: handlePreviewClose, handlePreviewDomain: function (event, domainId) {
347
+ handlePreview(event, ads.find(function (x) { return x.loginId === previewId.loginId; }), domainId);
348
+ // handlePreview(previewId, domainId)
349
+ }, service: service })] }));
306
350
  }
307
351
  exports.default = AdList;
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import { AdDetailProps } from './AdDetail';
2
3
  type AdRowProps = AdDetailProps & {
3
4
  /**
@@ -24,6 +25,10 @@ type AdRowProps = AdDetailProps & {
24
25
  * Trạng thái lỗi hay không của quảng cáo
25
26
  */
26
27
  error?: boolean;
28
+ /**
29
+ * Preview Button
30
+ */
31
+ previewButton: React.ReactNode;
27
32
  };
28
33
  export default function AdRow(props: AdRowProps): import("react/jsx-runtime").JSX.Element;
29
34
  export {};
@@ -62,7 +62,6 @@ var react_1 = __importStar(require("react"));
62
62
  var react_i18next_1 = require("react-i18next");
63
63
  var recoil_1 = require("recoil");
64
64
  var material_1 = require("@mui/material");
65
- var Visibility_1 = __importDefault(require("@mui/icons-material/Visibility"));
66
65
  var KeyboardArrowDown_1 = __importDefault(require("@mui/icons-material/KeyboardArrowDown"));
67
66
  var KeyboardArrowUp_1 = __importDefault(require("@mui/icons-material/KeyboardArrowUp"));
68
67
  var CheckCircle_1 = __importDefault(require("@mui/icons-material/CheckCircle"));
@@ -87,27 +86,16 @@ var AWING_1 = require("../../../../AWING");
87
86
  var Constant_1 = require("../../Constant");
88
87
  var Recoils_1 = require("../Recoils");
89
88
  function AdRow(props) {
90
- var _a, _b, _c, _d, _e;
89
+ var _a, _b, _c, _d;
91
90
  var t = (0, react_i18next_1.useTranslation)().t;
92
- var ad = props.ad, onChange = props.onChange, onDelete = props.onDelete, open = props.open, onToggle = props.onToggle, isSelected = props.isSelected, onCheck = props.onCheck, error = props.error, other = __rest(props, ["ad", "onChange", "onDelete", "open", "onToggle", "isSelected", "onCheck", "error"]);
91
+ var ad = props.ad, onChange = props.onChange, onDelete = props.onDelete, open = props.open, onToggle = props.onToggle, isSelected = props.isSelected, onCheck = props.onCheck, error = props.error, previewButton = props.previewButton, other = __rest(props, ["ad", "onChange", "onDelete", "open", "onToggle", "isSelected", "onCheck", "error", "previewButton"]);
93
92
  var service = (0, Hooks_1.default)().service;
94
93
  var setCopiedAd = (0, recoil_1.useSetRecoilState)(atoms_1.copiedAdState);
95
94
  var setWeightState = (0, recoil_1.useSetRecoilState)(Recoils_1.weightState);
96
- var _f = (0, react_1.useState)(false), openCopiedMessage = _f[0], setOpenCopiedMessage = _f[1];
97
- var _g = (0, react_1.useState)(false), showTheSource = _g[0], setShowTheSource = _g[1];
98
- var _h = (0, react_1.useState)(false), isAdvancedDrawerOpen = _h[0], setIsAdvancedDrawerOpen = _h[1];
99
- var _j = (0, react_1.useState)(false), isWeightDrawerOpen = _j[0], setIsWeightDrawerOpen = _j[1];
95
+ var _e = (0, react_1.useState)(false), openCopiedMessage = _e[0], setOpenCopiedMessage = _e[1];
96
+ var _f = (0, react_1.useState)(false), showTheSource = _f[0], setShowTheSource = _f[1];
97
+ var _g = (0, react_1.useState)(false), isAdvancedDrawerOpen = _g[0], setIsAdvancedDrawerOpen = _g[1];
100
98
  var isClassC = (0, recoil_2.useRecoilValue)((0, atoms_2.checkGroupsClassCState)([ad.campaignGroupId]));
101
- /**
102
- * Hàm khi xem preview
103
- */
104
- var handlePreview = function (e) {
105
- e.stopPropagation();
106
- var url = "".concat(Constant_1.Constants.CAPTIVE_DOMAIN, "/").concat(Constant_1.Constants.PAGE_LOGIN_PREVIEW, "?loginId=").concat(ad.loginId, "&isNetworkCampaign=false");
107
- if (ad.welcomeId.length)
108
- url += "&welcomeId=".concat(ad.welcomeId);
109
- window.open(url, '_blank');
110
- };
111
99
  var translationText = {
112
100
  preview: t('Common.Preview'),
113
101
  copy: t('Common.Copy'),
@@ -147,7 +135,7 @@ function AdRow(props) {
147
135
  Constant_1.Constants.CAMPAIGN_EDIT_PAGE,
148
136
  Enum_1.PAGE_CODES.PageCodeWelcome,
149
137
  ad.welcomeId,
150
- ].join('/'), children: (_d = ad.welcomePage) === null || _d === void 0 ? void 0 : _d.title }) })] }))] }), (0, jsx_runtime_1.jsxs)(material_1.TableCell, { sx: { padding: function (theme) { return theme.spacing(0, 2); } }, align: "right", children: [(0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: translationText.preview, children: (0, jsx_runtime_1.jsx)("span", { children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { "aria-label": "preview", onClick: handlePreview, disabled: !((_e = ad.loginId) === null || _e === void 0 ? void 0 : _e.length), children: (0, jsx_runtime_1.jsx)(Visibility_1.default, { fontSize: "small" }) }) }) }), (0, jsx_runtime_1.jsx)(AWING_1.Actions, { menus: __spreadArray([
138
+ ].join('/'), children: (_d = ad.welcomePage) === null || _d === void 0 ? void 0 : _d.title }) })] }))] }), (0, jsx_runtime_1.jsxs)(material_1.TableCell, { sx: { padding: function (theme) { return theme.spacing(0, 2); } }, align: "right", children: [(0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: translationText.preview, children: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: previewButton }) }), (0, jsx_runtime_1.jsx)(AWING_1.Actions, { menus: __spreadArray([
151
139
  {
152
140
  icon: (0, jsx_runtime_1.jsx)(FileCopyOutlined_1.default, {}),
153
141
  action: function () {
@@ -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;