awing-library 2.1.149-beta → 2.1.149

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 (211) hide show
  1. package/lib/ACM-AXN/AuthenticationProfile/Container.js +4 -4
  2. package/lib/ACM-AXN/AuthenticationProfile/CreateOrEdit/index.js +2 -2
  3. package/lib/ACM-AXN/Campaign/Container.js +52 -54
  4. package/lib/ACM-AXN/Campaign/Container.test.js +1 -3
  5. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.d.ts +8 -1
  6. package/lib/ACM-AXN/Campaign/CreateOrEdit/Recoils.js +27 -3
  7. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.d.ts +17 -0
  8. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.js +121 -0
  9. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.d.ts +1 -0
  10. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RowTable.test.js +219 -0
  11. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.d.ts +2 -0
  12. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.js +306 -0
  13. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.d.ts +1 -0
  14. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/RunInBackground.test.js +230 -0
  15. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.d.ts +1 -0
  16. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.js +123 -0
  17. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.d.ts +1 -0
  18. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabApprove/index.test.js +253 -0
  19. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabInfomation.js +21 -5
  20. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.d.ts +1 -1
  21. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabPartner.js +47 -78
  22. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.d.ts +2 -1
  23. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +2 -2
  24. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/ControlPanel.js +2 -1
  25. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Detail/index.js +2 -1
  26. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +19 -42
  27. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +298 -96
  28. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +3 -0
  29. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +119 -54
  30. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +1 -1
  31. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +46 -8
  32. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +6 -4
  33. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +1 -1
  34. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.d.ts +9 -0
  35. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.js +56 -0
  36. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
  37. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +12 -0
  38. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +22 -7
  39. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +63 -12
  40. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
  41. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
  42. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +10 -0
  43. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
  44. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
  45. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
  46. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
  47. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -29
  48. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +1 -1
  49. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +1 -1
  50. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
  51. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +1 -1
  52. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
  53. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +44 -33
  54. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
  55. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
  56. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +3 -2
  57. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
  58. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
  59. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
  60. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +172 -59
  61. package/lib/ACM-AXN/Campaign/Enum.d.ts +24 -6
  62. package/lib/ACM-AXN/Campaign/Enum.js +30 -11
  63. package/lib/ACM-AXN/Campaign/Types.d.ts +53 -5
  64. package/lib/ACM-AXN/Campaign/Utils.d.ts +6 -1
  65. package/lib/ACM-AXN/Campaign/Utils.js +50 -3
  66. package/lib/ACM-AXN/Campaign/index.js +2 -2
  67. package/lib/ACM-AXN/CampaignPlan/Container.js +4 -6
  68. package/lib/ACM-AXN/CampaignPlan/Detail.js +3 -3
  69. package/lib/ACM-AXN/CampaignPlan/Filter.js +3 -3
  70. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
  71. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +3 -2
  72. package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +4 -4
  73. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +5 -4
  74. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +1 -2
  75. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
  76. package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
  77. package/lib/ACM-AXN/Common/Constant.js +2 -0
  78. package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
  79. package/lib/ACM-AXN/Common/Enum.js +19 -4
  80. package/lib/ACM-AXN/Common/Types.d.ts +5 -0
  81. package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
  82. package/lib/ACM-AXN/GeoFencing/component.js +7 -7
  83. package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
  84. package/lib/ACM-AXN/Holiday/FormHoliday.js +1 -0
  85. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
  86. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
  87. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
  88. package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
  89. package/lib/ACM-AXN/Page/Constant.js +2 -0
  90. package/lib/ACM-AXN/Page/Container.js +3 -3
  91. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
  92. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
  93. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -2
  94. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -12
  95. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/TrackingCode.js +1 -1
  96. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
  97. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
  98. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
  99. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
  100. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +11 -44
  101. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
  102. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +39 -61
  103. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +29 -32
  104. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +6 -6
  105. package/lib/ACM-AXN/Page/CreateOrEdit/index.js +19 -4
  106. package/lib/ACM-AXN/Page/Import/index.js +2 -2
  107. package/lib/ACM-AXN/Page/Types.d.ts +3 -0
  108. package/lib/ACM-AXN/Page/enums.d.ts +5 -0
  109. package/lib/ACM-AXN/Page/enums.js +7 -1
  110. package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
  111. package/lib/ACM-AXN/PlaceFilter/DataTable/component/index.js +2 -5
  112. package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
  113. package/lib/ACM-AXN/PlaceFilter/Tag/component/TagChip.js +1 -1
  114. package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
  115. package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +16 -16
  116. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +14 -9
  117. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +19 -18
  118. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +16 -6
  119. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +17 -10
  120. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
  121. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +30 -51
  122. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
  123. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
  124. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
  125. package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +16 -36
  126. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +5 -5
  127. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +13 -10
  128. package/lib/ACM-AXN/Statistics/ControlPanel.js +17 -5
  129. package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
  130. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  131. package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
  132. package/lib/ACM-AXN/StatisticsByProvince/DataTable.js +1 -1
  133. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +4 -4
  134. package/lib/ACM-AXN/Template/Container.js +2 -2
  135. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
  136. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
  137. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +2 -2
  138. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +56 -37
  139. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
  140. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
  141. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
  142. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
  143. package/lib/ACM-AXN/Template/CreateOrEdit/index.js +8 -4
  144. package/lib/ACM-AXN/Template/Import.js +2 -2
  145. package/lib/ACM-AXN/Template/Types.d.ts +9 -9
  146. package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
  147. package/lib/ACM-AXN/ViewTemplate/Preview.js +5 -6
  148. package/lib/ACM-AXN/ViewTemplate/TemplateField/Event.js +23 -11
  149. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
  150. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
  151. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +42 -129
  152. package/lib/ACM-AXN/ViewTemplate/common.d.ts +2 -1
  153. package/lib/ACM-AXN/ViewTemplate/common.js +47 -7
  154. package/lib/ACM-AXN/ViewTemplate/container.js +8 -2
  155. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
  156. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
  157. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
  158. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
  159. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
  160. package/lib/ACM-AXN/index.d.ts +1 -0
  161. package/lib/ACM-AXN/index.js +1 -0
  162. package/lib/AWING/AsyncAutocomplete/index.js +2 -2
  163. package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
  164. package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
  165. package/lib/AWING/Chart/BarLineComponent.js +20 -24
  166. package/lib/AWING/Chart/PieComponent.d.ts +3 -4
  167. package/lib/AWING/Chart/PieComponent.js +16 -16
  168. package/lib/AWING/Chart/Styles.js +51 -16
  169. package/lib/AWING/DataForm/DataInput.js +105 -23
  170. package/lib/AWING/DataForm/interface.d.ts +2 -0
  171. package/lib/AWING/DataGrid/index.js +8 -13
  172. package/lib/AWING/DateRangePicker/component.js +81 -33
  173. package/lib/AWING/DateRangePicker/configDate.d.ts +1 -2
  174. package/lib/AWING/DateRangePicker/configDate.js +12 -12
  175. package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
  176. package/lib/AWING/Form/useForm.js +3 -2
  177. package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
  178. package/lib/AWING/GoogleMap/GGMap.js +256 -0
  179. package/lib/AWING/GoogleMap/index.d.ts +4 -0
  180. package/lib/AWING/GoogleMap/index.js +41 -0
  181. package/lib/AWING/GoogleMap/interface.d.ts +21 -0
  182. package/lib/AWING/GoogleMap/interface.js +2 -0
  183. package/lib/AWING/GoogleMap/utils.d.ts +25 -0
  184. package/lib/AWING/GoogleMap/utils.js +135 -0
  185. package/lib/AWING/GroupTable/GroupTable.js +2 -2
  186. package/lib/AWING/GroupTable/component.d.ts +1 -0
  187. package/lib/AWING/GroupTable/component.js +2 -2
  188. package/lib/AWING/NumberFormat/index.d.ts +3 -1
  189. package/lib/AWING/NumberFormat/index.js +2 -2
  190. package/lib/AWING/PageManagement/PageManagement.js +4 -3
  191. package/lib/AWING/Pagination/index.js +11 -3
  192. package/lib/AWING/index.d.ts +1 -0
  193. package/lib/AWING/index.js +1 -0
  194. package/lib/AWING/ultis/validation.d.ts +1 -0
  195. package/lib/AWING/ultis/validation.js +25 -6
  196. package/lib/Commons/Components/ClassicDrawer.js +5 -4
  197. package/lib/Commons/Components/HighlightedCode/MarkdownElement.js +6 -1
  198. package/lib/Commons/Hooks/usePath.js +3 -3
  199. package/lib/Utils/Helpers.d.ts +4 -3
  200. package/lib/Utils/Helpers.js +54 -23
  201. package/lib/i18n.js +31 -2
  202. package/lib/translate/en/translation.json +131 -71
  203. package/lib/translate/id/translation.json +893 -0
  204. package/lib/translate/ind/translation.json +893 -0
  205. package/lib/translate/ja/translation.json +893 -0
  206. package/lib/translate/lao/translation.json +893 -0
  207. package/lib/translate/mys/translation.json +893 -0
  208. package/lib/translate/phl/translation.json +893 -0
  209. package/lib/translate/th/translation.json +893 -0
  210. package/lib/translate/vi/translation.json +91 -31
  211. package/package.json +10 -5
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { AlertColor } from '@mui/material';
3
3
  import { CampaignType } from './Utils';
