awing-library 2.1.130-beta → 2.1.130

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 (218) hide show
  1. package/lib/ACM-AXN/Campaign/Container.js +52 -54
  2. package/lib/ACM-AXN/Campaign/Container.test.js +1 -3
  3. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +8 -1
  4. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +27 -3
  5. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.d.ts +17 -0
  6. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.js +121 -0
  7. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.d.ts +1 -0
  8. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.js +219 -0
  9. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.d.ts +2 -0
  10. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.js +306 -0
  11. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.d.ts +1 -0
  12. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.js +230 -0
  13. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.d.ts +1 -0
  14. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.js +123 -0
  15. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.d.ts +1 -0
  16. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.js +253 -0
  17. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +2 -2
  18. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.d.ts +1 -1
  19. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.js +47 -78
  20. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.d.ts +6 -1
  21. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +3 -22
  22. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.js +2 -1
  23. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.js +2 -3
  24. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +22 -43
  25. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +321 -103
  26. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/component.js +1 -1
  27. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +3 -0
  28. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +122 -58
  29. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +1 -1
  30. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +46 -8
  31. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +11 -8
  32. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +1 -1
  33. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
  34. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +6 -1
  35. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +88 -8
  36. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.js +3 -3
  37. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +23 -71
  38. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
  39. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
  40. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +22 -4
  41. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
  42. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
  43. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
  44. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
  45. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -32
  46. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +5 -2
  47. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +2 -2
  48. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/AddOrEditRule.js +6 -0
  49. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.d.ts +8 -0
  50. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/Authentication.js +47 -0
  51. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.js +52 -6
  52. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
  53. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.d.ts +1 -0
  54. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/index.js +3 -1
  55. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.d.ts +4 -3
  56. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +13 -7
  57. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
  58. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.d.ts +1 -1
  59. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +75 -123
  60. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
  61. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
  62. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.d.ts +2 -0
  63. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +8 -3
  64. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
  65. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
  66. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
  67. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +176 -59
  68. package/lib/ACM-AXN/Campaign/Enum.d.ts +23 -4
  69. package/lib/ACM-AXN/Campaign/Enum.js +30 -10
  70. package/lib/ACM-AXN/Campaign/Types.d.ts +52 -6
  71. package/lib/ACM-AXN/Campaign/Utils.d.ts +5 -0
  72. package/lib/ACM-AXN/Campaign/Utils.js +29 -2
  73. package/lib/ACM-AXN/Campaign/index.js +2 -2
  74. package/lib/ACM-AXN/CampaignPlan/Container.js +21 -10
  75. package/lib/ACM-AXN/CampaignPlan/Container.test.d.ts +1 -1
  76. package/lib/ACM-AXN/CampaignPlan/Container.test.js +1 -2
  77. package/lib/ACM-AXN/CampaignPlan/Detail.js +5 -7
  78. package/lib/ACM-AXN/CampaignPlan/Detail.test.d.ts +1 -1
  79. package/lib/ACM-AXN/CampaignPlan/Detail.test.js +2 -3
  80. package/lib/ACM-AXN/CampaignPlan/Filter.js +11 -4
  81. package/lib/ACM-AXN/CampaignPlan/Filter.test.d.ts +1 -1
  82. package/lib/ACM-AXN/CampaignPlan/Filter.test.js +0 -1
  83. package/lib/ACM-AXN/CampaignPlan/Types.d.ts +6 -74
  84. package/lib/ACM-AXN/CampaignPlan/Types.js +1 -253
  85. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
  86. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +3 -2
  87. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +7 -5
  88. package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +4 -4
  89. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +5 -4
  90. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +1 -2
  91. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
  92. package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
  93. package/lib/ACM-AXN/Common/Constant.js +2 -0
  94. package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
  95. package/lib/ACM-AXN/Common/Enum.js +19 -4
  96. package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
  97. package/lib/ACM-AXN/GeoFencing/component.js +7 -7
  98. package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
  99. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
  100. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
  101. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
  102. package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
  103. package/lib/ACM-AXN/Page/Container.js +3 -3
  104. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
  105. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
  106. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -1
  107. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -1
  108. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
  109. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
  110. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
  111. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
  112. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +6 -9
  113. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
  114. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +40 -61
  115. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +26 -30
  116. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +6 -8
  117. package/lib/ACM-AXN/Page/CreateOrEdit/index.js +5 -3
  118. package/lib/ACM-AXN/Page/enums.d.ts +5 -0
  119. package/lib/ACM-AXN/Page/enums.js +7 -1
  120. package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
  121. package/lib/ACM-AXN/PlaceFilter/DataTable/component/index.js +2 -5
  122. package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
  123. package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
  124. package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +16 -16
  125. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +14 -9
  126. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +19 -18
  127. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +16 -6
  128. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +17 -10
  129. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
  130. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +30 -51
  131. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
  132. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
  133. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
  134. package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +16 -36
  135. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +5 -5
  136. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +14 -11
  137. package/lib/ACM-AXN/Statistics/ControlPanel.js +16 -4
  138. package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
  139. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  140. package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
  141. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +3 -3
  142. package/lib/ACM-AXN/Template/Container.js +1 -1
  143. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
  144. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
  145. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +2 -2
  146. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +56 -39
  147. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
  148. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
  149. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
  150. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
  151. package/lib/ACM-AXN/Template/CreateOrEdit/index.js +8 -4
  152. package/lib/ACM-AXN/Template/Import.js +6 -3
  153. package/lib/ACM-AXN/Template/Types.d.ts +9 -9
  154. package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
  155. package/lib/ACM-AXN/ViewTemplate/Preview.js +5 -6
  156. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
  157. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
  158. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +46 -160
  159. package/lib/ACM-AXN/ViewTemplate/common.js +2 -3
  160. package/lib/ACM-AXN/ViewTemplate/container.js +23 -24
  161. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
  162. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
  163. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
  164. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
  165. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
  166. package/lib/ACM-AXN/index.d.ts +1 -0
  167. package/lib/ACM-AXN/index.js +1 -0
  168. package/lib/AWING/AsyncAutocomplete/index.js +2 -2
  169. package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
  170. package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
  171. package/lib/AWING/Chart/BarLineComponent.js +29 -11
  172. package/lib/AWING/Chart/PieComponent.d.ts +3 -4
  173. package/lib/AWING/Chart/PieComponent.js +16 -16
  174. package/lib/AWING/Chart/Styles.js +51 -16
  175. package/lib/AWING/DataForm/DataInput.js +63 -20
  176. package/lib/AWING/DataForm/interface.d.ts +1 -0
  177. package/lib/AWING/DataGrid/index.js +8 -13
  178. package/lib/AWING/DateRangePicker/component.js +55 -30
  179. package/lib/AWING/DateRangePicker/configDate.d.ts +1 -2
  180. package/lib/AWING/DateRangePicker/configDate.js +12 -12
  181. package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
  182. package/lib/AWING/Form/useForm.js +3 -2
  183. package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
  184. package/lib/AWING/GoogleMap/GGMap.js +256 -0
  185. package/lib/AWING/GoogleMap/index.d.ts +4 -0
  186. package/lib/AWING/GoogleMap/index.js +41 -0
  187. package/lib/AWING/GoogleMap/interface.d.ts +21 -0
  188. package/lib/AWING/GoogleMap/interface.js +2 -0
  189. package/lib/AWING/GoogleMap/utils.d.ts +25 -0
  190. package/lib/AWING/GoogleMap/utils.js +135 -0
  191. package/lib/AWING/GroupTable/GroupTable.js +4 -5
  192. package/lib/AWING/GroupTable/component.d.ts +1 -0
  193. package/lib/AWING/GroupTable/component.js +2 -2
  194. package/lib/AWING/NumberFormat/index.d.ts +3 -1
  195. package/lib/AWING/NumberFormat/index.js +2 -2
  196. package/lib/AWING/PageManagement/PageManagement.js +4 -3
  197. package/lib/AWING/Pagination/index.js +11 -3
  198. package/lib/AWING/index.d.ts +1 -0
  199. package/lib/AWING/index.js +1 -0
  200. package/lib/AWING/ultis/validation.d.ts +1 -0
  201. package/lib/AWING/ultis/validation.js +21 -5
  202. package/lib/Commons/Components/ClassicDrawer.js +5 -4
  203. package/lib/Commons/Components/DeprecatedEnhancedDialog.js +1 -1
  204. package/lib/Commons/Hooks/usePath.js +3 -3
  205. package/lib/Utils/Helpers.d.ts +4 -2
  206. package/lib/Utils/Helpers.js +56 -7
  207. package/lib/i18n.js +14 -2
  208. package/lib/translate/en/translation.json +112 -71
  209. package/lib/translate/id/translation.json +870 -0
  210. package/lib/translate/ja/translation.json +870 -0
  211. package/lib/translate/th/translation.json +870 -0
  212. package/lib/translate/vi/translation.json +76 -35
  213. package/package.json +131 -126
  214. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/fakeCampaignData.json +0 -397
  215. package/lib/ACM-AXN/ScheduleCompletionRate/json.d.ts +0 -61
  216. package/lib/ACM-AXN/ScheduleCompletionRate/json.js +0 -268
  217. package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.d.ts +0 -5
  218. package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.js +0 -14
