awing-library 2.1.12-beta → 2.1.12

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 (191) hide show
  1. package/README.md +4 -19
  2. package/lib/ACM-AXN/Campaign/Container.js +6 -7
  3. package/lib/ACM-AXN/Campaign/Container.test.js +1 -1
  4. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +3 -1
  5. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +22 -21
  6. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.d.ts +1 -1
  7. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +79 -24
  8. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdDetail.test.js +1 -1
  9. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +50 -6
  10. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.d.ts +5 -0
  11. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +6 -18
  12. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +7 -12
  13. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/RetargetMacAddress/container.d.ts +1 -0
  14. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/RetargetMacAddress/container.js +4 -12
  15. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +16 -1
  16. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.test.js +1 -1
  17. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +19 -3
  18. package/lib/ACM-AXN/Campaign/Types.d.ts +10 -0
  19. package/lib/ACM-AXN/Campaign/Utils.d.ts +8 -0
  20. package/lib/ACM-AXN/Campaign/Utils.js +22 -18
  21. package/lib/ACM-AXN/Campaign/index.js +3 -2
  22. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.d.ts +2 -2
  23. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +44 -42
  24. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.d.ts +1 -1
  25. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/GroupPanel.js +38 -30
  26. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.d.ts +2 -2
  27. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/index.js +2 -2
  28. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.d.ts +1 -1
  29. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +4 -2
  30. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +33 -3
  31. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.d.ts +1 -1
  32. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/container.js +81 -34
  33. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.d.ts +1 -1
  34. package/lib/ACM-AXN/CampaignSchedule/Components/TableHeaderDragable.js +38 -29
  35. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.d.ts +4 -0
  36. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +58 -0
  37. package/lib/ACM-AXN/CampaignSchedule/Enum.d.ts +14 -2
  38. package/lib/ACM-AXN/CampaignSchedule/Enum.js +12 -0
  39. package/lib/ACM-AXN/CampaignSchedule/component.js +6 -5
  40. package/lib/ACM-AXN/CampaignSchedule/container.d.ts +1 -1
  41. package/lib/ACM-AXN/CampaignSchedule/container.js +100 -99
  42. package/lib/ACM-AXN/CampaignSchedule/interface.d.ts +16 -3
  43. package/lib/ACM-AXN/Directory/MenuDirectory/index.js +5 -6
  44. package/lib/ACM-AXN/Directory/SystemDirectory/index.js +6 -5
  45. package/lib/ACM-AXN/Directory/components/Permission/Management.js +7 -5
  46. package/lib/ACM-AXN/Directory/components/Permission/MenuPermissions/MenuPermissionManagement.js +9 -7
  47. package/lib/ACM-AXN/Directory/function.d.ts +1 -0
  48. package/lib/ACM-AXN/Directory/function.js +15 -1
  49. package/lib/ACM-AXN/DomainPreview/PreviewButton.d.ts +15 -0
  50. package/lib/ACM-AXN/DomainPreview/PreviewButton.js +188 -0
  51. package/lib/ACM-AXN/DomainPreview/index.d.ts +7 -0
  52. package/lib/ACM-AXN/DomainPreview/index.js +10 -0
  53. package/lib/ACM-AXN/GroupUser/Constants.d.ts +7 -0
  54. package/lib/ACM-AXN/GroupUser/Constants.js +10 -0
  55. package/lib/ACM-AXN/GroupUser/Container.d.ts +2 -0
  56. package/lib/ACM-AXN/GroupUser/Container.js +55 -0
  57. package/lib/ACM-AXN/GroupUser/Container.test.d.ts +1 -0
  58. package/lib/ACM-AXN/GroupUser/Container.test.js +210 -0
  59. package/lib/ACM-AXN/GroupUser/CreateOrEdit.d.ts +3 -0
  60. package/lib/ACM-AXN/GroupUser/CreateOrEdit.js +91 -0
  61. package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.d.ts +1 -0
  62. package/lib/ACM-AXN/GroupUser/CreateOrEdit.test.js +235 -0
  63. package/lib/ACM-AXN/GroupUser/Hooks.d.ts +5 -0
  64. package/lib/ACM-AXN/GroupUser/Hooks.js +13 -0
  65. package/lib/ACM-AXN/GroupUser/Types.d.ts +31 -0
  66. package/lib/ACM-AXN/GroupUser/Types.js +2 -0
  67. package/lib/ACM-AXN/GroupUser/User/SearchUser.d.ts +9 -0
  68. package/lib/ACM-AXN/GroupUser/User/SearchUser.js +63 -0
  69. package/lib/ACM-AXN/GroupUser/User/SearchUser.test.d.ts +1 -0
  70. package/lib/ACM-AXN/GroupUser/User/SearchUser.test.js +140 -0
  71. package/lib/ACM-AXN/GroupUser/User/UserComponent.d.ts +8 -0
  72. package/lib/ACM-AXN/GroupUser/User/UserComponent.js +77 -0
  73. package/lib/ACM-AXN/GroupUser/User/UserComponent.test.d.ts +1 -0
  74. package/lib/ACM-AXN/GroupUser/User/UserComponent.test.js +128 -0
  75. package/lib/ACM-AXN/GroupUser/index.d.ts +4 -0
  76. package/lib/ACM-AXN/GroupUser/index.js +27 -0
  77. package/lib/ACM-AXN/Notifications/Constant.d.ts +146 -0
  78. package/lib/ACM-AXN/Notifications/Constant.js +136 -0
  79. package/lib/ACM-AXN/Notifications/Context.d.ts +8 -0
  80. package/lib/ACM-AXN/Notifications/Context.js +10 -0
  81. package/lib/ACM-AXN/Notifications/Hooks.d.ts +7 -0
  82. package/lib/ACM-AXN/Notifications/Hooks.js +17 -0
  83. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.d.ts +3 -3
  84. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/ButtonTabs.js +31 -30
  85. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.d.ts +1 -1
  86. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/MenuNotification.js +30 -39
  87. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.d.ts +3 -5
  88. package/lib/ACM-AXN/Notifications/NotificationDetail/HeaderInfo/index.js +18 -17
  89. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.d.ts +1 -1
  90. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.js +15 -15
  91. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.d.ts +0 -6
  92. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationEmpty.test.js +29 -28
  93. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.d.ts +10 -0
  94. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/Message.js +393 -0
  95. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.d.ts +1 -1
  96. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.js +3 -3
  97. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.d.ts +0 -6
  98. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationAvatar.test.js +38 -48
  99. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.d.ts +2 -2
  100. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.js +36 -35
  101. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.d.ts +0 -6
  102. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/NotificationContent.test.js +65 -73
  103. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.d.ts +4 -11
  104. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.js +46 -36
  105. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.d.ts +0 -6
  106. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationItem/index.test.js +56 -50
  107. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/NotificationLoading.js +30 -30
  108. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.d.ts +3 -15
  109. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.js +35 -4
  110. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.d.ts +0 -6
  111. package/lib/ACM-AXN/Notifications/NotificationDetail/NotificationList/index.test.js +88 -83
  112. package/lib/ACM-AXN/Notifications/NotificationDetail/index.d.ts +5 -2
  113. package/lib/ACM-AXN/Notifications/NotificationDetail/index.js +115 -101
  114. package/lib/ACM-AXN/Notifications/{NotificationPopover.d.ts → NotificationPopover/Container.d.ts} +2 -2
  115. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +149 -0
  116. package/lib/ACM-AXN/Notifications/{NotificationPopover.test.d.ts → NotificationPopover/Container.test.d.ts} +1 -1
  117. package/lib/ACM-AXN/Notifications/{NotificationPopover.test.js → NotificationPopover/Container.test.js} +5 -5
  118. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +8 -0
  119. package/lib/ACM-AXN/Notifications/NotificationPopover/index.js +13 -0
  120. package/lib/ACM-AXN/Notifications/NotificationScreen.d.ts +1 -1
  121. package/lib/ACM-AXN/Notifications/NotificationScreen.js +4 -4
  122. package/lib/ACM-AXN/Notifications/Types.d.ts +242 -0
  123. package/lib/ACM-AXN/Notifications/Types.js +290 -0
  124. package/lib/ACM-AXN/Notifications/index.d.ts +2 -2
  125. package/lib/ACM-AXN/Notifications/index.js +5 -5
  126. package/lib/ACM-AXN/Page/Container.js +101 -63
  127. package/lib/ACM-AXN/Page/CreateOrEdit/DrawerAction.js +22 -5
  128. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +1 -0
  129. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +5 -1
  130. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +1 -1
  131. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +10 -4
  132. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +1 -1
  133. package/lib/ACM-AXN/Page/Types.d.ts +8 -0
  134. package/lib/ACM-AXN/Page/index.js +2 -1
  135. package/lib/ACM-AXN/Permission/Components/Management.test.js +1 -1
  136. package/lib/ACM-AXN/PlaceGroup/Context.d.ts +1 -1
  137. package/lib/ACM-AXN/Statistics/ControlPanel.js +49 -47
  138. package/lib/ACM-AXN/Statistics/Enums.d.ts +1 -0
  139. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  140. package/lib/ACM-AXN/Statistics/container.js +1 -1
  141. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.d.ts +1 -1
  142. package/lib/ACM-AXN/StatisticsAudienceDemographic/container.js +2 -3
  143. package/lib/ACM-AXN/StatisticsAudienceDemographic/interfaces.d.ts +1 -0
  144. package/lib/ACM-AXN/StatisticsByProvince/container.d.ts +1 -1
  145. package/lib/ACM-AXN/StatisticsByProvince/container.js +2 -2
  146. package/lib/ACM-AXN/TaskScheduler/Container.js +1 -1
  147. package/lib/ACM-AXN/User/Add.d.ts +2 -0
  148. package/lib/ACM-AXN/User/Add.js +64 -0
  149. package/lib/ACM-AXN/User/Add.test.d.ts +1 -0
  150. package/lib/ACM-AXN/User/Add.test.js +115 -0
  151. package/lib/ACM-AXN/User/Constants.d.ts +2 -0
  152. package/lib/ACM-AXN/User/Constants.js +5 -0
  153. package/lib/ACM-AXN/User/Container.d.ts +2 -0
  154. package/lib/ACM-AXN/User/Container.js +60 -0
  155. package/lib/ACM-AXN/User/Container.test.d.ts +1 -0
  156. package/lib/ACM-AXN/User/Container.test.js +202 -0
  157. package/lib/ACM-AXN/User/Hook.d.ts +5 -0
  158. package/lib/ACM-AXN/User/Hook.js +13 -0
  159. package/lib/ACM-AXN/User/Types.d.ts +45 -0
  160. package/lib/ACM-AXN/User/Types.js +2 -0
  161. package/lib/ACM-AXN/User/index.d.ts +4 -0
  162. package/lib/ACM-AXN/User/index.js +18 -0
  163. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +1 -1
  164. package/lib/AWING/AdvancedSearch/component.js +1 -1
  165. package/lib/AWING/AdvancedSearch/interface.d.ts +1 -0
  166. package/lib/AWING/ButtonDateRangePicker/ButtonDateRangePicker.js +2 -2
  167. package/lib/AWING/ButtonDateRangePicker/interface.d.ts +1 -0
  168. package/lib/AWING/Chart/PieComponent.d.ts +1 -1
  169. package/lib/AWING/Chart/PieComponent.js +0 -1
  170. package/lib/AWING/Chart/index.d.ts +3 -0
  171. package/lib/AWING/Chart/index.js +10 -0
  172. package/lib/AWING/DataForm/DataInput.js +17 -8
  173. package/lib/AWING/DataForm/interface.d.ts +6 -2
  174. package/lib/AWING/DataGrid/index.js +4 -1
  175. package/lib/AWING/DataGrid/interface.d.ts +6 -1
  176. package/lib/AWING/Directory/CreateDirectory.d.ts +3 -0
  177. package/lib/AWING/Directory/CreateDirectory.js +27 -10
  178. package/lib/AWING/PageManagement/PageManagement.js +1 -1
  179. package/lib/AWING/index.d.ts +1 -0
  180. package/lib/AWING/index.js +1 -0
  181. package/lib/AWING/ultis/validation.d.ts +2 -2
  182. package/lib/AWING/ultis/validation.js +6 -4
  183. package/lib/Commons/Components/ClassicBaseDrawer.d.ts +1 -0
  184. package/lib/Commons/Components/ClassicBaseDrawer.js +7 -3
  185. package/lib/Commons/Components/ClassicDrawer.js +1 -1
  186. package/lib/translate/en/translation.json +81 -2
  187. package/lib/translate/vi/translation.json +81 -2
  188. package/package.json +4 -2
  189. package/lib/ACM-AXN/Notifications/NotificationDetail/Common.d.ts +0 -39
  190. package/lib/ACM-AXN/Notifications/NotificationDetail/Common.js +0 -304
  191. package/lib/ACM-AXN/Notifications/NotificationPopover.js +0 -69