4
- import { AdType, CampaignPriority, CampaignRuleType, CampaignTicket, DirectoryRoot, Operator } from './Enum';
4
+ import { AdType, CampaignPriority, CampaignRuleType, CampaignStatus, DirectoryRoot, Operator } from './Enum';
5
5
  import { PrmissionService } from '../Permission/Types';
6
6
  import { PageService, PageViewEvent } from '../Page/Types';
7
7
  import { BaseChartComponent } from 'react-chartjs-2/dist/types';
@@ -43,6 +43,13 @@ export type CampaignModel = {
43
43
  campaignGroups: CampaignGroupModel[];
44
44
  campaignAttributes: CampaignAttribute[];
45
45
  campaignPartner?: CampaignPartner;
46
+ campaignWizard?: {
47
+ id?: number;
48
+ campaignId?: string;
49
+ wizardGroupId?: number;
50
+ wizardId?: string;
51
+ };
52
+ campaignApprovals?: CampaignApproval[];
46
53
  };
47
54
  export type Campaign = {
48
55
  id: string;
@@ -50,6 +57,9 @@ export type Campaign = {
50
57
  directoryPath?: string;
51
58
  name: string;
52
59
  createdDate?: Timestamp;
60
+ password?: string;
61
+ canModify?: boolean;
62
+ hasPassword?: boolean;
53
63
  };
54
64
  export type CampaignGroupModel = {
55
65
  campaignGroup: CampaignGroup;
@@ -59,7 +69,7 @@ export type CampaignGroup = {
59
69
  id: number;
60
70
  campaignId?: string;
61
71
  name: string;
62
- ticket: CampaignTicket;
72
+ status: CampaignStatus;
63
73
  /**
64
74
  * Mức độ ưu tiên (A, B, C)
65
75
  */
@@ -69,7 +79,6 @@ export type CampaignGroup = {
69
79
  /**
70
80
  * Đặt chỗ
71
81
  */
72
- isReserved: boolean;
73
82
  /**
74
83
  * Số lượng đã chạy (nếu có)
75
84
  */
@@ -79,6 +88,7 @@ export type CampaignGroup = {
79
88
  */
80
89
  cantBeDelete?: boolean;
81
90
  billingUnit: AnalyticType;
91
+ billingUnitLabel?: string;
82
92
  };
83
93
  export type CampaignAd = {
84
94
  id: number;
@@ -206,6 +216,17 @@ export type CampaignPartner = {
206
216
  email?: string;
207
217
  emailInterval: number;
208
218
  };
219
+ export type CampaignApproval = {
220
+ id?: number;
221
+ campaignId?: string;
222
+ domainId?: string;
223
+ campaignGroupId?: number;
224
+ campaignAdId?: number;
225
+ status: number;
226
+ description: string;
227
+ loginId?: string;
228
+ welcomeId?: string;
229
+ };
209
230
  export type DateRange = {
210
231
  startDate: Date;
211
232
  endDate: Date;
@@ -232,7 +253,6 @@ export interface CampaignFilter {
232
253
  endDate?: string;
233
254
  pageIndex?: number;
234
255
  pageSize?: number;
235
- isReserved?: boolean;
236
256
  placeIds?: string[];
237
257
  priorities?: CampaignPriority[];
238
258
  status?: number[];
@@ -260,11 +280,11 @@ interface CampaignService extends PrmissionService {
260
280
  campaignsPut: (id: string, body: CampaignModel) => Promise<void>;
261
281
  campaignsPost: (body: CampaignModel) => Promise<void>;
262
282
  directoriesPost: (body: Directory) => Promise<void>;
263
- pagesPaging: (searchString?: string, pageSize?: number, pageIndex?: number, directoryId?: string) => Promise<any>;
264
283
  pagesGetSources: (loginId?: string, welcomeId?: string) => Promise<any>;
265
284
  deviceInfoGetAllRuleOsVersions: () => Promise<RuleOsVersion[]>;
266
285
  deviceInfoGetAllRuleDevices: () => Promise<RuleDevice[]>;
267
286
  attributesGetByObjectTypeCode?: (objectTypeCode: string) => Promise<Attribute[]>;
287
+ campaignsManualSendMail?: (campaignId: string, body: CampaignApproval[]) => Promise<void>;
268
288
  }
269
289
  export interface CampaignFeatureProps {
270
290
  service: CampaignService & PageService & CampaignAnalyticService;
@@ -273,5 +293,33 @@ export interface CampaignFeatureProps {
273
293
  domainId: string;
274
294
  configs: any;
275
295
  isAxn?: boolean;
296
+ quickWizard?: (p?: any) => JSX.Element;
297
+ }
298
+ interface ICampaignApprovalItemSubRow {
299
+ id?: number;
300
+ name?: string;
301
+ status?: CampaignStatus;
302
+ }
303
+ export interface ICampaignApprovalSubRow {
304
+ subCampaigns: ICampaignApprovalItemSubRow[];
305
+ ads: ICampaignApprovalItemSubRow[];
306
+ }
307
+ export interface ICampaignApprovalTableRow {
308
+ id?: string;
309
+ status: number;
310
+ linkPreview: string;
311
+ subCampaigns?: ICampaignApprovalItemSubRow[];
312
+ loginId?: string;
313
+ welcomeId?: string;
314
+ campaign: ICampaignApprovalSubRow[];
315
+ description: string;
316
+ }
317
+ export interface ICampaignApprovalTable {
318
+ id: string;
319
+ domain: {
320
+ domainName?: string;
321
+ domainId?: string;
322
+ };
323
+ detail: ICampaignApprovalTableRow[];
276
324
  }
277
325
  export {};
@@ -77,13 +77,13 @@ export declare const nextChar: (c: string) => string;
77
77
  export declare const RuleType: {
78
78
  LimitView: number;
79
79
  LimitClick: number;
80
+ Authentication: number;
80
81
  LimitEvent: number;
81
82
  TargetGender: number;
82
83
  TargetAge: number;
83
84
  TargetOS: number;
84
85
  TargetDevice: number;
85
86
  RetargetMacAddress: number;
86
- Authentication: number;
87
87
  };
88
88
  export declare const RuleTypeOfCalculator: {
89
89
  TargetGender: number;
@@ -136,3 +136,8 @@ export declare enum adAnalyticType {
136
136
  Spot = 0,
137
137
  Engagements = 1
138
138
  }
139
+ export declare const getCampaignStatus: (isAcm?: boolean) => {
140
+ key: string;
141
+ value: number;
142
+ }[];
143
+ export declare function generateValidPassword(length?: number): string;
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.adAnalyticType = exports.CampaignType = exports.ageRangeValueToText = exports.RuleAgeRange = exports.DEMO_GRAPHIC_AGE_RANGE = exports.getDescription = exports.isAdActive = exports.RuleGender = exports.RuleTypeOfCalculatorAXN = exports.RuleTypeOfCalculator = exports.RuleType = exports.nextChar = exports.getName = exports.getDefaultRule = exports.bonusValid = exports.bookingValid = exports.adsClassCValid = exports.groupClassCValid = exports.groupClassBValid = exports.campaignAdsValid = exports.ruleValid = exports.verifyExpr = exports.advancedValid = exports.weightsValid = exports.placeFilterValid = exports.dateRangeValid = exports.pageValid = exports.campaignAdValid = exports.validateAnalyticTypes = exports.checkValidUrl = exports.tabPartnerValid = exports.tabInfomationValid = exports.attributesValid = exports.nameValid = exports.directoryValid = exports.advancedSearchFormatDate = exports.getCampaignPriority = exports.checkCampaignIsRunning = exports.formatListCampaign = exports.getTotalBooking = exports.checkPriority = exports.getIndexPriority = void 0;
15
+ exports.generateValidPassword = exports.getCampaignStatus = exports.adAnalyticType = exports.CampaignType = exports.ageRangeValueToText = exports.RuleAgeRange = exports.DEMO_GRAPHIC_AGE_RANGE = exports.getDescription = exports.isAdActive = exports.RuleGender = exports.RuleTypeOfCalculatorAXN = exports.RuleTypeOfCalculator = exports.RuleType = exports.nextChar = exports.getName = exports.getDefaultRule = exports.bonusValid = exports.bookingValid = exports.adsClassCValid = exports.groupClassCValid = exports.groupClassBValid = exports.campaignAdsValid = exports.ruleValid = exports.verifyExpr = exports.advancedValid = exports.weightsValid = exports.placeFilterValid = exports.dateRangeValid = exports.pageValid = exports.campaignAdValid = exports.validateAnalyticTypes = exports.checkValidUrl = exports.tabPartnerValid = exports.tabInfomationValid = exports.attributesValid = exports.nameValid = exports.directoryValid = exports.advancedSearchFormatDate = exports.getCampaignPriority = exports.checkCampaignIsRunning = exports.formatListCampaign = exports.getTotalBooking = exports.checkPriority = exports.getIndexPriority = void 0;
16
16
  var Enum_1 = require("./Enum");
17
17
  var Helpers_1 = require("../../Utils/Helpers");
18
18
  var i18n_1 = __importDefault(require("../../i18n"));
@@ -66,7 +66,7 @@ var checkCampaignIsRunning = function (campaignGroupModel) {
66
66
  var localTime = (0, moment_1.default)().format('YYYY-MM-DD');
67
67
  var dateTimeNow = Number((0, moment_1.default)(localTime).format('X'));
68
68
  //Check chỉ cần trong ad có chứa ngày hiện tại là được
69
- var campaignTicket = campaignGroupModel.campaignGroup.ticket === Enum_1.ACTIVE_CAMPAIGN_TICKET;
69
+ var campaignTicket = campaignGroupModel.campaignGroup.status === Enum_1.ACTIVE_CAMPAIGN_TICKET;
70
70
  var campaignContainsCurrentDate = ((_a = campaignGroupModel.ads.filter(function (y) {
71
71
  var _a, _b;
72
72
  return dateTimeNow >= Number((_a = y.startDate) === null || _a === void 0 ? void 0 : _a.seconds) &&
@@ -368,13 +368,13 @@ exports.nextChar = nextChar;
368
368
  exports.RuleType = {
369
369
  LimitView: 0,
370
370
  LimitClick: 1,
371
+ Authentication: 8,
371
372
  LimitEvent: 2,
372
373
  TargetGender: 3,
373
374
  TargetAge: 4,
374
375
  TargetOS: 5,
375
376
  TargetDevice: 6,
376
377
  RetargetMacAddress: 7,
377
- Authentication: 8,
378
378
  };
379
379
  exports.RuleTypeOfCalculator = {
380
380
  TargetGender: 3,
@@ -636,3 +636,50 @@ var adAnalyticType;
636
636
  adAnalyticType[adAnalyticType["Spot"] = 0] = "Spot";
637
637
  adAnalyticType[adAnalyticType["Engagements"] = 1] = "Engagements";
638
638
  })(adAnalyticType || (exports.adAnalyticType = adAnalyticType = {}));
639
+ var getCampaignStatus = function (isAcm) {
640
+ var allStatuses = Object.keys(Enum_1.CampaignStatus)
641
+ .filter(function (key) { return isNaN(Number(key)); })
642
+ .map(function (key) { return ({ key: key, value: Enum_1.CampaignStatus[key] }); });
643
+ if (isAcm) {
644
+ return allStatuses.filter(function (status) {
645
+ return status.value === Enum_1.CampaignStatus.Draft ||
646
+ status.value === Enum_1.CampaignStatus.Active ||
647
+ status.value === Enum_1.CampaignStatus.Done;
648
+ });
649
+ }
650
+ else {
651
+ return allStatuses;
652
+ }
653
+ };
654
+ exports.getCampaignStatus = getCampaignStatus;
655
+ function generateValidPassword(length) {
656
+ var _a;
657
+ if (length === void 0) { length = 12; }
658
+ var upperCase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
659
+ var lowerCase = 'abcdefghijklmnopqrstuvwxyz';
660
+ var numbers = '0123456789';
661
+ var specialChars = '#?!@$%^&*-';
662
+ var allChars = upperCase + lowerCase + numbers + specialChars;
663
+ if (length < 8) {
664
+ throw new Error("Password length must be at least 8 characters.");
665
+ }
666
+ var getRandomChar = function (chars) { return chars[Math.floor(Math.random() * chars.length)]; };
667
+ // Ensure each required character is included at least once
668
+ var requiredChars = [
669
+ getRandomChar(upperCase),
670
+ getRandomChar(lowerCase),
671
+ getRandomChar(numbers),
672
+ getRandomChar(specialChars)
673
+ ];
674
+ // Fill the rest of the password with random characters from all sets
675
+ var remainingLength = length - requiredChars.length;
676
+ var remainingChars = Array.from({ length: remainingLength }, function () { return getRandomChar(allChars); });
677
+ // Combine and shuffle the characters
678
+ var passwordArray = __spreadArray(__spreadArray([], requiredChars, true), remainingChars, true);
679
+ for (var i = passwordArray.length - 1; i > 0; i--) {
680
+ var j = Math.floor(Math.random() * (i + 1));
681
+ _a = [passwordArray[j], passwordArray[i]], passwordArray[i] = _a[0], passwordArray[j] = _a[1];
682
+ }
683
+ return passwordArray.join('');
684
+ }
685
+ exports.generateValidPassword = generateValidPassword;
@@ -52,11 +52,11 @@ var Campaign = function (props) {
52
52
  },
53
53
  {
54
54
  param: Constant_1.Constants.CAMPAIGN_DETAIL + '/:campaignId/:tabName/*',
55
- element: (0, jsx_runtime_1.jsx)(CreateOrEdit_1.default, {}),
55
+ element: (0, jsx_runtime_1.jsx)(CreateOrEdit_1.default, { quickWizard: props.quickWizard }),
56
56
  },
57
57
  {
58
58
  param: Constant_1.Constants.CAMPAIGN_CLONE + '/:campaignId/:tabName/*',
59
- element: (0, jsx_runtime_1.jsx)(CreateOrEdit_1.default, {}),
59
+ element: ((0, jsx_runtime_1.jsx)(CreateOrEdit_1.default, { quickWizard: props.quickWizard, type: Constant_1.Constants.CAMPAIGN_CLONE })),
60
60
  },
61
61
  ];
62
62
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Container_1.default, {}), (0, jsx_runtime_1.jsx)(Router_1.Routes, { children: paths.map(function (p) { return ((0, jsx_runtime_1.jsx)(Router_1.Route, { path: p.param, element: p.element }, p.param)); }) })] }));
@@ -109,10 +109,8 @@ function Container() {
109
109
  },
110
110
  {
111
111
  field: 'totalRun',
112
- headerName: "".concat(t('CampaignPlan.HasRun'), " (").concat(t('Common.BillingUnit'), ")"),
113
- valueGetter: function (row) {
114
- return (0, Helpers_1.formatNumber)(row.totalRun);
115
- },
112
+ headerName: "".concat(t('CampaignPlan.HasRun')),
113
+ type: 'number',
116
114
  width: 200,
117
115
  TableCellProps: {
118
116
  align: 'right',
@@ -120,7 +118,7 @@ function Container() {
120
118
  },
121
119
  {
122
120
  field: 'totalExpected',
123
- headerName: "".concat(t('CampaignPlan.WillRun'), " (").concat(t('Common.BillingUnit'), ")"),
121
+ headerName: "".concat(t('CampaignPlan.WillRun')),
124
122
  valueGetter: function (row) {
125
123
  return row.isContainClassB
126
124
  ? (0, Helpers_1.formatNumber)(row.totalExpected)
@@ -133,7 +131,7 @@ function Container() {
133
131
  },
134
132
  {
135
133
  field: 'total',
136
- headerName: "".concat(t('CampaignPlan.AmountBooking'), " (+").concat(t('CampaignPlan.BonusText'), ")"),
134
+ headerName: "".concat(t('CampaignPlan.AmountBooking'), " (").concat(t('CampaignPlan.BonusText'), ")"),
137
135
  valueGetter: function (row) {
138
136
  return row.isContainClassB
139
137
  ? (0, Helpers_1.formatNumber)(Number(row.total))
@@ -78,7 +78,7 @@ function CampaignPlanDetail() {
78
78
  },
79
79
  {
80
80
  field: 'totalRun',
81
- headerName: "".concat(t('CampaignPlan.HasRun'), " (").concat(t('Common.BillingUnit'), ")"),
81
+ headerName: "".concat(t('CampaignPlan.HasRun')),
82
82
  type: 'number',
83
83
  TableCellProps: {
84
84
  align: 'right',
@@ -86,7 +86,7 @@ function CampaignPlanDetail() {
86
86
  },
87
87
  {
88
88
  field: 'totalExpected',
89
- headerName: "".concat(t('CampaignPlan.WillRun'), " (").concat(t('Common.BillingUnit'), ")"),
89
+ headerName: "".concat(t('CampaignPlan.WillRun')),
90
90
  valueGetter: function (row) {
91
91
  return row.priority ===
92
92
  Utils_1.CAMPAIGN_PRIORITY.CLASS_B
@@ -99,7 +99,7 @@ function CampaignPlanDetail() {
99
99
  },
100
100
  {
101
101
  field: 'total',
102
- headerName: "".concat(t('CampaignPlan.AmountBooking'), " (+").concat(t('CampaignPlan.BonusText'), ")"),
102
+ headerName: "".concat(t('CampaignPlan.AmountBooking'), " (").concat(t('CampaignPlan.BonusText'), ")"),
103
103
  valueGetter: function (row) {
104
104
  return row.priority ===
105
105
  Utils_1.CAMPAIGN_PRIORITY.CLASS_B
@@ -39,14 +39,14 @@ function Filters(props) {
39
39
  var t = (0, react_i18next_1.useTranslation)().t;
40
40
  var service = (0, Hooks_1.default)().service;
41
41
  var _a = (0, react_1.useState)([
42
- { id: '0', name: t('Common.SelectAll') },
42
+ { id: '0', name: 'Common.SelectAll' },
43
43
  ]), campaign = _a[0], setCampaign = _a[1];
44
44
  (0, react_1.useEffect)(function () {
45
45
  service.campaignsGetCampaignsWillRun().then(function (data) {
46
- setCampaign(function (oldData) { return __spreadArray(__spreadArray([], oldData, true), data, true); });
46
+ setCampaign(function (oldData) { return __spreadArray(__spreadArray([], oldData, true), data, true).map(function (item) { return (__assign(__assign({}, item), { name: t(String(item.name)) })); }); });
47
47
  });
48
48
  // eslint-disable-next-line react-hooks/exhaustive-deps
49
- }, []);
49
+ }, [t]);
50
50
  var reserveTypes = (0, react_1.useMemo)(function () { return [
51
51
  {
52
52
  id: 0,
@@ -15,6 +15,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  var jsx_runtime_1 = require("react/jsx-runtime");
18
+ var react_1 = require("react");
18
19
  var GetApp_1 = __importDefault(require("@mui/icons-material/GetApp"));
19
20
  var material_1 = require("@mui/material");
20
21
  var styles_1 = require("@mui/styles");
@@ -80,11 +81,12 @@ var useStyles = (0, styles_1.makeStyles)(function () { return ({
80
81
  },
81
82
  }); });
82
83
  var Filters = function (_a) {
83
- var _b, _c;
84
- var campaigns = _a.campaigns, handleFilters = _a.handleFilters, loadingFlags = _a.loadingFlags, PlaceMultiSelect = _a.placeMultiSelectComponent, handleExportExcel = _a.handleExportExcel, _d = _a.disabledCampaignFilter, disabledCampaignFilter = _d === void 0 ? false : _d, isFutureDate = _a.isFutureDate;
84
+ var campaigns = _a.campaigns, handleFilters = _a.handleFilters, loadingFlags = _a.loadingFlags, PlaceMultiSelect = _a.placeMultiSelectComponent, handleExportExcel = _a.handleExportExcel, _b = _a.disabledCampaignFilter, disabledCampaignFilter = _b === void 0 ? false : _b, isFutureDate = _a.isFutureDate;
85
85
  var t = (0, react_i18next_1.useTranslation)().t;
86
- var _e = (0, recoil_1.useRecoilState)(Atom_1.CampaignScheduleTypeViewState), typeView = _e[0], setTypeView = _e[1];
87
- var campaignOptions = __assign(__assign({}, campaigns), { 0: { campaignId: 0, name: t('Common.SelectAll') } });
86
+ var campaignOptions = __assign({ 0: { id: '-1', name: t('Common.SelectAll') } }, campaigns);
87
+ var options = lodash_1.default.values(campaignOptions);
88
+ var _c = (0, recoil_1.useRecoilState)(Atom_1.CampaignScheduleTypeViewState), typeView = _c[0], setTypeView = _c[1];
89
+ var _d = (0, react_1.useState)(options[0].id), campaignId = _d[0], setCampaignId = _d[1];
88
90
  var classes = useStyles();
89
91
  var handleChangeDateRange = function (value) {
90
92
  handleFilters('startDate', value.startDate);
@@ -94,7 +96,7 @@ var Filters = function (_a) {
94
96
  setTypeView({
95
97
  type: e.target.value,
96
98
  });
97
- }, children: [(0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: Constant_1.TypeView.billingUnit, children: t('Common.BillingUnit') }), (0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: Constant_1.TypeView.impression, children: t('Common.Impression') })] })] }) })), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: disabledCampaignFilter ? 6 : 3, className: classes.dateRangePicker, children: (0, jsx_runtime_1.jsx)(AWING_1.DateRangePicker, { isShowCalendarInfo: true, isFutureDate: isFutureDate !== null && isFutureDate !== void 0 ? isFutureDate : true, label: "".concat(t('Common.StartDate'), " - ").concat(t('Common.EndDate')), callback: handleChangeDateRange, initialStartDate: (0, moment_1.default)(), initialEndDate: (0, moment_1.default)(), variant: "outlined", textFieldProps: {
99
+ }, children: [(0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: Constant_1.TypeView.billingUnit, children: t('Campaign.BillingUnit.Title') }), (0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: Constant_1.TypeView.impression, children: t('Common.Impression') })] })] }) })), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: disabledCampaignFilter ? 6 : 3, className: classes.dateRangePicker, children: (0, jsx_runtime_1.jsx)(AWING_1.DateRangePicker, { isShowCalendarInfo: true, isFutureDate: isFutureDate !== null && isFutureDate !== void 0 ? isFutureDate : true, label: "".concat(t('Common.StartDate'), " - ").concat(t('Common.EndDate')), callback: handleChangeDateRange, initialStartDate: (0, moment_1.default)(), initialEndDate: (0, moment_1.default)(), variant: "outlined", textFieldProps: {
98
100
  fullWidth: true,
99
101
  className: classes.outlinedInput,
100
102
  }, isDayBlocked: function (day) {
@@ -107,11 +109,13 @@ var Filters = function (_a) {
107
109
  else {
108
110
  return false;
109
111
  }
110
- } }) }), !disabledCampaignFilter && ((0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, children: (0, jsx_runtime_1.jsx)(material_1.Autocomplete, { size: "small", disablePortal: true, id: "combo-box-demo", options: (_c = (_b = lodash_1.default.values(campaignOptions)) === null || _b === void 0 ? void 0 : _b.map(function (obj) { return (__assign({}, obj)); })) !== null && _c !== void 0 ? _c : [], getOptionLabel: function (option) { var _a; return (_a = option.name) !== null && _a !== void 0 ? _a : ''; }, isOptionEqualToValue: function (option, value) {
111
- return option.Id === value.Id;
112
- }, onChange: function (event, campaign) {
113
- handleFilters('campaignId', campaign === null || campaign === void 0 ? void 0 : campaign.id);
114
- }, renderInput: function (params) { return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, params, { label: t('Schedule.CampaignName'), sx: { backgroundColor: 'white' }, variant: "outlined" }))); }, defaultValue: { Id: 0, name: t('Common.SelectAll') } }) })), (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: disabledCampaignFilter ? 6 : 3, className: classes.ellipsisPlaceFilter, children: [(0, jsx_runtime_1.jsx)(PlaceMultiSelect, { isDisplayTextField: true, onChange: function (placeIds) {
112
+ } }) }), !disabledCampaignFilter && ((0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, children: (0, jsx_runtime_1.jsx)(material_1.Autocomplete, { size: "small", disablePortal: true, id: "combo-box-demo", options: options !== null && options !== void 0 ? options : [], value: options.find(function (item) { return item.id === campaignId; }), getOptionLabel: function (option) { var _a; return (_a = option.name) !== null && _a !== void 0 ? _a : ''; }, onChange: function (event, campaign) {
113
+ var _a;
114
+ handleFilters('campaignId', (campaign === null || campaign === void 0 ? void 0 : campaign.id) === options[0].id
115
+ ? undefined
116
+ : campaign === null || campaign === void 0 ? void 0 : campaign.id);
117
+ setCampaignId((_a = campaign === null || campaign === void 0 ? void 0 : campaign.id) !== null && _a !== void 0 ? _a : options[0].id);
118
+ }, renderInput: function (params) { return ((0, jsx_runtime_1.jsx)(material_1.TextField, __assign({}, params, { label: t('Schedule.CampaignName'), sx: { backgroundColor: 'white' }, variant: "outlined" }))); } }) })), (0, jsx_runtime_1.jsxs)(material_1.Grid, { item: true, xs: disabledCampaignFilter ? 6 : 3, className: classes.ellipsisPlaceFilter, children: [(0, jsx_runtime_1.jsx)(PlaceMultiSelect, { isDisplayTextField: true, onChange: function (placeIds) {
115
119
  return handleFilters('placeIds', placeIds);
116
120
  } }), (0, jsx_runtime_1.jsx)(material_1.Button, { sx: {
117
121
  height: '40px',
@@ -7,16 +7,17 @@ var jsx_runtime_1 = require("react/jsx-runtime");
7
7
  var material_1 = require("@mui/material");
8
8
  var react_i18next_1 = require("react-i18next");
9
9
  var Pagination_1 = __importDefault(require("./Pagination"));
10
+ var i18n_1 = __importDefault(require("../../../../i18n"));
10
11
  var EnhancedPagination = function (_a) {
11
12
  var total = _a.total, children = _a.children, pageSize = _a.pageSize, pageIndex = _a.pageIndex, classes = _a.classes, className = _a.className, colSpan = _a.colSpan, handleChangePage = _a.handleChangePage, handleChangeRowsPerPage = _a.handleChangeRowsPerPage;
12
13
  var t = (0, react_i18next_1.useTranslation)().t;
13
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [children, (0, jsx_runtime_1.jsx)(material_1.TableRow, { children: (0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", padding: "none", colSpan: colSpan, children: (0, jsx_runtime_1.jsx)(material_1.TablePagination, { className: "".concat(classes === null || classes === void 0 ? void 0 : classes.root, " ").concat(className), rowsPerPageOptions: [10, 20, 30], component: "div", count: total, rowsPerPage: pageSize, page: pageIndex, ActionsComponent: Pagination_1.default, labelRowsPerPage: t('Paging.RowPerPage'), onPageChange: function (e, newPage) {
14
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [children, (0, jsx_runtime_1.jsx)(material_1.TableRow, { children: (0, jsx_runtime_1.jsx)(material_1.TableCell, { align: "right", padding: "none", colSpan: colSpan, children: (0, jsx_runtime_1.jsx)(material_1.TablePagination, { className: "".concat(classes === null || classes === void 0 ? void 0 : classes.root, " ").concat(className), rowsPerPageOptions: [10, 20, 30], component: "div", count: total, rowsPerPage: pageSize, page: pageIndex, ActionsComponent: Pagination_1.default, labelRowsPerPage: i18n_1.default.t('Paging.RowPerPage'), onPageChange: function (e, newPage) {
14
15
  handleChangePage(newPage);
15
16
  }, onRowsPerPageChange: function (e) {
16
17
  return handleChangeRowsPerPage(e);
17
18
  }, SelectProps: {
18
19
  inputProps: {
19
- 'aria-label': t('Paging.RowPerPage'),
20
+ 'aria-label': i18n_1.default.t('Paging.RowPerPage'),
20
21
  },
21
22
  native: true,
22
23
  } }) }) })] }));
@@ -44,13 +44,13 @@ var DataSetConfigs = function (exportData, campaigns, places, t, isBilling) {
44
44
  style: { font: { sz: '13' } },
45
45
  },
46
46
  {
47
- value: (0, Helpers_1.formatNumber)(isBilling ? data.rateBilling : data.rate || 0),
47
+ value: isBilling ? (data.rateBilling.toFixed(2) || 0) : (data.rate.toFixed(2) || 0),
48
48
  style: { font: { sz: '13' } },
49
49
  },
50
50
  {
51
- value: (0, Helpers_1.formatNumber)(isBilling
52
- ? data.totalQuantityBilling
53
- : data.totalQuantity || 0),
51
+ value: isBilling
52
+ ? (data.totalQuantityBilling.toFixed(2) || 0)
53
+ : (data.totalQuantity.toFixed(2) || 0),
54
54
  style: { font: { sz: '12' } },
55
55
  },
56
56
  ];
@@ -22,6 +22,7 @@ var DataSetConfigsAXN = function (t, exportData, domains, campaigns, places, isB
22
22
  '#',
23
23
  t('Schedule.Campaign'),
24
24
  t('Schedule.Place'),
25
+ t('Schedule.Domain'),
25
26
  t('Schedule.Date'),
26
27
  "".concat(t('Schedule.Rate'), " (%)"),
27
28
  t('Schedule.Total'),
@@ -46,13 +47,13 @@ var DataSetConfigsAXN = function (t, exportData, domains, campaigns, places, isB
46
47
  style: { font: { sz: '13' } },
47
48
  },
48
49
  {
49
- value: (0, Helpers_1.formatNumber)(isBilling ? data.rateBilling : data.rate || 0),
50
+ value: isBilling ? (data.rateBilling.toFixed(2) || 0) : (data.rate.toFixed(2) || 0),
50
51
  style: { font: { sz: '13' } },
51
52
  },
52
53
  {
53
- value: (0, Helpers_1.formatNumber)(isBilling
54
- ? data.totalQuantityBilling
55
- : data.totalQuantity || 0),
54
+ value: isBilling
55
+ ? (data.totalQuantityBilling.toFixed(2) || 0)
56
+ : (data.totalQuantity.toFixed(2) || 0),
56
57
  style: { font: { sz: '12' } },
57
58
  },
58
59
  ];
@@ -1,3 +1,2 @@
1
- import { IPlaceGroupPermission, ITypeView } from '../interface';
2
- export declare const placeGroupPermissionState: import("recoil").RecoilState<IPlaceGroupPermission>;
1
+ import { ITypeView } from '../interface';
3
2
  export declare const CampaignScheduleTypeViewState: import("recoil").RecoilState<ITypeView>;
@@ -1,13 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CampaignScheduleTypeViewState = exports.placeGroupPermissionState = void 0;
3
+ exports.CampaignScheduleTypeViewState = void 0;
4
4
  var recoil_1 = require("recoil");
5
5
  var Constant_1 = require("../../../ACM-AXN/Common/Constant");
6
6
  // Khi bắt đầu load sẽ thực hiện lấy thông tin placeGroupPermission cho placefilter.
7
- exports.placeGroupPermissionState = (0, recoil_1.atom)({
8
- key: 'PlaceGroupPermissionState',
9
- default: { placeGroups: [], places: [] },
10
- });
11
7
  exports.CampaignScheduleTypeViewState = (0, recoil_1.atom)({
12
8
  key: 'CampaignScheduleTypeViewState',
13
9
  default: { type: Constant_1.TypeView.billingUnit },
@@ -1,5 +1,6 @@
1
1
  declare global {
2
2
  interface Window {
3
+ TOPIC_PREFIX: string;
3
4
  REACT_APP_API_ENDPOINT: string;
4
5
  GOONG_MAP_KEY: string;
5
6
  GOONG_API_KEY: string;
@@ -81,6 +82,8 @@ export declare const Constants: {
81
82
  CAMPAIGN_STATISTICS: string;
82
83
  CAMPAIGN_CONNECT: string;
83
84
  CAMPAIGN_PERMISSION: string;
85
+ CAMPAIGN_APPROVE: string;
86
+ CAMPAIGN_WIZARD: string;
84
87
  CAPTIVE_DOMAIN: any;
85
88
  CAMPAIGN_PREVIEW: string;
86
89
  DOMAIN_PREVIEW: string;
@@ -71,6 +71,8 @@ exports.Constants = {
71
71
  CAMPAIGN_STATISTICS: 'Statistics',
72
72
  CAMPAIGN_CONNECT: 'Connect',
73
73
  CAMPAIGN_PERMISSION: 'Permission',
74
+ CAMPAIGN_APPROVE: 'Approve',
75
+ CAMPAIGN_WIZARD: 'Wizard',
74
76
  CAPTIVE_DOMAIN: window.REACT_APP_CAPTIVE_DOMAIN,
75
77
  CAMPAIGN_PREVIEW: 'Preview/Campaign',
76
78
  DOMAIN_PREVIEW: 'Preview/Domain',
@@ -53,7 +53,12 @@ export declare enum AnalyticGroupBy {
53
53
  GbApMac = 7
54
54
  }
55
55
  export declare enum AnalyticType {
56
- VIEW = 0,// Impression
57
- AUTHENTICATION = 1,// Engagement / Spot
58
- CLICK = 2
56
+ View = 0,// Impression
57
+ Authentication = 1,// Engagement / Spot
58
+ Click = 2,// Final Click
59
+ AuthenticationSuccess = 4
59
60
  }
61
+ export declare const MarkAnalyticTypes: {
62
+ billingUnit: AnalyticType;
63
+ billingUnitLabel: string;
64
+ }[];
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AnalyticType = exports.AnalyticGroupBy = exports.TimelineType = exports.ShareType = exports.JobTypeEnum = exports.VERIFIED_STATUS = exports.VALID_PROCESS_CODE = exports.TrackingType = exports.PathType = exports.FileTypeCode = exports.PageCode = void 0;
3
+ exports.MarkAnalyticTypes = exports.AnalyticType = exports.AnalyticGroupBy = exports.TimelineType = exports.ShareType = exports.JobTypeEnum = exports.VERIFIED_STATUS = exports.VALID_PROCESS_CODE = exports.TrackingType = exports.PathType = exports.FileTypeCode = exports.PageCode = void 0;
4
4
  var PageCode;
5
5
  (function (PageCode) {
6
6
  PageCode[PageCode["Wlc"] = 0] = "Wlc";
@@ -68,7 +68,22 @@ var AnalyticGroupBy;
68
68
  })(AnalyticGroupBy || (exports.AnalyticGroupBy = AnalyticGroupBy = {}));
69
69
  var AnalyticType;
70
70
  (function (AnalyticType) {
71
- AnalyticType[AnalyticType["VIEW"] = 0] = "VIEW";
72
- AnalyticType[AnalyticType["AUTHENTICATION"] = 1] = "AUTHENTICATION";
73
- AnalyticType[AnalyticType["CLICK"] = 2] = "CLICK";
71
+ AnalyticType[AnalyticType["View"] = 0] = "View";
72
+ AnalyticType[AnalyticType["Authentication"] = 1] = "Authentication";
73
+ AnalyticType[AnalyticType["Click"] = 2] = "Click";
74
+ AnalyticType[AnalyticType["AuthenticationSuccess"] = 4] = "AuthenticationSuccess";
74
75
  })(AnalyticType || (exports.AnalyticType = AnalyticType = {}));
76
+ exports.MarkAnalyticTypes = [
77
+ {
78
+ billingUnit: AnalyticType.Authentication,
79
+ billingUnitLabel: AnalyticType[AnalyticType.Authentication],
80
+ },
81
+ {
82
+ billingUnit: AnalyticType.Click,
83
+ billingUnitLabel: AnalyticType[AnalyticType.Authentication],
84
+ },
85
+ {
86
+ billingUnit: AnalyticType.Click,
87
+ billingUnitLabel: AnalyticType[AnalyticType.Click],
88
+ }
89
+ ];
@@ -4,6 +4,10 @@ export type Timestamp = {
4
4
  seconds: number;
5
5
  nanos: number;
6
6
  };
7
+ export interface CampaignPasswordDTO {
8
+ campaignId?: string;
9
+ password?: string | undefined;
10
+ }
7
11
  export interface IStatisticDTO {
8
12
  startDate: string;
9
13
  endDate: string;
@@ -13,4 +17,5 @@ export interface IStatisticDTO {
13
17
  analyticGroupBies?: AnalyticGroupBy[] | undefined;
14
18
  includedEventLabels?: string[] | undefined;
15
19
  ignoredEventLabels?: string[] | undefined;
20
+ campaignPasswords?: CampaignPasswordDTO[] | undefined;
16
21
  }
@@ -11,14 +11,14 @@ declare function GoongMap({ onAddPlace, zoom, radius, limit, defaultGoongMap, ma
11
11
  }): import("react/jsx-runtime").JSX.Element;
12
12
  declare namespace GoongMap {
13
13
  namespace propTypes {
14
- let onAddPlace: PropTypes.Requireable<(...args: any[]) => any>;
15
- let zoom: PropTypes.Requireable<number>;
16
- let radius: PropTypes.Requireable<number>;
17
- let limit: PropTypes.Requireable<number>;
18
- let defaultGoongMap: PropTypes.Requireable<object>;
19
- let marker: PropTypes.Requireable<object>;
20
- let onLoad: PropTypes.Requireable<(...args: any[]) => any>;
21
- let configs: PropTypes.Requireable<object>;
14
+ let onAddPlace: any;
15
+ let zoom: any;
16
+ let radius: any;
17
+ let limit: any;
18
+ let defaultGoongMap: any;
19
+ let marker: any;
20
+ let onLoad: any;
21
+ let configs: any;
22
22
  }
23
23
  namespace defaultProps {
24
24
  export function onAddPlace_1(): void;
@@ -45,4 +45,3 @@ declare namespace GoongMap {
45
45
  export { configs_1 as configs };
46
46
  }
47
47
  }
48
- import PropTypes from "prop-types";