@@ -38,14 +38,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  };
39
39
  Object.defineProperty(exports, "__esModule", { value: true });
40
40
  var jsx_runtime_1 = require("react/jsx-runtime");
41
- var react_1 = __importStar(require("react"));
42
- var component_1 = __importDefault(require("./component"));
43
- var Helpers_1 = require("../../../../../Utils/Helpers");
44
- var Context_1 = __importDefault(require("../Context"));
45
- var moment_1 = __importDefault(require("moment"));
46
41
  var Enum_1 = require("../../../../../ACM-AXN/Campaign/Enum");
42
+ var exportFile_1 = require("../../../../../ACM-AXN/CampaignSchedule/exportFile");
47
43
  var Enum_2 = require("../../../../../ACM-AXN/Common/Enum");
44
+ var moment_1 = __importDefault(require("moment"));
45
+ var react_1 = __importStar(require("react"));
46
+ var Context_1 = __importDefault(require("../Context"));
48
47
  var Util_1 = require("./Util");
48
+ var component_1 = __importDefault(require("./component"));
49
49
  var EventContainer = function (props) {
50
50
  var campaignId = props.campaignId, startDate = props.startDate, endDate = props.endDate, subCampaigns = props.subCampaigns, domains = props.domains;
51
51
  var client = (0, Context_1.default)().services;
@@ -68,92 +68,44 @@ var EventContainer = function (props) {
68
68
  }, [subCampaigns]);