package/README.md CHANGED
@@ -35,32 +35,17 @@ yarn build
35
35
  - Step 2: Tạo link thư viện
36
36
 
37
37
  ```shell
38
+ yarn build
38
39
  yarn link
39
- ```
40
- - Tạo Link react
41
-
42
- ```shell
43
40
  cd node_modules/react
44
41
  yarn link
45
- ```
46
-
47
- - Tạo Link react-dom
48
-
49
- ```shell
42
+ cd ../..
50
43
  cd node_modules/react-dom
51
44
  yarn link
52
- ```
53
-
54
- - Tạo Link @mui/material
55
-
56
- ```shell
45
+ cd ../..
57
46
  cd node_modules/@mui/material
58
47
  yarn link
59
- ```
60
-
61
- - Tạo Link @mui/styles
62
-
63
- ```shell
48
+ cd ../../..
64
49
  cd node_modules/@mui/styles
65
50
  yarn link
66
51
  ```
@@ -49,7 +49,7 @@ var CampaignContainer = function () {
49
49
  var _c = (0, react_1.useState)([]), directories = _c[0], setDirectories = _c[1];
50
50
  var _d = (0, react_1.useState)([]), collapseIds = _d[0], setCollapseId = _d[1];
51
51
  var _e = (0, react_1.useState)(), listCampaign = _e[0], setListCampaign = _e[1];
52
- var _f = (0, react_1.useState)(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({
@@ -1,6 +1,7 @@
1
- import { CampaignModel, Directory, CampaignGroupModel } from '../Types';
1
+ import { CampaignModel, Directory, CampaignGroupModel, Attribute } from '../Types';
2
2
  import { WeightContainerProps } from './TabSubCampaign/Weight';
3
3
  export declare const directoriesState: import("recoil").RecoilState<Directory[]>;
4
+ export declare const attributesState: import("recoil").RecoilState<Attribute[]>;
4
5
  export declare const isCreateState: import("recoil").RecoilState<boolean>;
5
6
  /**
6
7
  * Đánh dấu việc cần xác nhận lại trước khi đóng (set thành true khi có bất kỳ chỉnh sửa campaign nào)
@@ -17,6 +18,7 @@ export declare const campaignState: import("recoil").RecoilState<import("../Type
17
18
  /**
18
19
  * State lưu thông tin của CampaignAttributes
19
20
  */
21
+ export declare const campaignAttributesState: import("recoil").RecoilState<import("../Types").CampaignAttribute[]>;
20
22
  /**
21
23
  * State lưu thông tin của chiến dịch con
22
24
  */
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.weightState = exports.readyForSubmitState = exports.tabPartnerValidState = exports.tabSubCampaignValidState = exports.tabInfomationValidState = exports.campaignPartnerState = exports.campaignGroupsState = exports.campaignState = exports.campaignModelState = exports.confirmExitState = exports.isCreateState = exports.directoriesState = void 0;
14
+ exports.weightState = exports.readyForSubmitState = exports.tabPartnerValidState = exports.tabSubCampaignValidState = exports.tabInfomationValidState = exports.campaignPartnerState = exports.campaignGroupsState = exports.campaignAttributesState = exports.campaignState = exports.campaignModelState = exports.confirmExitState = exports.isCreateState = exports.attributesState = exports.directoriesState = void 0;
15
15
  var recoil_1 = require("recoil");
16
16
  var Types_1 = require("../Types");
17
17
  var Utils_1 = require("../Utils");
@@ -20,6 +20,10 @@ exports.directoriesState = (0, recoil_1.atom)({
20
20
  key: 'DirectoriesCampaignState',
21
21
  default: [],
22
22
  });
23
+ exports.attributesState = (0, recoil_1.atom)({
24
+ key: 'attributesState',
25
+ default: [],
26
+ });
23
27
  exports.isCreateState = (0, recoil_1.atom)({
24
28
  key: 'isCreateState',
25
29
  default: false,
@@ -82,25 +86,22 @@ exports.campaignState = (0, recoil_1.selector)({
82
86
  /**
83
87
  * State lưu thông tin của CampaignAttributes
84
88
  */
85
- // export const campaignAttributesState = selector({
86
- // key: 'campaignAttributes',
87
- // get: ({get}) => {
88
- // const campaignModel = get(campaignModelState);
89
- // return campaignModel.campaignAttributes;
90
- // },
91
- // set: ({set, get}, newAttributes) => {
92
- // const campaignModel = get(campaignModelState);
93
- // set(campaignModelState,
94
- // newAttributes instanceof DefaultValue ?
95
- // newAttributes :
96
- // {
97
- // ...campaignModel,
98
- // campaignAttributes: newAttributes
99
- // });
100
- // if (!get(confirmExitState))
101
- // set(confirmExitState, true);
102
- // }
103
- // })
89
+ exports.campaignAttributesState = (0, recoil_1.selector)({
90
+ key: 'campaignAttributes',
91
+ get: function (_a) {
92
+ var get = _a.get;
93
+ var campaignModel = get(exports.campaignModelState);
94
+ return campaignModel.campaignAttributes;
95
+ },
96
+ set: function (_a, campaignAttributes) {
97
+ var set = _a.set, get = _a.get;
98
+ var campaignModel = get(exports.campaignModelState);
99
+ set(exports.campaignModelState, campaignAttributes instanceof recoil_1.DefaultValue ?
100
+ campaignAttributes : __assign(__assign({}, campaignModel), { campaignAttributes: campaignAttributes }));
101
+ if (!get(exports.confirmExitState) && Array.isArray(campaignAttributes) && !!campaignAttributes.at(-1))
102
+ set(exports.confirmExitState, true);
103
+ }
104
+ });
104
105
  /**
105
106
  * State lưu thông tin của chiến dịch con
106
107
  */
@@ -151,7 +152,7 @@ exports.tabInfomationValidState = (0, recoil_1.atom)({
151
152
  get: function (_a) {
152
153
  var get = _a.get;
153
154
  var campaignModel = get(exports.campaignModelState);
154
- return (0, Utils_1.tabInfomationValid)(campaignModel.campaign, campaignModel.campaignAttributes.length ? campaignModel.campaignAttributes.length : [""]);
155
+ return (0, Utils_1.tabInfomationValid)(campaignModel.campaign, campaignModel.campaignAttributes);
155
156
  },
156
157
  }),
157
158
  });
@@ -1,3 +1,3 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  declare const Infomation: React.FC;
3
3
  export default Infomation;
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
13
36
  var __importDefault = (this && this.__importDefault) || function (mod) {
14
37
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
38
  };
@@ -18,14 +41,18 @@ var jsx_runtime_1 = require("react/jsx-runtime");
18
41
  var material_1 = require("@mui/material");
19
42
  var immer_1 = __importDefault(require("immer"));
20
43
  var lodash_1 = require("lodash");
21
- var react_1 = require("react");
44
+ var react_1 = __importStar(require("react"));
22
45
  var react_i18next_1 = require("react-i18next");
23
46
  var recoil_1 = require("recoil");
24
47
  var AWING_1 = require("../../../AWING");
25
48
  var Recoils_1 = require("./Recoils");
49
+ var Hooks_1 = __importDefault(require("../Hooks"));
26
50
  var Infomation = function () {
51
+ var service = (0, Hooks_1.default)().service;
27
52
  var directories = (0, recoil_1.useRecoilValue)(Recoils_1.directoriesState);
53
+ var attributes = (0, recoil_1.useRecoilValue)(Recoils_1.attributesState);
28
54
  var _a = (0, recoil_1.useRecoilState)(Recoils_1.campaignState), campaign = _a[0], setCampaign = _a[1];
55
+ var _b = (0, recoil_1.useRecoilState)(Recoils_1.campaignAttributesState), campaignAttributes = _b[0], setCampaignAttributes = _b[1];
29
56
  var setCampaignModel = (0, recoil_1.useSetRecoilState)(Recoils_1.campaignModelState);
30
57
  var t = (0, react_i18next_1.useTranslation)().t;
31
58
  (0, react_1.useEffect)(function () {
@@ -37,36 +64,64 @@ var Infomation = function () {
37
64
  }
38
65
  // eslint-disable-next-line react-hooks/exhaustive-deps
39
66
  }, [directories]);
40
- var handleUpdate = (0, react_1.useCallback)(function (obj, formValid) {
41
- if (!(0, lodash_1.isEmpty)(obj)) {
42
- setCampaign(function (prev) { return (__assign(__assign({}, prev), obj)); });
67
+ (0, react_1.useEffect)(function () {
68
+ if (!service.attributesGetByObjectTypeCode) {
69
+ setCampaignAttributes([""]);
70
+ }
71
+ // eslint-disable-next-line react-hooks/exhaustive-deps
72
+ }, [service]);
73
+ var handleUpdate = (0, react_1.useCallback)(function (obj, formValid, fieldUpdate) {
74
+ if (fieldUpdate) {
75
+ if (fieldUpdate === 'attributeIds') {
76
+ setCampaignAttributes(obj['attributeIds'].map(function (item) { return ({ attributeId: item }); }));
77
+ }
78
+ else {
79
+ setCampaign(function (prev) { return (__assign(__assign({}, prev), obj)); });
80
+ }
43
81
  }
44
82
  // eslint-disable-next-line react-hooks/exhaustive-deps
45
83
  }, []);
84
+ var fieldDefine = react_1.default.useMemo(function () {
85
+ var fields = [
86
+ {
87
+ fieldName: 'directoryId',
88
+ type: 'select',
89
+ label: t('Common.Directory'),
90
+ required: true,
91
+ options: directories.map(function (directory) { return ({
92
+ value: directory.directoryId,
93
+ text: directory.name,
94
+ level: directory.level,
95
+ }); }),
96
+ },
97
+ {
98
+ length: 200,
99
+ fieldName: 'name',
100
+ type: 'text',
101
+ label: t('Campaign.Name'),
102
+ required: true,
103
+ },
104
+ ];
105
+ if (attributes.length) {
106
+ fields.push({
107
+ fieldName: 'attributeIds',
108
+ type: 'autocomplete',
109
+ multiple: true,
110
+ label: t('Campaign.Attributes'),
111
+ required: true,
112
+ options: attributes.map(function (attribute) { return ({
113
+ value: attribute.id,
114
+ text: attribute.name,
115
+ }); }),
116
+ });
117
+ }
118
+ return fields;
119
+ }, [attributes, directories, t]);
46
120
  return ((0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
47
121
  '&>div': {
48
122
  padding: 0,
49
123
  boxShadow: 'none',
50
124
  },
51
- }, children: (0, jsx_runtime_1.jsx)(AWING_1.DataForm, { fields: [
52
- {
53
- fieldName: 'directoryId',
54
- type: 'select',
55
- label: t('Common.Directory'),
56
- required: true,
57
- options: directories.map(function (directory) { return ({
58
- value: directory.directoryId,
59
- text: directory.name,
60
- level: directory.level,
61
- }); }),
62
- },
63
- {
64
- length: 200,
65
- fieldName: 'name',
66
- type: 'text',
67
- label: t('Campaign.Name'),
68
- required: true,
69
- },
70
- ], checkAllRequiredFields: !(campaign.directoryId && campaign.name), oldValue: campaign, onUpdate: handleUpdate }) }));
125
+ }, children: (0, jsx_runtime_1.jsx)(AWING_1.DataForm, { fields: fieldDefine, checkAllRequiredFields: !(campaign.directoryId && campaign.name), oldValue: __assign(__assign({}, campaign), { attributeIds: campaignAttributes.map(function (item) { return item.attributeId; }) }), onUpdate: handleUpdate }) }));
71
126
  };
72
127
  exports.default = Infomation;
@@ -16,7 +16,7 @@ function MockComponent(props) {
16
16
  // const MockComponentFactory = (name: string) => () => (props: any) => <div><div/>
17
17
  jest.mock('Features/PlaceFilter', function () { return MockComponent; });
18
18
  jest.mock("Components/Typescript/AsynchronousAutocomplete", function () { return MockComponent; });
19
- jest.mock("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, doaminId) {
236
+ e.stopPropagation();
237
+ var url = "".concat(Constant_1.Constants.CAPTIVE_DOMAIN, "/").concat(Constant_1.Constants.PAGE_LOGIN_PREVIEW, "?loginId=").concat(ad.loginId, "&isNetworkCampaign=false");
238
+ if (ad.welcomeId.length)
239
+ url += "&welcomeId=".concat(ad.welcomeId);
240
+ if (doaminId)
241
+ url += "&doaminId=".concat(doaminId);
242
+ window.open(url, '_blank');
243
+ };
244
+ var handlePreviewPage = function (e, ad) {
245
+ var _a, _b;
246
+ e.stopPropagation();
247
+ setPreviewId({
248
+ welcomeId: ad.welcomeId,
249
+ loginId: ad.loginId,
250
+ domainIds: (_b = (_a = ad.places) === null || _a === void 0 ? void 0 : _a.map(function (x) { return x.domainId; })) !== null && _b !== void 0 ? _b : [],
251
+ });
252
+ setAnchorEl(e.currentTarget);
253
+ };
254
+ var handlePreviewClose = function (event) {
255
+ event.stopPropagation();
256
+ setPreviewId({});
257
+ setAnchorEl(null);
258
+ };
222
259
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [weightProps.isOpen && ((0, jsx_runtime_1.jsx)(Weight_1.default, {})), (0, jsx_runtime_1.jsxs)(material_1.TableContainer, { children: [(0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h4", sx: {
223
260
  padding: function (theme) { return theme.spacing(2); },
224
261
  fontSize: '16px!important',
@@ -261,6 +298,7 @@ function AdList(props) {
261
298
  }, onChange: handleMultiUpdate })), (0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: translationText.delete, children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: function () {
262
299
  return handleMultiDelete(adSelected);
263
300
  }, "aria-label": "delete", children: (0, jsx_runtime_1.jsx)(Delete_1.default, { fontSize: "small" }) }) })] })), (0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", children: onCreate && ((0, jsx_runtime_1.jsxs)(material_1.ButtonGroup, { variant: "outlined", color: "error", children: [(0, jsx_runtime_1.jsx)(material_1.Button, { startIcon: (0, jsx_runtime_1.jsx)(Add_1.default, {}), onClick: function () { return handleAddAd(); }, children: t('Common.Create') }), copiedAd !== undefined && ((0, jsx_runtime_1.jsx)(material_1.Button, { size: "small", "aria-label": "paste", onClick: function () { return handleAddAd(true); }, children: (0, jsx_runtime_1.jsx)(Assignment_1.default, {}) }))] })) })] }) }), (0, jsx_runtime_1.jsx)(material_1.TableBody, { children: ads.map(function (ad, idx) {
301
+ var _a;
264
302
  var isOpen = adOpen !== undefined &&
265
303
  adOpen.adId === ad.id &&
266
304
  adOpen.subCampaignId === ad.campaignGroupId;
@@ -270,7 +308,9 @@ function AdList(props) {
270
308
  };
271
309
  return ((0, jsx_runtime_1.jsx)(AdRow_1.default, { ad: ad, onChange: function (adSetStateAction) {
272
310
  return onChange([adDefine], adSetStateAction);
273
- }, 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 () {
@@ -62,6 +62,7 @@ var AddOrEditRule = function (props) {
62
62
  _a[Utils_1.RuleType.TargetAge] = t('Campaign.RuleType.TargetAge'),
63
63
  _a[Utils_1.RuleType.TargetOS] = t('Campaign.RuleType.TargetOS'),
64
64
  _a[Utils_1.RuleType.TargetDevice] = t('Campaign.RuleType.TargetDevice'),
65
+ _a[Utils_1.RuleType.RetargetMacAddress] = t('Campaign.RuleType.RetargetMacAddress'),
65
66
  _a),
66
67
  save: t('Common.Save'),
67
68
  invalidData: t('Common.InvalidData'),
@@ -109,10 +110,10 @@ var AddOrEditRule = function (props) {
109
110
  return {
110
111
  value: Array.isArray(rule.value) && rule.value.length > 0,
111
112
  };
112
- // case RuleType.RetargetMacAddress:
113
- // return {
114
- // value: Array.isArray(rule.value) && rule.value.length > 0
115
- // };
113
+ case Utils_1.RuleType.RetargetMacAddress:
114
+ return {
115
+ value: Array.isArray(rule.value) && rule.value.length > 0,
116
+ };
116
117
  default:
117
118
  return {};
118
119
  }
@@ -157,14 +158,8 @@ var AddOrEditRule = function (props) {
157
158
  return ((0, jsx_runtime_1.jsx)(RuleForm_1.TargetOS, { valids: valids, rule: currentRule, onChange: handleOnChange, deviceInfoGetAllRuleOsVersions: service === null || service === void 0 ? void 0 : service.deviceInfoGetAllRuleOsVersions }));
158
159
  case Utils_1.RuleType.TargetDevice:
159
160
  return ((0, jsx_runtime_1.jsx)(RuleForm_1.TargetDevice, { valids: valids, rule: currentRule, onChange: handleOnChange, deviceInfoGetAllRuleDevices: service === null || service === void 0 ? void 0 : service.deviceInfoGetAllRuleDevices }));
160
- // case RuleType.RetargetMacAddress:
161
- // return (
162
- // <RetargetMacAddress
163
- // valids={valids}
164
- // rule={currentRule}
165
- // onChange={handleOnChange}
166
- // />
167
- // );
161
+ case Utils_1.RuleType.RetargetMacAddress:
162
+ return ((0, jsx_runtime_1.jsx)(RuleForm_1.RetargetMacAddress, { valids: valids, rule: currentRule, onChange: handleOnChange, remarketingListGetAll: service === null || service === void 0 ? void 0 : service.remarketingListGetAll }));
168
163
  default:
169
164
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
170
165
  }
@@ -3,6 +3,7 @@ interface Props {
3
3
  rule: AdvancedRule;
4
4
  valids: any;
5
5
  onChange: (rule: AdvancedRule) => void;
6
+ remarketingListGetAll: () => Promise<any[]>;
6
7
  }
7
8
  declare const RetargetMacAddressContainer: (props: Props) => import("react/jsx-runtime").JSX.Element;
8
9
  export default RetargetMacAddressContainer;
@@ -19,19 +19,11 @@ var react_1 = __importDefault(require("react"));
19
19
  var component_1 = __importDefault(require("./component"));
20
20
  var RetargetMacAddressContainer = function (props) {
21
21
  var _a = react_1.default.useState([]), remarketingLists = _a[0], setRemarketingLists = _a[1];
22
+ var remarketingListGetAll = props.remarketingListGetAll;
22
23
  react_1.default.useEffect(function () {
23
- // client.
24
- // RemarketingListService.getAllRemarketingList()
25
- // .then((res) => {
26
- // if (res.data.status === STATUS_CODE.OK)
27
- // {
28
- // setRemarketingLists(res.data.data);
29
- // }
30
- // else {
31
- // Snackbar(SNACKBAR_TYPES.ERROR);
32
- // }
33
- // })
34
- // .catch(() => Snackbar(SNACKBAR_TYPES.ERROR));
24
+ remarketingListGetAll()
25
+ .then(setRemarketingLists)
26
+ .catch(function (err) { return console.log(err); });
35
27
  }, []);
36
28
  return (0, jsx_runtime_1.jsx)(component_1.default, __assign({ remarketingLists: remarketingLists }, props));
37
29
  };
@@ -33,6 +33,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
33
33
  __setModuleDefault(result, mod);
34
34
  return result;
35
35
  };
36
+ var __rest = (this && this.__rest) || function (s, e) {
37
+ var t = {};
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
+ t[p] = s[p];
40
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
+ t[p[i]] = s[p[i]];
44
+ }
45
+ return t;
46
+ };
36
47
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
48
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
49
  };
@@ -189,10 +200,14 @@ var Advanced = function (props) {
189
200
  onClose();
190
201
  }
191
202
  };
203
+ var ruleType = react_1.default.useMemo(function () {
204
+ var RetargetMacAddress = Utils_1.RuleType.RetargetMacAddress, other = __rest(Utils_1.RuleType, ["RetargetMacAddress"]);
205
+ return (service === null || service === void 0 ? void 0 : service.remarketingListGetAll) ? Utils_1.RuleType : other;
206
+ }, [service]);
192
207
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(ClassicBaseDrawer_1.default, { title: translationText.advanced, open: isOpen, onSubmit: handleSubmit, onClose: handleClose, children: (0, jsx_runtime_1.jsx)(material_1.Paper, { sx: classes.paper, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, children: [(0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 12, container: true, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, md: true }), (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, sx: classes.buttonGroup, children: [(0, jsx_runtime_1.jsx)(material_1.Button, { variant: "outlined", color: "primary", endIcon: (0, jsx_runtime_1.jsx)(icons_material_1.ExpandMore, {}), "aria-controls": "simple-menu", "aria-haspopup": "true", onClick: function (e) {
193
208
  e.stopPropagation();
194
209
  setAnchorElRule(e.currentTarget);
195
- }, children: translationText.addRule }), (0, jsx_runtime_1.jsx)(material_1.Menu, { id: "simple-menu", anchorEl: anchorElRule, keepMounted: true, open: Boolean(anchorElRule), onClose: function () { return handleButtonMenuClose(); }, children: Object.keys(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) {