69
69
  var getEventData = function (time, placeIds, ids) {
70
70
  setIsLoading(true);
71
- client.campaignStatisticGet({
71
+ client
72
+ .campaignStatisticGet({
72
73
  startDate: (0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT),
73
74
  endDate: (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT),
74
75
  timelineType: Enum_2.TimelineType.Day,
75
- campaignAdGroups: [__assign({ campaignId: "5344841815813731135" }, ids)],
76
+ campaignAdGroups: [
77
+ __assign({ campaignId: campaignId }, ids),
78
+ ],
76
79
  analyticGroupBies: [
77
80
  Enum_2.AnalyticGroupBy.GbEventLabel,
78
81
  Enum_2.AnalyticGroupBy.GbTimeline,
79
82
  ],
80
83
  ignoredEventLabels: Object.values(Enum_1.BaseEvent),
81
84
  placeIds: placeIds,
82
- }).then(function (res) { return setEventData((0, Util_1.convertEventData)(res)); }).finally(function () { return setIsLoading(false); });
83
- // client
84
- // .statisticCampaignGetAnalyticEvent({
85
- // startDate: time.startDate.toDateString(),
86
- // endDate: time.endDate.toDateString(),
87
- // campaignAdGroups: [{ campaignId, ...ids }],
88
- // placeIds,
89
- // } as any)
90
- // .then(setEventData)
91
- // .finally(() => setIsLoading(false))
85
+ })
86
+ .then(function (res) { return setEventData((0, Util_1.convertEventData)(res)); })
87
+ .finally(function () { return setIsLoading(false); });
92
88
  };
93
89
  var exportData = function (time, placeIds, ids) {
94
- var places = placesOfCampaign.filter(function (p) {
90
+ var places = placeIds.length ? placesOfCampaign.filter(function (p) {
95
91
  return placeIds.includes(p.placeId);
96
- });
97
- client.campaignStatisticGetEvents({
92
+ }) : placesOfCampaign;
93
+ return client
94
+ .campaignStatisticGetEvents({
98
95
  startDate: (0, moment_1.default)(time.startDate).format(Enum_1.DATE_FORMAT),
99
96
  endDate: (0, moment_1.default)(time.endDate).format(Enum_1.DATE_FORMAT),
100
97
  timelineType: Enum_2.TimelineType.Day,
101
- campaignAdGroups: [__assign({ campaignId: "5344841815813731135" }, ids)],
98
+ campaignAdGroups: [
99
+ __assign({ campaignId: campaignId }, ids),
100
+ ],
102
101
  analyticGroupBies: Object.values(Enum_2.AnalyticGroupBy).filter(function (g) { return !isNaN(Number(g)); }),
103
102
  ignoredEventLabels: Object.values(Enum_1.BaseEvent),
104
103
  placeIds: placeIds,
104
+ })
105
+ .then(function (res) {
106
+ (0, exportFile_1.downloadWithDataSet)("export_analytic_event_campaign_".concat(campaignId), (0, Util_1.convertToExportData)(res, places));
105
107
  });
106
- // client
107
- // .statisticCampaignGetEvents({
108
- // startDate: time.startDate.toDateString(),
109
- // endDate: time.endDate.toDateString(),
110
- // campaignAdGroups: [{ campaignId, ...ids }],
111
- // placeIds,
112
- // } as any)
113
- // .then((responses) => {
114
- // // if (responses.data.status === STATUS_CODE.OK) {
115
- // downloadWithDataSet(
116
- // `export_analytic_event_campaign_${campaignId}`,
117
- // convertToExportData(responses, places)
118
- // )
119
- // })
120
108
  };
121
- function convertToExportData(data, places) {
122
- var columns = ['Place', 'Mac Address', 'Created date', 'Event label'];
123
- var exportData = [];
124
- data === null || data === void 0 ? void 0 : data.forEach(function (el) {
125
- var place = places.find(function (x) { return x.placeId === el.placeId; });
126
- var rowData = [
127
- place ? place.name : el.placeId,
128
- el.macAddress,
129
- (0, Helpers_1.dateTimeToString)((0, Helpers_1.convertTimestampToDateTime)(el.createdDate), 'DD/MM/YYYY, HH'),
130
- el.eventLabel,
131
- ];
132
- var eventObject = JSON.parse(el.eventObject);
133
- var keyNames = Object.keys(eventObject);
134
- var _loop_1 = function (i) {
135
- if (!columns.some(function (x) { return x === keyNames[i]; })) {
136
- columns.push(keyNames[i]);
137
- }
138
- };
139
- for (var i = 0; i < keyNames.length; i++) {
140
- _loop_1(i);
141
- }
142
- for (var i = 4; i < columns.length; i++) {
143
- var dataObj = eventObject[columns[i]];
144
- rowData.push(typeof dataObj === 'string'
145
- ? dataObj
146
- : JSON.stringify(dataObj));
147
- }
148
- exportData.push(rowData);
149
- });
150
- return [
151
- {
152
- columns: columns,
153
- data: exportData,
154
- },
155
- ];
156
- }
157
109
  return ((0, jsx_runtime_1.jsx)(component_1.default, { startDate: startDate, endDate: endDate, subCampaigns: subCampaigns, isLoading: isLoading, eventData: eventData, getEventData: getEventData, exportData: exportData, domains: domains }));
158
110
  };
159
111
  exports.default = EventContainer;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  interface Props {
3
3
  onSubmit: (value: string) => void;
4
+ loading?: boolean;
4
5
  }
5
6
  declare const SplitButtonExportType: React.FC<Props>;
6
7
  export default SplitButtonExportType;
@@ -20,13 +20,25 @@ var material_1 = require("@mui/material");
20
20
  var ArrowDropDown_1 = __importDefault(require("@mui/icons-material/ArrowDropDown"));
21
21
  var common_1 = require("./common");
22
22
  var react_i18next_1 = require("react-i18next");
23
- var options = Object.values(common_1.EXPORT_TYPES).map(function (type, idx) { return type; });
23
+ var i18n_1 = __importDefault(require("../../../../i18n"));
24
+ var lab_1 = require("@mui/lab");
25
+ var Context_1 = __importDefault(require("./Context"));
24
26
  var SplitButtonExportType = function (props) {
25
- var onSubmit = props.onSubmit;
27
+ var onSubmit = props.onSubmit, loading = props.loading;
28
+ var services = (0, Context_1.default)().services;
26
29
  var _a = react_1.default.useState(false), open = _a[0], setOpen = _a[1];
27
30
  var anchorRef = react_1.default.useRef(null);
28
31
  var _b = react_1.default.useState(0), selectedIndex = _b[0], setSelectedIndex = _b[1];
29
- var t = (0, react_i18next_1.useTranslation)().t;
32
+ var options = react_1.default.useMemo(function () {
33
+ return Object.values(common_1.EXPORT_TYPES)
34
+ .map(function (type, idx) { return type; })
35
+ .filter(function (type) {
36
+ return services.domainsGetAll ? true : type !== 'Domain';
37
+ });
38
+ },
39
+ // eslint-disable-next-line react-hooks/exhaustive-deps
40
+ []);
41
+ var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }).t;
30
42
  var handleClick = function () {
31
43
  onSubmit(options[selectedIndex]);
32
44
  };
@@ -49,8 +61,9 @@ var SplitButtonExportType = function (props) {
49
61
  Domain: t("Campaign.ExportType.Domain"),
50
62
  Location: t('Campaign.ExportType.Location'),
51
63
  LocationGroup: t('Campaign.ExportType.LocationGroup'),
64
+ Ad: t('Campaign.ExportType.Ad'),
52
65
  };
53
- return ((0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, direction: "column", alignItems: "center", children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 12, children: [(0, jsx_runtime_1.jsxs)(material_1.ButtonGroup, { variant: "outlined", color: "inherit", ref: anchorRef, "aria-label": "split button", children: [(0, jsx_runtime_1.jsx)(material_1.Button, { onClick: handleClick, children: translationText[options[selectedIndex]] }), (0, jsx_runtime_1.jsx)(material_1.Button, { size: "small", "aria-controls": open ? 'split-button-menu' : undefined, "aria-expanded": open ? 'true' : undefined, "aria-label": "select merge strategy", "aria-haspopup": "menu", onClick: handleToggle, children: (0, jsx_runtime_1.jsx)(ArrowDropDown_1.default, {}) })] }), (0, jsx_runtime_1.jsx)(material_1.Popper, { style: { zIndex: 99999 }, open: open, anchorEl: anchorRef.current, transition: true, children: function (_a) {
66
+ return ((0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, direction: "column", alignItems: "center", children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: 12, children: [(0, jsx_runtime_1.jsxs)(material_1.ButtonGroup, { disabled: loading, variant: "outlined", color: "inherit", ref: anchorRef, "aria-label": "split button", children: [(0, jsx_runtime_1.jsx)(lab_1.LoadingButton, { variant: 'outlined', onClick: handleClick, loading: loading, children: translationText[options[selectedIndex]] }), (0, jsx_runtime_1.jsx)(material_1.Button, { size: "small", "aria-controls": open ? 'split-button-menu' : undefined, "aria-expanded": open ? 'true' : undefined, "aria-label": "select merge strategy", "aria-haspopup": "menu", onClick: handleToggle, children: (0, jsx_runtime_1.jsx)(ArrowDropDown_1.default, {}) })] }), (0, jsx_runtime_1.jsx)(material_1.Popper, { style: { zIndex: 99999 }, open: open, anchorEl: anchorRef.current, transition: true, children: function (_a) {
54
67
  var TransitionProps = _a.TransitionProps, placement = _a.placement;
55
68
  return ((0, jsx_runtime_1.jsx)(material_1.Grow, __assign({}, TransitionProps, { style: {
56
69
  transformOrigin: placement === 'bottom'
@@ -2,6 +2,7 @@
2
2
  import { CampaignGroupModel, PlaceFilter } from '../../../../ACM-AXN/Campaign/Types';
3
3
  import { ShareType } from '../../../../ACM-AXN/Common/Enum';
4
4
  import { IStatisticDTO, Timestamp } from '../../../../ACM-AXN/Common/Types';
5
+ import { AdministrativeUnitType } from '../../../../ACM-AXN/Page/enums';
5
6
  import { BaseChartComponent } from 'react-chartjs-2/dist/types';
6
7
  export interface IAudienceObjectOverview {
7
8
  timeline?: number;
@@ -34,19 +35,27 @@ export interface AnalyticEventModelResponse {
34
35
  timeline: number;
35
36
  total: number;
36
37
  }
37
- export interface AnalyticEvent {
38
+ export interface IEvent {
38
39
  eventLabel: string;
39
40
  eventObject: string;
41
+ viewNumber: number;
42
+ createdDate: Timestamp;
43
+ }
44
+ export interface AnalyticEvent {
45
+ id: number;
46
+ sessionId: string;
40
47
  placeId: string;
41
48
  domainId: string;
42
- pageId: string;
43
49
  campaignId: string;
44
50
  campaignGroupId: number;
51
+ campaignAdId: number;
45
52
  macAddress: string;
46
53
  apMac: string;
47
- sessionId: string;
54
+ isNetwork: boolean;
55
+ url: string;
56
+ userAgent: string;
57
+ events: IEvent[];
48
58
  createdDate: Timestamp;
49
- campaignAdId: number;
50
59
  }
51
60
  export interface IDomain {
52
61
  domainId?: string;
@@ -73,6 +82,12 @@ export type DateRange = {
73
82
  startDate: Date;
74
83
  endDate: Date;
75
84
  };
85
+ export type AdministrativeUnit = {
86
+ code?: string | undefined;
87
+ parentUnitCode?: string | undefined;
88
+ name?: string | undefined;
89
+ type?: AdministrativeUnitType;
90
+ };
76
91
  export interface CampaignAnalyticService {
77
92
  campaignStatisticGetEvents(body: IStatisticDTO | undefined): Promise<AnalyticEvent[]>;
78
93
  campaignStatisticGetCustomer(startDate: string | undefined, endDate: string | undefined, campaignId: string | undefined): Promise<AudienceObjectReply>;
@@ -80,12 +95,15 @@ export interface CampaignAnalyticService {
80
95
  domainsGetAll?: () => Promise<IDomain[]>;
81
96
  placesGetPagingByPlaceFilter: (pageIndex?: number, pageSize?: number, body?: PlaceFilter) => Promise<any>;
82
97
  placesGetByPlaceFilter: (body?: PlaceFilter) => Promise<any[]>;
98
+ administrativeUnitsGet: () => Promise<AdministrativeUnit[]>;
83
99
  }
84
100
  export interface CampaignAnalyticProps {
85
101
  placeMultiSelectComponent: (p?: any) => JSX.Element;
102
+ fullPlaces?: AdministrativeUnit[];
86
103
  chart: BaseChartComponent;
87
104
  services: CampaignAnalyticService;
88
105
  campaignId: string;
106
+ campaignName?: string;
89
107
  isNetwork?: boolean;
90
108
  subCampaigns: CampaignGroupModel[];
91
109
  }
@@ -27,7 +27,10 @@ var getTime = function (subCampaigns) {
27
27
  exports.getTime = getTime;
28
28
  var extractEvent = function (eventLabel) {
29
29
  if (eventLabel === void 0) { eventLabel = ''; }
30
- var _a = eventLabel.match(/^(\d+)_([\s\S]*)$/) || [], view = _a[1], eventName = _a[2];
30
+ if (!eventLabel) {
31
+ throw new Error('Event label is required');
32
+ }
33
+ var _a = eventLabel.match(/^(\d+)_([\s\S]*)$/) || ['', '1', eventLabel], view = _a[1], eventName = _a[2];
31
34
  return { view: view, eventName: eventName };
32
35
  };
33
36
  exports.extractEvent = extractEvent;
@@ -3,4 +3,5 @@ export declare const EXPORT_TYPES: {
3
3
  Domain: string;
4
4
  LocationGroup: string;
5
5
  Location: string;
6
+ Ad: string;
6
7
  };
@@ -4,6 +4,7 @@ exports.EXPORT_TYPES = void 0;
4
4
  exports.EXPORT_TYPES = {
5
5
  Export: "Export",
6
6
  Domain: "Domain",
7
- LocationGroup: "LocationGroup",
8
- Location: "Location",
7
+ LocationGroup: "LocationGroup", // Chiến dịch con
8
+ Location: "Location", // Địa điểm
9
+ Ad: "Ad" // Quảng cáo
9
10
  };
@@ -1,14 +1,18 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  var jsx_runtime_1 = require("react/jsx-runtime");
4
7
  var react_i18next_1 = require("react-i18next");
5
8
  var material_1 = require("@mui/material");
6
9
  var react_1 = require("react");
7
10
  var container_1 = require("./container");
11
+ var i18n_1 = __importDefault(require("../../../../i18n"));
8
12
  var color = ['inherit', 'primary'];
9
13
  var variant = ['outlined', 'contained'];
10
14
  var TabStatistic = function (props) {
11
- var t = (0, react_i18next_1.useTranslation)().t;
15
+ var t = (0, react_i18next_1.useTranslation)(undefined, { i18n: i18n_1.default }).t;
12
16
  var tabIndex = props.tabIndex, onChangeTab = props.onChangeTab, tabPanel = props.tabPanel, isNetwork = props.isNetwork;
13
17
  var translationText = (0, react_1.useMemo)(function () { return ({
14
18
  analytic: t('Campaign.Analytic'),
@@ -19,7 +23,7 @@ var TabStatistic = function (props) {
19
23
  var handleChangeTab = function (event) {
20
24
  onChangeTab(Number(event.target.tabIndex));
21
25
  };
22
- return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, sx: { padding: function (theme) { return theme.spacing(2); } }, className: "ahihu", children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 3, children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h6", sx: {
26
+ return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, sx: { padding: function (theme) { return theme.spacing(2); } }, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 3, children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "h6", sx: {
23
27
  marginTop: function (theme) { return theme.spacing(1); },
24
28
  marginLeft: function (theme) { return theme.spacing(2); },
25
29
  }, children: translationText.title }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 6, children: (0, jsx_runtime_1.jsx)(material_1.ButtonGroup, { sx: {
@@ -37,18 +37,44 @@ var component_1 = __importDefault(require("./component"));
37
37
  var AWING_1 = require("../../../../AWING");
38
38
  var Context_1 = __importStar(require("./Context"));
39
39
  var Hooks_1 = require("../../../../AWING/Hooks");
40
- var fakeCampaignData_json_1 = __importDefault(require("./fakeCampaignData.json"));
41
40
  exports.tabs = { ANALYTIC: 0, EVENT: 1, CUSTOMER: 2 };
42
41
  function TabStatisticsContainer() {
43
- var _a = (0, Context_1.default)(), client = _a.services, xxy = _a.campaignId, xxx = _a.subCampaigns, isNetwork = _a.isNetwork;
44
- var campaignId = fakeCampaignData_json_1.default.campaign.id;
45
- var subCampaigns = fakeCampaignData_json_1.default.campaignGroups;
42
+ var _a = (0, Context_1.default)(), client = _a.services, campaignId = _a.campaignId, subCampaigns = _a.subCampaigns, isNetwork = _a.isNetwork, campaignName = _a.campaignName, fullPlaces = _a.fullPlaces;
46
43
  var _b = (0, react_1.useState)(exports.tabs.ANALYTIC), tabIndex = _b[0], setTabIndex = _b[1];
47
44
  var time = (0, react_1.useMemo)(function () { return (0, Utils_1.getTime)(subCampaigns); }, [subCampaigns]);
45
+ var _c = (0, Hooks_1.useGetData)([], function () {
46
+ return client.domainsGetAll
47
+ ? client === null || client === void 0 ? void 0 : client.domainsGetAll().then(function (res) {
48
+ var campaignDomains = [];
49
+ subCampaigns.forEach(function (s) {
50
+ var _a;
51
+ (_a = s === null || s === void 0 ? void 0 : s.ads) === null || _a === void 0 ? void 0 : _a.forEach(function (ad) {
52
+ var _a;
53
+ (_a = ad === null || ad === void 0 ? void 0 : ad.places) === null || _a === void 0 ? void 0 : _a.forEach(function (p) {
54
+ var _a;
55
+ var idx = campaignDomains.findIndex(function (c) { return c.domainId === p.domainId; });
56
+ if (idx > -1) {
57
+ campaignDomains[idx].places.push(p);
58
+ }
59
+ else {
60
+ var domainName = (_a = res.find(function (d) { return d.domainId === p.domainId; })) === null || _a === void 0 ? void 0 : _a.name;
61
+ campaignDomains.push({
62
+ domainId: p.domainId,
63
+ domainName: domainName,
64
+ places: [p],
65
+ });
66
+ }
67
+ });
68
+ });
69
+ });
70
+ return campaignDomains;
71
+ })
72
+ : Promise.resolve([]);
73
+ }), isLoading = _c.isLoading, data = _c.data;
48
74
  var tabPanel = function () {
49
75
  switch (tabIndex) {
50
76
  case exports.tabs.ANALYTIC:
51
- return ((0, jsx_runtime_1.jsx)(Analytic_1.default, { campaignId: campaignId, subCampaigns: subCampaigns, startDate: time.startDate, endDate: time.endDate, domains: data }));
77
+ return ((0, jsx_runtime_1.jsx)(Analytic_1.default, { campaignId: campaignId, subCampaigns: subCampaigns, startDate: time.startDate, endDate: time.endDate, domains: data, campaignName: campaignName, fullPlaces: fullPlaces }));
52
78
  case exports.tabs.EVENT:
53
79
  return ((0, jsx_runtime_1.jsx)(Event_1.default, { campaignId: campaignId, startDate: time.startDate, endDate: time.endDate, subCampaigns: subCampaigns, domains: data }));
54
80
  case exports.tabs.CUSTOMER:
@@ -57,33 +83,6 @@ function TabStatisticsContainer() {
57
83
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
58
84
  }
59
85
  };
60
- var _c = (0, Hooks_1.useGetData)([], function () {
61
- return client.domainsGetAll ? client === null || client === void 0 ? void 0 : client.domainsGetAll().then(function (res) {
62
- var campaignDomains = [];
63
- subCampaigns.forEach(function (s) {
64
- var _a;
65
- (_a = s === null || s === void 0 ? void 0 : s.ads) === null || _a === void 0 ? void 0 : _a.forEach(function (ad) {
66
- var _a;
67
- (_a = ad === null || ad === void 0 ? void 0 : ad.places) === null || _a === void 0 ? void 0 : _a.forEach(function (p) {
68
- var _a;
69
- var idx = campaignDomains.findIndex(function (c) { return c.domainId === p.domainId; });
70
- if (idx > -1) {
71
- campaignDomains[idx].places.push(p);
72
- }
73
- else {
74
- var domainName = (_a = res.find(function (d) { return d.domainId === p.domainId; })) === null || _a === void 0 ? void 0 : _a.name;
75
- campaignDomains.push({
76
- domainId: p.domainId,
77
- domainName: domainName,
78
- places: [p],
79
- });
80
- }
81
- });
82
- });
83
- });
84
- return campaignDomains;
85
- }) : Promise.resolve([]);
86
- }), isLoading = _c.isLoading, data = _c.data;
87
86
  var handleChangeTab = function (newValue) {
88
87
  setTabIndex(newValue);
89
88
  };
@@ -136,6 +136,7 @@ function AdList(props) {
136
136
  setAdOpen({
137
137
  subCampaignId: newAd.campaignGroupId,
138
138
  adId: newAd.id,
139
+ loginId: newAd.loginId,
139
140
  });
140
141
  handleChangeAdStatus(newAd, (0, Utils_1.campaignAdValid)(newAd));
141
142
  }
@@ -269,6 +270,7 @@ function AdList(props) {
269
270
  ? ads.map(function (ad) { return ({
270
271
  subCampaignId: ad.campaignGroupId,
271
272
  adId: ad.id,
273
+ loginId: ad.loginId,
272
274
  }); })
273
275
  : [];
274
276
  });
@@ -283,7 +285,7 @@ function AdList(props) {
283
285
  } }, getDatePropsForWeight()));
284
286
  }, "aria-label": "weight", children: (0, jsx_runtime_1.jsx)(AvTimer_1.default, { fontSize: "small" }) }) }), (0, jsx_runtime_1.jsx)(material_1.Tooltip, { title: translationText.advanced, children: (0, jsx_runtime_1.jsx)(material_1.IconButton, { onClick: function () {
285
287
  return setIsAdvancedDrawerOpen(true);
286
- }, "aria-label": "advanced", disabled: hasClassC, children: (0, jsx_runtime_1.jsx)(StarHalf_1.default, { fontSize: "small" }) }) }), isAdvancedDrawerOpen && ((0, jsx_runtime_1.jsx)(Advanced_1.default, { service: service, isOpen: isAdvancedDrawerOpen, onClose: function () {
288
+ }, "aria-label": "advanced", disabled: hasClassC, children: (0, jsx_runtime_1.jsx)(StarHalf_1.default, { fontSize: "small" }) }) }), isAdvancedDrawerOpen && ((0, jsx_runtime_1.jsx)(Advanced_1.default, { loginIds: Array.from(new Set(adSelected.map(function (x) { return x.loginId; }))), service: service, isOpen: isAdvancedDrawerOpen, onClose: function () {
287
289
  return setIsAdvancedDrawerOpen(false);
288
290
  }, onChange: function (setStateAction) {
289
291
  return onChange(adSelected, function (preCampaignAd) {
@@ -339,13 +341,14 @@ function AdList(props) {
339
341
  {
340
342
  subCampaignId: ad.campaignGroupId,
341
343
  adId: ad.id,
344
+ loginId: ad.loginId,
342
345
  },
343
346
  ]);
344
347
  });
345
348
  } }, idx));
346
349
  }) })] })] }), open &&
347
350
  (0, jsx_runtime_1.jsx)(PreviewButton_1.default, { anchorEl: anchorEl, open: open, domainIds: previewId.domainIds, handlePreviewClose: handlePreviewClose, handlePreviewDomain: function (event, domainId) {
348
- handlePreview(event, ads.find(function (x) { return x.loginId === previewId.loginId; }), domainId);
351
+ handlePreview(event, ads.find(function (x) { return x.loginId === previewId.loginId && x.welcomeId === previewId.welcomeId; }), domainId);
349
352
  // handlePreview(previewId, domainId)
350
353
  }, service: service })] }));
351
354
  }
@@ -185,7 +185,7 @@ function AdRow(props) {
185
185
  action: onDelete,
186
186
  name: translationText.delete,
187
187
  },
188
- ]), true), size: "medium" }), (0, jsx_runtime_1.jsxs)("div", { onClick: function (e) { return e.stopPropagation(); }, children: [(0, jsx_runtime_1.jsx)(material_1.Snackbar, { open: openCopiedMessage, autoHideDuration: 2000, onClose: function () { return setOpenCopiedMessage(false); }, message: translationText.copied }), showTheSource && ((0, jsx_runtime_1.jsx)(ShowTheSource_1.default, { isOpen: showTheSource, onClose: function () { return setShowTheSource(false); }, loginId: ad.loginId, welcomeId: ad.welcomeId })), isAdvancedDrawerOpen && ((0, jsx_runtime_1.jsx)(Advanced_1.default, { service: service, isOpen: isAdvancedDrawerOpen, onClose: function () { return setIsAdvancedDrawerOpen(false); }, initialCampaignAdAdvanced: ad.advanced, onChange: function (setStateAction) {
188
+ ]), true), size: "medium" }), (0, jsx_runtime_1.jsxs)("div", { onClick: function (e) { return e.stopPropagation(); }, children: [(0, jsx_runtime_1.jsx)(material_1.Snackbar, { open: openCopiedMessage, autoHideDuration: 2000, onClose: function () { return setOpenCopiedMessage(false); }, message: translationText.copied }), showTheSource && ((0, jsx_runtime_1.jsx)(ShowTheSource_1.default, { isOpen: showTheSource, onClose: function () { return setShowTheSource(false); }, loginId: ad.loginId, welcomeId: ad.welcomeId })), isAdvancedDrawerOpen && ((0, jsx_runtime_1.jsx)(Advanced_1.default, { service: service, isOpen: isAdvancedDrawerOpen, onClose: function () { return setIsAdvancedDrawerOpen(false); }, loginIds: [ad.loginId], initialCampaignAdAdvanced: ad.advanced, onChange: function (setStateAction) {
189
189
  return onChange(function (preCampaignAd) {
190
190
  return (__assign(__assign({}, preCampaignAd), { advanced: typeof setStateAction ===
191
191
  'function'
@@ -200,6 +200,6 @@ function AdRow(props) {
200
200
  paddingBottom: 0,
201
201
  paddingTop: 0,
202
202
  borderBottomWidth: open ? 1 : 0,
203
- }, colSpan: 3, children: (0, jsx_runtime_1.jsx)(material_1.Collapse, { in: open, timeout: "auto", unmountOnExit: true, children: (0, jsx_runtime_1.jsx)(material_1.Box, { margin: 1, children: (0, jsx_runtime_1.jsx)(AdDetail_1.default, __assign({ ad: ad, onChange: onChange }, other)) }) }) })] })] }));
203
+ }, colSpan: 3, children: (0, jsx_runtime_1.jsx)(material_1.Collapse, { in: open, timeout: "auto", unmountOnExit: true, children: (0, jsx_runtime_1.jsx)(material_1.Box, { margin: 1, sx: { height: '416px' }, children: (0, jsx_runtime_1.jsx)(AdDetail_1.default, __assign({ ad: ad, onChange: onChange }, other)) }) }) })] })] }));
204
204
  }
205
205
  exports.default = AdRow;
@@ -63,6 +63,7 @@ var AddOrEditRule = function (props) {
63
63
  _a[Utils_1.RuleType.TargetOS] = t('Campaign.RuleType.TargetOS'),
64
64
  _a[Utils_1.RuleType.TargetDevice] = t('Campaign.RuleType.TargetDevice'),
65
65
  _a[Utils_1.RuleType.RetargetMacAddress] = t('Campaign.RuleType.RetargetMacAddress'),
66
+ _a[Utils_1.RuleType.Authentication] = t('Campaign.RuleType.Engagement'),
66
67
  _a),
67
68
  save: t('Common.Save'),
68
69
  invalidData: t('Common.InvalidData'),
@@ -90,6 +91,9 @@ var AddOrEditRule = function (props) {
90
91
  eventLabel: Boolean(rule.parameter &&
91
92
  rule.parameter.eventLabel &&
92
93
  rule.parameter.eventLabel.length > 0),
94
+ viewNumber: Boolean(rule.parameter &&
95
+ rule.parameter.viewNumber &&
96
+ (0, Helpers_1.validateNumber)(rule.parameter.viewNumber)),
93
97
  };
94
98
  case Utils_1.RuleType.TargetGender:
95
99
  return {
@@ -160,6 +164,8 @@ var AddOrEditRule = function (props) {
160
164
  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 }));
161
165
  case Utils_1.RuleType.RetargetMacAddress:
162
166
  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 }));
167
+ case Utils_1.RuleType.Authentication:
168
+ return ((0, jsx_runtime_1.jsx)(RuleForm_1.AuthenCation, { valids: valids, rule: currentRule, onChange: handleOnChange }));
163
169
  default:
164
170
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
165
171
  }
@@ -0,0 +1,8 @@
1
+ import { AdvancedRule } from '../AddOrEditRule';
2
+ interface Props {
3
+ rule: AdvancedRule;
4
+ valids: any;
5
+ onChange: (rule: AdvancedRule) => void;
6
+ }
7
+ declare const LimitAuthencation: (props: Props) => import("react/jsx-runtime").JSX.Element;
8
+ export default LimitAuthencation;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ var jsx_runtime_1 = require("react/jsx-runtime");
15
+ var material_1 = require("@mui/material");
16
+ var react_i18next_1 = require("react-i18next");
17
+ var Enum_1 = require("../../../../Enum");
18
+ var LimitAuthencation = function (props) {
19
+ var rule = props.rule, valids = props.valids, onChange = props.onChange;
20
+ var t = (0, react_i18next_1.useTranslation)().t;
21
+ var handleChange = function (fieldName, fieldValue) {
22
+ var _a;
23
+ onChange(__assign(__assign({}, rule), (_a = {}, _a[fieldName] = fieldValue, _a)));
24
+ };
25
+ var handleChangeParameter = function (fieldName, fieldValue) {
26
+ var _a;
27
+ handleChange('parameter', __assign(__assign({}, rule.parameter), (_a = {}, _a[fieldName] = fieldValue, _a)));
28
+ };
29
+ var translationText = {
30
+ operator: t('Campaign.Operator'),
31
+ period: t('Campaign.Period'),
32
+ value: t('Campaign.Detail.Value'),
33
+ periodHelperText: t('Campaign.PeriodHelperText'),
34
+ helperText: t('Common.Required'),
35
+ };
36
+ return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, spacing: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 6, children: (0, jsx_runtime_1.jsx)(material_1.TextField, { id: 'operator', variant: "standard", name: 'operator', select: true, fullWidth: true, label: translationText.operator, value: rule.operator, onChange: function (e) { return handleChange('operator', e.target.value); }, children: Object.entries(Enum_1.EnumOperator).map(function (_a) {
37
+ var key = _a[0], val = _a[1];
38
+ return ((0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: val.id, children: val.text }, val.id));
39
+ }) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 6, children: (0, jsx_runtime_1.jsx)(material_1.TextField, { id: "value", name: "value", variant: "standard", type: "number", fullWidth: true, label: translationText.value, value: rule.value, onChange: function (e) { return handleChange('value', e.target.value); }, error: valids && !valids.value, helperText: valids && !valids.value
40
+ ? translationText.helperText
41
+ : '' }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(material_1.TextField, { id: "period", variant: "standard", name: "period", type: "number", fullWidth: true, label: translationText.period, value: rule.parameter.period, onChange: function (e) {
42
+ return handleChangeParameter('period', e.target.value);
43
+ }, error: valids && !valids.period, helperText: valids && !valids.period
44
+ ? translationText.helperText
45
+ : translationText.periodHelperText }) })] }));
46
+ };
47
+ exports.default = LimitAuthencation;