awing-library 2.1.141-beta → 2.1.141

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 (214) 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 +6 -1
  23. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/ChartWithType.js +3 -22
  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 -3
  26. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.d.ts +22 -42
  27. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/Utils.js +317 -104
  28. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/component.js +1 -1
  29. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.d.ts +3 -0
  30. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Analytic/container.js +119 -54
  31. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.d.ts +1 -1
  32. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/ChartFilter.js +46 -8
  33. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/component.js +8 -6
  34. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Customer/container.js +1 -1
  35. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.d.ts +9 -0
  36. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/PasswordDialog.js +56 -0
  37. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Table.js +5 -1
  38. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.d.ts +12 -0
  39. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/Util.js +23 -8
  40. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/component.js +3 -3
  41. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Event/container.js +63 -12
  42. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.d.ts +1 -0
  43. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/SplitButtonExportType.js +17 -4
  44. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Types.d.ts +10 -0
  45. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/Utils.js +4 -1
  46. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.d.ts +1 -0
  47. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/common.js +3 -2
  48. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/component.js +6 -2
  49. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabStatistic/container.js +31 -29
  50. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdList.js +1 -1
  51. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AdRow.js +1 -1
  52. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/LimitEvent.js +1 -2
  53. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/AddOrEditRule/RuleForm/TargetOS/container.js +2 -2
  54. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/Advanced.js +1 -1
  55. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/EditAds.js +5 -5
  56. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.js +69 -124
  57. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignDetail.test.js +3 -13
  58. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/SubCampaignList.js +45 -20
  59. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/atoms.js +3 -2
  60. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/index.js +3 -2
  61. package/lib/ACM-AXN/Campaign/CreateOrEdit/TabSubCampaign/useSearchPage.js +33 -8
  62. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.d.ts +5 -1
  63. package/lib/ACM-AXN/Campaign/CreateOrEdit/index.js +176 -59
  64. package/lib/ACM-AXN/Campaign/Enum.d.ts +24 -6
  65. package/lib/ACM-AXN/Campaign/Enum.js +30 -11
  66. package/lib/ACM-AXN/Campaign/Types.d.ts +53 -5
  67. package/lib/ACM-AXN/Campaign/Utils.d.ts +6 -1
  68. package/lib/ACM-AXN/Campaign/Utils.js +50 -3
  69. package/lib/ACM-AXN/Campaign/index.js +2 -2
  70. package/lib/ACM-AXN/CampaignPlan/Container.js +4 -6
  71. package/lib/ACM-AXN/CampaignPlan/Detail.js +3 -3
  72. package/lib/ACM-AXN/CampaignPlan/Filter.js +1 -1
  73. package/lib/ACM-AXN/CampaignSchedule/Components/ControlPanel/Filter.js +14 -10
  74. package/lib/ACM-AXN/CampaignSchedule/Components/EnhancedPagination/index.js +3 -2
  75. package/lib/ACM-AXN/CampaignSchedule/Components/RowAdvance/component.js +7 -5
  76. package/lib/ACM-AXN/CampaignSchedule/DataConfig.js +4 -4
  77. package/lib/ACM-AXN/CampaignSchedule/DataConfigAXN.js +5 -4
  78. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.d.ts +1 -2
  79. package/lib/ACM-AXN/CampaignSchedule/Recoil/Atom.js +1 -5
  80. package/lib/ACM-AXN/Common/Constant.d.ts +3 -0
  81. package/lib/ACM-AXN/Common/Constant.js +2 -0
  82. package/lib/ACM-AXN/Common/Enum.d.ts +8 -3
  83. package/lib/ACM-AXN/Common/Enum.js +19 -4
  84. package/lib/ACM-AXN/Common/Types.d.ts +5 -0
  85. package/lib/ACM-AXN/GeoFencing/GoongMap/index.d.ts +8 -9
  86. package/lib/ACM-AXN/GeoFencing/component.js +7 -7
  87. package/lib/ACM-AXN/GeoFencing/interface.d.ts +1 -2
  88. package/lib/ACM-AXN/Holiday/FormHoliday.js +1 -0
  89. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.d.ts +0 -5
  90. package/lib/ACM-AXN/Notifications/NotificationPopover/Container.js +7 -90
  91. package/lib/ACM-AXN/Notifications/NotificationPopover/index.d.ts +0 -5
  92. package/lib/ACM-AXN/Notifications/Types.d.ts +2 -0
  93. package/lib/ACM-AXN/Page/Constant.js +2 -0
  94. package/lib/ACM-AXN/Page/Container.js +3 -3
  95. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.d.ts +6 -0
  96. package/lib/ACM-AXN/Page/CreateOrEdit/ListenTemplate.js +63 -0
  97. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.d.ts +11 -2
  98. package/lib/ACM-AXN/Page/CreateOrEdit/Recoil.js +16 -12
  99. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/TrackingCode.js +1 -1
  100. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/Utils.js +1 -1
  101. package/lib/ACM-AXN/Page/CreateOrEdit/TabInfo/index.js +1 -0
  102. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.d.ts +1 -9
  103. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/Components/Panel.js +0 -9
  104. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewContent.js +11 -44
  105. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.d.ts +2 -3
  106. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/ViewInfo.js +39 -61
  107. package/lib/ACM-AXN/Page/CreateOrEdit/Tabview/index.js +29 -32
  108. package/lib/ACM-AXN/Page/CreateOrEdit/Utils.js +6 -6
  109. package/lib/ACM-AXN/Page/CreateOrEdit/index.js +19 -4
  110. package/lib/ACM-AXN/Page/Types.d.ts +3 -0
  111. package/lib/ACM-AXN/Page/enums.d.ts +5 -0
  112. package/lib/ACM-AXN/Page/enums.js +7 -1
  113. package/lib/ACM-AXN/Permission/Components/Styles.d.ts +1 -2
  114. package/lib/ACM-AXN/PlaceFilter/DataTable/component/index.js +2 -5
  115. package/lib/ACM-AXN/PlaceFilter/Input/component/index.js +1 -2
  116. package/lib/ACM-AXN/PlaceFilter/interface.d.ts +1 -0
  117. package/lib/ACM-AXN/ScheduleCompletionRate/Container.js +16 -16
  118. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.d.ts +14 -9
  119. package/lib/ACM-AXN/ScheduleCompletionRate/DataSetConfig.js +19 -18
  120. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRate.js +16 -6
  121. package/lib/ACM-AXN/ScheduleCompletionRate/Detail/CompletionRateDate.js +17 -10
  122. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.d.ts +2 -1
  123. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.js +30 -51
  124. package/lib/ACM-AXN/ScheduleCompletionRate/Filter.test.js +1 -1
  125. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.d.ts +2 -2
  126. package/lib/ACM-AXN/ScheduleCompletionRate/SearchCampaign.js +3 -9
  127. package/lib/ACM-AXN/ScheduleCompletionRate/Types.d.ts +16 -36
  128. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.d.ts +5 -5
  129. package/lib/ACM-AXN/ScheduleCompletionRate/Utils.js +13 -10
  130. package/lib/ACM-AXN/Statistics/ControlPanel.js +17 -5
  131. package/lib/ACM-AXN/Statistics/Enums.d.ts +2 -1
  132. package/lib/ACM-AXN/Statistics/Enums.js +1 -0
  133. package/lib/ACM-AXN/StatisticsAudienceDemographic/Tabs/AgeRange.js +1 -0
  134. package/lib/ACM-AXN/StatisticsByProvince/DataTable.js +1 -1
  135. package/lib/ACM-AXN/TaskScheduler/CreateOrEdit.js +4 -4
  136. package/lib/ACM-AXN/Template/Container.js +2 -2
  137. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.d.ts +1 -0
  138. package/lib/ACM-AXN/Template/CreateOrEdit/Recoils.js +5 -1
  139. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.d.ts +2 -2
  140. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.js +56 -39
  141. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.d.ts +1 -1
  142. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Parameter.test.js +62 -51
  143. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.d.ts +28 -4
  144. package/lib/ACM-AXN/Template/CreateOrEdit/Template/Utils.js +43 -15
  145. package/lib/ACM-AXN/Template/CreateOrEdit/index.js +8 -4
  146. package/lib/ACM-AXN/Template/Import.js +2 -2
  147. package/lib/ACM-AXN/Template/Types.d.ts +9 -9
  148. package/lib/ACM-AXN/TransactionLog/Detail.js +1 -1
  149. package/lib/ACM-AXN/ViewTemplate/Preview.js +5 -6
  150. package/lib/ACM-AXN/ViewTemplate/TemplateField/Event.js +23 -11
  151. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.d.ts +18 -0
  152. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/Utils.js +170 -0
  153. package/lib/ACM-AXN/ViewTemplate/TemplateField/Fields/BasicField/index.js +42 -129
  154. package/lib/ACM-AXN/ViewTemplate/common.d.ts +2 -1
  155. package/lib/ACM-AXN/ViewTemplate/common.js +47 -7
  156. package/lib/ACM-AXN/ViewTemplate/container.js +8 -2
  157. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.d.ts +3 -1
  158. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.js +18 -28
  159. package/lib/ACM-AXN/Wizard/CreateOrEdit/PageTemplate.test.js +2 -0
  160. package/lib/ACM-AXN/Wizard/CreateOrEdit/RowTemplate.js +1 -1
  161. package/lib/ACM-AXN/Wizard/CreateOrEdit/index.js +17 -1
  162. package/lib/ACM-AXN/index.d.ts +1 -0
  163. package/lib/ACM-AXN/index.js +1 -0
  164. package/lib/AWING/AsyncAutocomplete/index.js +2 -2
  165. package/lib/AWING/BasicDataForm/BasicDataForm.js +9 -6
  166. package/lib/AWING/BasicDataForm/interface.d.ts +3 -0
  167. package/lib/AWING/Chart/BarLineComponent.js +20 -25
  168. package/lib/AWING/Chart/PieComponent.d.ts +3 -4
  169. package/lib/AWING/Chart/PieComponent.js +16 -16
  170. package/lib/AWING/Chart/Styles.js +51 -16
  171. package/lib/AWING/DataForm/DataInput.js +104 -22
  172. package/lib/AWING/DataForm/interface.d.ts +2 -0
  173. package/lib/AWING/DataGrid/index.js +8 -13
  174. package/lib/AWING/DateRangePicker/component.js +58 -30
  175. package/lib/AWING/DateRangePicker/configDate.d.ts +1 -2
  176. package/lib/AWING/DateRangePicker/configDate.js +12 -12
  177. package/lib/AWING/DateRangePicker/interface.d.ts +1 -0
  178. package/lib/AWING/Form/useForm.js +3 -2
  179. package/lib/AWING/GoogleMap/GGMap.d.ts +3 -0
  180. package/lib/AWING/GoogleMap/GGMap.js +256 -0
  181. package/lib/AWING/GoogleMap/index.d.ts +4 -0
  182. package/lib/AWING/GoogleMap/index.js +41 -0
  183. package/lib/AWING/GoogleMap/interface.d.ts +21 -0
  184. package/lib/AWING/GoogleMap/interface.js +2 -0
  185. package/lib/AWING/GoogleMap/utils.d.ts +25 -0
  186. package/lib/AWING/GoogleMap/utils.js +135 -0
  187. package/lib/AWING/GroupTable/GroupTable.js +4 -5
  188. package/lib/AWING/GroupTable/component.d.ts +1 -0
  189. package/lib/AWING/GroupTable/component.js +2 -2
  190. package/lib/AWING/NumberFormat/index.d.ts +3 -1
  191. package/lib/AWING/NumberFormat/index.js +2 -2
  192. package/lib/AWING/PageManagement/PageManagement.js +4 -3
  193. package/lib/AWING/Pagination/index.js +11 -3
  194. package/lib/AWING/index.d.ts +1 -0
  195. package/lib/AWING/index.js +1 -0
  196. package/lib/AWING/ultis/validation.d.ts +1 -0
  197. package/lib/AWING/ultis/validation.js +25 -6
  198. package/lib/Commons/Components/ClassicDrawer.js +5 -4
  199. package/lib/Commons/Components/HighlightedCode/MarkdownElement.js +6 -1
  200. package/lib/Commons/Hooks/usePath.js +3 -3
  201. package/lib/Utils/Helpers.d.ts +3 -2
  202. package/lib/Utils/Helpers.js +51 -14
  203. package/lib/i18n.js +27 -2
  204. package/lib/translate/en/translation.json +132 -71
  205. package/lib/translate/id/translation.json +893 -0
  206. package/lib/translate/ind/translation.json +893 -0
  207. package/lib/translate/ja/translation.json +893 -0
  208. package/lib/translate/mys/translation.json +893 -0
  209. package/lib/translate/phl/translation.json +893 -0
  210. package/lib/translate/th/translation.json +893 -0
  211. package/lib/translate/vi/translation.json +92 -31
  212. package/package.json +9 -4
  213. package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.d.ts +0 -5
  214. package/lib/ACM-AXN/ViewTemplate/TemplateField/Utils.js +0 -14
@@ -93,7 +93,7 @@ function ControlPanel(_a) {
93
93
  var handleElementInput = function (initialFilters) {
94
94
  var updatedElementInputs = [];
95
95
  initialFilters.map(function (item, idx) {
96
- var _a, _b, _c, _d, _e, _f;
96
+ var _a, _b, _c, _d, _e, _f, _g;
97
97
  switch (item === null || item === void 0 ? void 0 : item.type) {
98
98
  case Enums_1.TYPE_FILTERS.VIEW_BY: {
99
99
  var element = __assign({ component: ((0, jsx_runtime_1.jsx)(material_1.TextField, { select: true, fullWidth: true, label: t('Common.ViewBy'), size: "small", onChange: function (e) {
@@ -123,8 +123,20 @@ function ControlPanel(_a) {
123
123
  updatedElementInputs.push(element);
124
124
  break;
125
125
  }
126
+ case Enums_1.TYPE_FILTERS.SEARCH_BY_PLACE: {
127
+ var element = __assign({ component: ((0, jsx_runtime_1.jsx)(material_1.TextField, { select: true, fullWidth: true, label: t('Common.TitleTypeView'), size: "small", onChange: function (e) {
128
+ return handleChangeQueryInput &&
129
+ handleChangeQueryInput(item === null || item === void 0 ? void 0 : item.name, e.target.value);
130
+ }, SelectProps: {
131
+ native: true,
132
+ }, variant: "outlined", style: { minWidth: 150 }, disabled: false, children: (_a = item === null || item === void 0 ? void 0 : item.initialData) === null || _a === void 0 ? void 0 : _a.map(function (data, index) {
133
+ return ((0, jsx_runtime_1.jsx)("option", { value: data.value, children: data.label }, item.value));
134
+ }) }, idx)), isEnhanced: (item === null || item === void 0 ? void 0 : item.isEnhanced) ? item === null || item === void 0 ? void 0 : item.isEnhanced : false, name: 'SearchByPlace' }, item);
135
+ updatedElementInputs.push(element);
136
+ break;
137
+ }
126
138
  case Enums_1.TYPE_FILTERS.DATE_RANGE_PICKER: {
127
- var element = __assign({ component: ((0, jsx_runtime_1.jsx)(AWING_1.DateRangePicker, __assign({ isShowCalendarInfo: (_a = item === null || item === void 0 ? void 0 : item.isShowCalendarInfo) !== null && _a !== void 0 ? _a : true, isFutureDate: (_b = item === null || item === void 0 ? void 0 : item.isFutureDate) !== null && _b !== void 0 ? _b : false, label: "".concat(t('Common.StartDate'), " - ").concat(t('Common.EndDate')), initialStartDate: (_c = item === null || item === void 0 ? void 0 : item.defaultValue) === null || _c === void 0 ? void 0 : _c.startDate, initialEndDate: (_d = item === null || item === void 0 ? void 0 : item.defaultValue) === null || _d === void 0 ? void 0 : _d.endDate, variant: "outlined", textFieldProps: {
139
+ var element = __assign({ component: ((0, jsx_runtime_1.jsx)(AWING_1.DateRangePicker, __assign({ isShowCalendarInfo: (_b = item === null || item === void 0 ? void 0 : item.isShowCalendarInfo) !== null && _b !== void 0 ? _b : true, isFutureDate: (_c = item === null || item === void 0 ? void 0 : item.isFutureDate) !== null && _c !== void 0 ? _c : false, label: "".concat(t('Common.StartDate'), " - ").concat(t('Common.EndDate')), initialStartDate: (_d = item === null || item === void 0 ? void 0 : item.defaultValue) === null || _d === void 0 ? void 0 : _d.startDate, initialEndDate: (_e = item === null || item === void 0 ? void 0 : item.defaultValue) === null || _e === void 0 ? void 0 : _e.endDate, variant: "outlined", textFieldProps: {
128
140
  fullWidth: true,
129
141
  className: classes.outlinedInput,
130
142
  }, callback: handleChangeDateRange }, ((item === null || item === void 0 ? void 0 : item.isDayBlocked) && {
@@ -167,7 +179,7 @@ function ControlPanel(_a) {
167
179
  break;
168
180
  }
169
181
  case Enums_1.TYPE_FILTERS.NETWORK: {
170
- var element = __assign({ component: ((0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { color: "primary", defaultChecked: (_e = queryInput === null || queryInput === void 0 ? void 0 : queryInput.isCampaignNetwork) !== null && _e !== void 0 ? _e : true }), label: t('Statistic.Network.Title'), labelPlacement: "start", onChange: function (e) {
182
+ var element = __assign({ component: ((0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { color: "primary", defaultChecked: (_f = queryInput === null || queryInput === void 0 ? void 0 : queryInput.isCampaignNetwork) !== null && _f !== void 0 ? _f : true }), label: t('Statistic.Network.Title'), labelPlacement: "start", onChange: function (e) {
171
183
  handleChangeQueryInput(item === null || item === void 0 ? void 0 : item.name, e.target.checked);
172
184
  } }, idx)), isEnhanced: (item === null || item === void 0 ? void 0 : item.isEnhanced) ? item === null || item === void 0 ? void 0 : item.isEnhanced : false, name: 'isCampaignNetwork' }, item);
173
185
  updatedElementInputs.push(element);
@@ -181,7 +193,7 @@ function ControlPanel(_a) {
181
193
  break;
182
194
  }
183
195
  case Enums_1.TYPE_FILTERS.INCLUDE_RESERVED: {
184
- var element = __assign({ component: ((0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { color: "primary", defaultChecked: (_f = queryInput === null || queryInput === void 0 ? void 0 : queryInput.includeReserved) !== null && _f !== void 0 ? _f : true }), label: t('StatisticSchedulePlan.IncludeCampaignReserved'), labelPlacement: "start", onChange: function (e) {
196
+ var element = __assign({ component: ((0, jsx_runtime_1.jsx)(material_1.FormControlLabel, { control: (0, jsx_runtime_1.jsx)(material_1.Checkbox, { color: "primary", defaultChecked: (_g = queryInput === null || queryInput === void 0 ? void 0 : queryInput.includeReserved) !== null && _g !== void 0 ? _g : true }), label: t('StatisticSchedulePlan.IncludeCampaignReserved'), labelPlacement: "start", onChange: function (e) {
185
197
  handleChangeQueryInput(item === null || item === void 0 ? void 0 : item.name, e.target.checked);
186
198
  } }, idx)), isEnhanced: (item === null || item === void 0 ? void 0 : item.isEnhanced) ? item === null || item === void 0 ? void 0 : item.isEnhanced : false, name: 'includeReserved' }, item);
187
199
  updatedElementInputs.push(element);
@@ -196,7 +208,7 @@ function ControlPanel(_a) {
196
208
  }, []);
197
209
  (0, react_1.useEffect)(function () {
198
210
  handleElementInput(initialFilters);
199
- }, [initialFilters, queryInput]);
211
+ }, [initialFilters, queryInput, t]);
200
212
  (0, react_1.useEffect)(function () {
201
213
  var tmpQueryInput = queryInput;
202
214
  if (!tmpQueryInput) {
@@ -9,7 +9,8 @@ export declare enum TYPE_FILTERS {
9
9
  NETWORK = "NetWork",
10
10
  CAMPAIGN_DEFAULT = "CampaignDefault",
11
11
  INCLUDE_RESERVED = "IncludeReserved",
12
- DATE_RANGE_PICKER = "DateRangePicker"
12
+ DATE_RANGE_PICKER = "DateRangePicker",
13
+ SEARCH_BY_PLACE = "SearchByPlace"
13
14
  }
14
15
  export declare enum TYPE_CHART {
15
16
  PIE = "Pie",
@@ -14,6 +14,7 @@ var TYPE_FILTERS;
14
14
  TYPE_FILTERS["CAMPAIGN_DEFAULT"] = "CampaignDefault";
15
15
  TYPE_FILTERS["INCLUDE_RESERVED"] = "IncludeReserved";
16
16
  TYPE_FILTERS["DATE_RANGE_PICKER"] = "DateRangePicker";
17
+ TYPE_FILTERS["SEARCH_BY_PLACE"] = "SearchByPlace";
17
18
  })(TYPE_FILTERS || (exports.TYPE_FILTERS = TYPE_FILTERS = {}));
18
19
  var TYPE_CHART;
19
20
  (function (TYPE_CHART) {
@@ -62,6 +62,7 @@ var AgeRangeTabs = function (_a) {
62
62
  fill: true,
63
63
  borderWidth: 2,
64
64
  yAxisID: 'y',
65
+ variant: '3',
65
66
  },
66
67
  ];
67
68
  };
@@ -105,7 +105,7 @@ var DataTable = function (props) {
105
105
  : row[headCellItem
106
106
  .id] }));
107
107
  }) }));
108
- })) })) : ((0, jsx_runtime_1.jsx)(NoDataTable_1.default, { colSpan: (headCells === null || headCells === void 0 ? void 0 : headCells.length) + 1 }))] }), rowsData && (rowsData === null || rowsData === void 0 ? void 0 : rowsData.length) > 0 && isPagination && ((0, jsx_runtime_1.jsx)(material_1.TablePagination, { rowsPerPageOptions: [
108
+ })) })) : ((0, jsx_runtime_1.jsx)(NoDataTable_1.default, { colSpan: (headCells === null || headCells === void 0 ? void 0 : headCells.length) + 1 }))] }), rowsData && (rowsData === null || rowsData === void 0 ? void 0 : rowsData.length) > 0 && isPagination && ((0, jsx_runtime_1.jsx)(AWING_1.Pagination, { rowsPerPageOptions: [
109
109
  AWING_1.PAGE_SIZE_DEFAULT,
110
110
  AWING_1.PAGE_SIZE_DEFAULT + 10,
111
111
  AWING_1.PAGE_SIZE_DEFAULT + 20,
@@ -41,7 +41,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
41
41
  var jsx_runtime_1 = require("react/jsx-runtime");
42
42
  var icons_material_1 = require("@mui/icons-material");
43
43
  var material_1 = require("@mui/material");
44
- var immer_1 = __importDefault(require("immer"));
44
+ var immer_1 = require("immer");
45
45
  var react_1 = __importDefault(require("react"));
46
46
  var react_i18next_1 = require("react-i18next");
47
47
  var react_router_dom_1 = require("react-router-dom");
@@ -119,13 +119,13 @@ var CreateOrEdit = function () {
119
119
  var handleInputParamChange = function (path, value) {
120
120
  setConfirmExit(true);
121
121
  var keys = path.split('.');
122
- setJobModel((0, immer_1.default)(function (draft) {
122
+ setJobModel((0, immer_1.produce)(function (draft) {
123
123
  (0, Helpers_1.setObject)(draft, keys, value);
124
124
  // draft.inputParameters[index] = item
125
125
  }));
126
126
  };
127
127
  var handleJobActionChange = function (jobAction) {
128
- setJobModel((0, immer_1.default)(function (draf) {
128
+ setJobModel((0, immer_1.produce)(function (draf) {
129
129
  draf.inputParameters = jobAction.parameters.map(function (x) { return ({
130
130
  key: x.name,
131
131
  operator: x.operators[0],
@@ -145,7 +145,7 @@ var CreateOrEdit = function () {
145
145
  ? { cronTime: '* * * * *' }
146
146
  : { triggerTopic: '', triggerEvent: '' }))); });
147
147
  };
148
- return ((0, jsx_runtime_1.jsx)(ClassicDrawer_1.default, { title: t("Common.".concat(taskId ? 'Edit' : 'Create')), onSubmit: handleSubmit, disableButtonSubmit: !enableSubmit, confirmExit: confirmExit, childrenWrapperStyle: { padding: function (theme) { return theme.spacing(3); } }, children: loading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, component: material_1.Paper, sx: { p: 2 }, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(BasicInput_1.default, { name: "name", label: t('Common.Name'), fullWidth: true, variant: "standard", checkValid: validation_1.textValidation, value: jobModel.name, onChange: handleChange }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, style: { marginTop: '20px', marginBottom: '20px' }, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, style: { paddingRight: '10px' }, children: (0, jsx_runtime_1.jsx)(BasicInput_1.default, { fullWidth: true, select: true, required: false, name: "jobType", variant: "standard", label: t('TaskScheduler.JobType'), onChange: handleChangeJobType, value: jobModel.jobType, children: Utils_1.JobTypes.map(function (item) { return ((0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: item.name, children: item.name }, item.name)); }) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 8, children: (0, jsx_runtime_1.jsx)(material_1.Box, { component: JobInput[jobModel.jobType], jobModel: jobModel, handleChange: handleChange }) })] }) }), (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: 4, style: { paddingRight: '10px' }, children: (0, jsx_runtime_1.jsx)(BasicInput_1.default, { fullWidth: true, select: true, name: "jobAction", label: t('TaskScheduler.JobAction'),
148
+ return ((0, jsx_runtime_1.jsx)(ClassicDrawer_1.default, { title: t("Common.".concat(taskId ? 'Edit' : 'Create')), onSubmit: handleSubmit, disableButtonSubmit: !enableSubmit, confirmExit: confirmExit, childrenWrapperStyle: { padding: function (theme) { return theme.spacing(3); } }, children: loading ? ((0, jsx_runtime_1.jsx)(AWING_1.CircularProgress, {})) : ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, component: material_1.Paper, sx: { p: 2 }, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (0, jsx_runtime_1.jsx)(BasicInput_1.default, { name: "name", label: t('Common.Name'), fullWidth: true, variant: "standard", checkValid: validation_1.textValidation, value: jobModel.name, onChange: handleChange }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 12, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, style: { marginTop: '20px', marginBottom: '20px' }, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 4, style: { paddingRight: '10px' }, children: (0, jsx_runtime_1.jsx)(BasicInput_1.default, { fullWidth: true, select: true, required: false, name: "jobType", variant: "standard", label: t('TaskScheduler.JobType'), onChange: handleChangeJobType, value: jobModel.jobType, children: Utils_1.JobTypes.map(function (item) { return ((0, jsx_runtime_1.jsx)(material_1.MenuItem, { value: item.name, children: t("TaskScheduler.Type.".concat(item.name)) }, item.name)); }) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 8, children: (0, jsx_runtime_1.jsx)(material_1.Box, { component: JobInput[jobModel.jobType], jobModel: jobModel, handleChange: handleChange }) })] }) }), (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: 4, style: { paddingRight: '10px' }, children: (0, jsx_runtime_1.jsx)(BasicInput_1.default, { fullWidth: true, select: true, name: "jobAction", label: t('TaskScheduler.JobAction'),
149
149
  // isError={Boolean(jobValid?.jobActionValid)}
150
150
  onChange: function (_k, name) {
151
151
  handleJobActionChange(jobActions.filter(function (x) { return x.name === name; })[0]);
@@ -56,9 +56,9 @@ var TemplateContainer = function () {
56
56
  },
57
57
  {
58
58
  field: 'PageCode',
59
- headerName: 'PageCode',
59
+ headerName: t('Common.TypePage'),
60
60
  valueGetter: function (row) {
61
- return t("TemplateManagement.Page_".concat(row.pageCode));
61
+ return t("TemplateManagement.Page_".concat(['wlc', 'lgn'].includes(row.pageCode) ? row.pageCode : row.pageCode === '0' ? 'wlc' : 'lgn'));
62
62
  },
63
63
  },
64
64
  ], loading: loading, rows: (templates === null || templates === void 0 ? void 0 : templates.templates) || [], onCreateButtonClick: handleNavigate, customActions: (0, jsx_runtime_1.jsx)(material_1.Button, { component: Router_1.Link, to: Constant_1.Constants.IMPORT_PATH, variant: "outlined", size: "medium", sx: { marginLeft: '16px', fontWeight: 'bold' }, children: t('Common.Import') }), rowActions: [
@@ -4,3 +4,4 @@ export declare const templateInfoState: import("recoil").RecoilState<ITemplate>;
4
4
  export declare const templateEventState: import("recoil").RecoilState<ITemplateEvent[]>;
5
5
  export declare const templateParametersState: import("recoil").RecoilState<ITemplateParameter[]>;
6
6
  export declare const isEditState: import("recoil").RecoilState<boolean>;
7
+ export declare const isErrorParameterState: import("recoil").RecoilState<boolean>;
@@ -11,7 +11,7 @@ var __assign = (this && this.__assign) || function () {
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.isEditState = exports.templateParametersState = exports.templateEventState = exports.templateInfoState = exports.templateState = void 0;
14
+ exports.isErrorParameterState = exports.isEditState = exports.templateParametersState = exports.templateEventState = exports.templateInfoState = exports.templateState = void 0;
15
15
  var recoil_1 = require("recoil");
16
16
  var defaultValidation = "<!-- return function(fields) {\n // Parameter fields: [{fieldName, fieldValue}]\n // VALID_CODE: 200, NOT_VALID_CODE: 100\n // Return array include field name, error message and check code of them\n // Eg: Check field \"text\" must have equal or more than 10 character\n return new Promise((resolve, reject) => {\n const needCheckField = fields.find(field => field.fieldName === \"text\")\n const isOk = needCheckField.fieldValue.length >= 10\n resolve([\n {\n fieldName: needCheckField.fieldName,\n code: isOk ? 200 : 100,\n errorMessage: \"Text has less than 10 character\"\n }\n ])\n })\n} -->";
17
17
  var defaultHandleEvent = "<!-- return function(fields, fieldChange) {\n // Parameter fields: [{fieldName, fieldValue}], fieldChange: field which change\n // Return array of field need update with new value\n // In case no update, return empty array\n // Eg: Auto update value of \"textUpperCase\" field when value of \"text\" field changed\n return new Promise((resolve, reject) => {\n if(fieldChange.fieldName === \"text\") {\n resolve([\n {\n fieldName: \"textUpperCase\",\n newValue: fieldChange.fieldValue.toUpperCase()\n }\n ])\n }else resolve([])\n })\n} -->";
@@ -77,3 +77,7 @@ exports.isEditState = (0, recoil_1.atom)({
77
77
  key: "isEditState",
78
78
  default: false,
79
79
  });
80
+ exports.isErrorParameterState = (0, recoil_1.atom)({
81
+ key: "isErrorParameterState",
82
+ default: false,
83
+ });
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  interface ParameterProps {
3
3
  templateId: string;
4
4
  }
@@ -17,5 +17,5 @@ export declare const OmitListType: {
17
17
  COLOR: string;
18
18
  URL: string;
19
19
  };
20
- declare const _default: import("react").NamedExoticComponent<ParameterProps>;
20
+ declare const _default: React.NamedExoticComponent<ParameterProps>;
21
21
  export default _default;
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
13
36
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
37
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
38
  if (ar || !(i in from)) {
@@ -28,10 +51,10 @@ var jsx_runtime_1 = require("react/jsx-runtime");
28
51
  var icons_material_1 = require("@mui/icons-material");
29
52
  var Add_1 = __importDefault(require("@mui/icons-material/Add"));
30
53
  var material_1 = require("@mui/material");
31
- var immer_1 = __importDefault(require("immer"));
32
54
  var Enum_1 = require("../../../../ACM-AXN/ViewTemplate/Enum");
33
55
  var AWING_1 = require("../../../../AWING");
34
- var react_1 = require("react");
56
+ var immer_1 = require("immer");
57
+ var react_1 = __importStar(require("react"));
35
58
  var react_i18next_1 = require("react-i18next");
36
59
  var recoil_1 = require("recoil");
37
60
  var Recoils_1 = require("../Recoils");
@@ -41,6 +64,7 @@ delete exports.OmitListType.LIST;
41
64
  var Parameter = function (_a) {
42
65
  var templateId = _a.templateId;
43
66
  var _b = (0, recoil_1.useRecoilState)(Recoils_1.templateParametersState), rows = _b[0], handleSetParameter = _b[1];
67
+ var setErrors = (0, recoil_1.useSetRecoilState)(Recoils_1.isErrorParameterState);
44
68
  var t = (0, react_i18next_1.useTranslation)().t;
45
69
  var defaultParam = {
46
70
  id: String(Date.now()),
@@ -50,50 +74,48 @@ var Parameter = function (_a) {
50
74
  defaultValue: undefined,
51
75
  labelName: undefined,
52
76
  isRequired: false,
77
+ isAdvanced: false,
53
78
  childrens: [],
54
79
  };
80
+ var tableRow = react_1.default.useMemo(function () { return (0, Utils_1.flattenParameter)(rows); }, [rows]);
81
+ react_1.default.useEffect(function () {
82
+ setErrors(tableRow.some(function (item) { return item.errField; }));
83
+ // eslint-disable-next-line react-hooks/exhaustive-deps
84
+ }, [tableRow]);
55
85
  var handleAddParameter = function () {
56
86
  handleSetParameter(function (prev) { return __spreadArray(__spreadArray([], prev, true), [defaultParam], false); });
57
87
  };
58
88
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
59
89
  var handleChange = function (event) {
60
- var _a = event.target, name = _a.name, value = _a.value, checked = _a.checked;
61
- var _b = name.split('-').filter(Boolean), field = _b[0], ids = _b.slice(1);
62
- handleSetParameter((0, immer_1.default)(function (rows) {
63
- (0, Utils_1.enhancedUpdate)(rows, ids, field, [Utils_1.CUSTOM_FIELD_NAME.IS_REQUIRED, Utils_1.CUSTOM_FIELD_NAME.IS_ADVANCED].includes(field) ? checked : value, defaultParam);
90
+ var _a, _b;
91
+ var _c = event.target, name = _c.name, value = _c.value, checked = _c.checked;
92
+ var _d = name.split('-').filter(Boolean), field = _d[0], ids = _d.slice(1);
93
+ var handleValue = [
94
+ Utils_1.FIELDS.IS_REQUIRED,
95
+ Utils_1.FIELDS.IS_ADVANCED,
96
+ ].includes(field)
97
+ ? checked
98
+ : field === Utils_1.FIELDS.FIELD_NAME ? ((_b = (_a = value === null || value === void 0 ? void 0 : value.split('.')) === null || _a === void 0 ? void 0 : _a.at(ids.length - 1)) !== null && _b !== void 0 ? _b : '').trim() : value;
99
+ handleSetParameter((0, immer_1.produce)(function (rows) {
100
+ (0, Utils_1.enhancedUpdate)(rows, ids, field, handleValue, defaultParam);
64
101
  }));
65
102
  };
66
103
  var handleRemoveRow = function (id) {
67
104
  handleChange({
68
105
  target: {
69
- name: [Utils_1.CUSTOM_FIELD_NAME.REMOVE, id].join('-'),
106
+ name: [Utils_1.FIELDS.REMOVE, id].join('-'),
70
107
  value: defaultParam,
71
108
  },
72
109
  });
73
110
  };
74
- // eslint-disable-next-line react-hooks/exhaustive-deps
75
- // const handleChangeParameter = useCallback(
76
- // debounce(handleChange, DEBOUNCE_TIME),
77
- // []
78
- // )
79
111
  var handleAddChildren = function (id) {
80
112
  handleChange({
81
113
  target: {
82
- name: [Utils_1.CUSTOM_FIELD_NAME.CHILDRENS, id].join('-'),
114
+ name: [Utils_1.FIELDS.CHILDRENS, id].join('-'),
83
115
  value: defaultParam,
84
116
  },
85
117
  });
86
118
  };
87
- var tableRow = (0, Utils_1.flattenParameter)(rows).map(function (row) {
88
- Object.keys(row).forEach(function (key) {
89
- if (Array.isArray(row[key])) {
90
- row[key] = row[key].filter(function (item) { return item !== ''; });
91
- console.log(key, row[key]);
92
- }
93
- });
94
- return row;
95
- });
96
- console.log("tableRow", tableRow);
97
119
  return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(material_1.Box, { mt: 3, children: (0, jsx_runtime_1.jsx)(material_1.Grid, { container: true, justifyContent: "space-between", alignItems: "center", children: (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, xs: 6, children: (0, jsx_runtime_1.jsx)(material_1.Typography, { variant: "subtitle1", sx: {
98
120
  fontWeight: 'bold',
99
121
  color: '#000000',
@@ -104,7 +126,7 @@ var Parameter = function (_a) {
104
126
  }, component: 'form', onChange: handleChange, children: (0, jsx_runtime_1.jsx)(AWING_1.DataGrid, { getRowId: function (obj) { return [obj.parentId, obj.id].flat().join('-'); }, columns: [
105
127
  {
106
128
  // width: '150px',
107
- field: 'fieldType',
129
+ field: Utils_1.FIELDS.FIELD_TYPE,
108
130
  headerName: t('TemplateManagement.fieldType'),
109
131
  dynamicTableCellProps: function (row) {
110
132
  return {
@@ -143,7 +165,7 @@ var Parameter = function (_a) {
143
165
  },
144
166
  },
145
167
  {
146
- field: 'fieldName',
168
+ field: Utils_1.FIELDS.FIELD_NAME,
147
169
  headerName: t('TemplateManagement.FieldName'),
148
170
  TableCellProps: {
149
171
  sx: {
@@ -155,22 +177,17 @@ var Parameter = function (_a) {
155
177
  // inputProps={{}}
156
178
  , {
157
179
  // inputProps={{}}
158
- error: row.errField, InputProps: {
159
- startAdornment: ((0, jsx_runtime_1.jsx)(material_1.Box, { component: 'span', sx: {
160
- padding: '4px 0 5px',
161
- }, children: row.parentFieldName.length ? (row.parentFieldName.push(''), row.parentFieldName).join('.')
162
- : null })),
163
- }, required: true, fullWidth: true, name: [
180
+ error: row.errField, required: true, fullWidth: true, name: [
164
181
  'fieldName',
165
182
  row.parentId,
166
183
  row.id,
167
184
  ]
168
185
  .flat()
169
- .join('-'), variant: "standard", defaultValue: row.fieldName }, idx));
186
+ .join('-'), variant: "standard", value: (0, Utils_1.getFieldName)(row) }, idx));
170
187
  },
171
188
  },
172
189
  {
173
- field: 'labelName',
190
+ field: Utils_1.FIELDS.LABEL_NAME,
174
191
  headerName: t('Common.Label'),
175
192
  TableCellProps: {
176
193
  sx: {
@@ -179,7 +196,7 @@ var Parameter = function (_a) {
179
196
  },
180
197
  valueGetter: function (row, idx) {
181
198
  return ((0, jsx_runtime_1.jsx)(material_1.TextField, { fullWidth: true, name: [
182
- 'labelName',
199
+ Utils_1.FIELDS.LABEL_NAME,
183
200
  row.parentId,
184
201
  row.id,
185
202
  ]
@@ -188,7 +205,7 @@ var Parameter = function (_a) {
188
205
  },
189
206
  },
190
207
  {
191
- field: 'defaultValue',
208
+ field: Utils_1.FIELDS.DEFAULT_VALUE,
192
209
  headerName: t('Common.DefaultValue'),
193
210
  TableCellProps: {
194
211
  sx: {
@@ -209,7 +226,7 @@ var Parameter = function (_a) {
209
226
  },
210
227
  },
211
228
  {
212
- field: 'isRequired',
229
+ field: Utils_1.FIELDS.IS_REQUIRED,
213
230
  width: '85px',
214
231
  headerName: t('Common.Require'),
215
232
  TableCellProps: {
@@ -233,7 +250,7 @@ var Parameter = function (_a) {
233
250
  },
234
251
  valueGetter: function (row, idx) {
235
252
  return ((0, jsx_runtime_1.jsx)(material_1.Checkbox, { name: [
236
- 'isRequired',
253
+ Utils_1.FIELDS.IS_REQUIRED,
237
254
  row.parentId,
238
255
  row.id,
239
256
  ]
@@ -242,7 +259,7 @@ var Parameter = function (_a) {
242
259
  },
243
260
  },
244
261
  {
245
- field: 'isAdvanced',
262
+ field: Utils_1.FIELDS.IS_ADVANCED,
246
263
  width: '85px',
247
264
  headerName: t('Common.Advance'),
248
265
  TableCellProps: {
@@ -286,6 +303,6 @@ var Parameter = function (_a) {
286
303
  return !(Enum_1.TYPE_FIELD_TEMPLATE.OBJECT === row.fieldType);
287
304
  },
288
305
  },
289
- ] }) }), (0, jsx_runtime_1.jsx)(material_1.Box, { mt: 3, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, justifyContent: "space-between", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, children: (0, jsx_runtime_1.jsx)(material_1.Button, { "aria-label": "button-add", variant: "contained", onClick: handleAddParameter, disabled: false, title: t('Common.Add'), children: (0, jsx_runtime_1.jsx)(Add_1.default, {}) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, justifyContent: "flex-end", children: (0, jsx_runtime_1.jsx)(material_1.Typography, { sx: { padding: '8px' }, children: t('TemplateManagement.NamingFieldNotice') }) })] }) })] }));
306
+ ] }) }), (0, jsx_runtime_1.jsx)(material_1.Box, { mt: 3, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, justifyContent: "space-between", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, children: (0, jsx_runtime_1.jsx)(material_1.Button, { name: "master-add-parameter", "aria-label": "button-add", variant: "contained", onClick: handleAddParameter, disabled: false, title: t('Common.Add'), children: (0, jsx_runtime_1.jsx)(Add_1.default, {}) }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { xs: 6, container: true, item: true, justifyContent: "flex-end", children: (0, jsx_runtime_1.jsx)(material_1.Typography, { sx: { padding: '8px' }, children: t('TemplateManagement.NamingFieldNotice') }) })] }) })] }));
290
307
  };
291
308
  exports.default = (0, react_1.memo)(Parameter);
@@ -1 +1 @@
1
- import '@testing-library/jest-dom/extend-expect';
1
+ export {};
@@ -77,7 +77,6 @@ var jsx_runtime_1 = require("react/jsx-runtime");
77
77
  /* eslint-disable testing-library/no-node-access */
78
78
  /* eslint-disable testing-library/no-container */
79
79
  /* eslint-disable testing-library/no-wait-for-side-effects */
80
- require("@testing-library/jest-dom/extend-expect");
81
80
  var react_1 = require("@testing-library/react");
82
81
  var Parameter_1 = __importDefault(require("./Parameter"));
83
82
  var Utils = __importStar(require("./Utils"));
@@ -111,27 +110,6 @@ var rows = [
111
110
  isRequired: true,
112
111
  childrens: [],
113
112
  },
114
- {
115
- id: '14896',
116
- templateId: '4671435926616395650',
117
- fieldName: 'video_inbanner_2',
118
- fieldType: 'object',
119
- defaultValue: null,
120
- labelName: 'File banner nền video',
121
- isRequired: true,
122
- childrens: [
123
- {
124
- id: '148967',
125
- templateId: '4671435926616395650',
126
- fieldName: 'video_inbanner_2',
127
- fieldType: 'image',
128
- defaultValue: null,
129
- labelName: 'File banner nền video',
130
- isRequired: true,
131
- childrens: [],
132
- },
133
- ],
134
- },
135
113
  {
136
114
  id: '148961',
137
115
  templateId: '4671435926616395650',
@@ -154,13 +132,11 @@ var rows = [
154
132
  ],
155
133
  },
156
134
  ];
157
- var props = {
158
- handleSetParameter: function (fn) {
159
- return fn(rows);
160
- },
161
- };
162
135
  describe('Template Infomation Tab Component', function () {
163
- beforeAll(function () { });
136
+ beforeAll(function () {
137
+ ;
138
+ Utils.enhancedUpdate.mockImplementation(utils.enhancedUpdate);
139
+ });
164
140
  var renderUi = function () {
165
141
  return (0, react_1.render)((0, jsx_runtime_1.jsx)(recoil_1.RecoilRoot, { initializeState: function (_a) {
166
142
  var set = _a.set;
@@ -170,33 +146,62 @@ describe('Template Infomation Tab Component', function () {
170
146
  it('renders without crashing', function () {
171
147
  renderUi();
172
148
  });
173
- it('trigger add rows', function () {
174
- var updateSpy = jest.spyOn(props, 'handleSetParameter');
175
- renderUi();
176
- var addBtn = react_1.screen.getByRole('button', { name: /button-add/i });
177
- react_1.fireEvent.click(addBtn);
178
- expect(updateSpy).toBeCalled();
179
- // expect(addBtn).toBeInTheDocument()
180
- });
149
+ it('trigger add rows', function () { return __awaiter(void 0, void 0, void 0, function () {
150
+ var addBtn;
151
+ return __generator(this, function (_a) {
152
+ switch (_a.label) {
153
+ case 0:
154
+ renderUi();
155
+ addBtn = react_1.screen.getByRole('button', { name: /button-add/i });
156
+ react_1.fireEvent.click(addBtn);
157
+ return [4 /*yield*/, (0, react_1.waitFor)(function () {
158
+ expect(react_1.screen.getAllByText('image')[0]).toBeInTheDocument();
159
+ })];
160
+ case 1:
161
+ _a.sent();
162
+ return [2 /*return*/];
163
+ }
164
+ });
165
+ }); });
166
+ it('trigger add Object Children', function () { return __awaiter(void 0, void 0, void 0, function () {
167
+ var addBtn;
168
+ return __generator(this, function (_a) {
169
+ switch (_a.label) {
170
+ case 0:
171
+ renderUi();
172
+ addBtn = react_1.screen.getAllByTitle('Common.Add');
173
+ addBtn.forEach(function (btn) {
174
+ react_1.fireEvent.click(btn);
175
+ });
176
+ return [4 /*yield*/, (0, react_1.waitFor)(function () {
177
+ expect(react_1.screen.getAllByText('image')[0]).toBeInTheDocument();
178
+ })];
179
+ case 1:
180
+ _a.sent();
181
+ return [2 /*return*/];
182
+ }
183
+ });
184
+ }); });
181
185
  it('trigger edit cell', function () { return __awaiter(void 0, void 0, void 0, function () {
182
- var updateSpy, container, labelNameInput, fieldTypeInput;
186
+ var container, labelNameInput, fieldTypeInput;
183
187
  return __generator(this, function (_a) {
184
188
  switch (_a.label) {
185
189
  case 0:
186
- updateSpy = jest.spyOn(props, 'handleSetParameter');
187
190
  container = renderUi().container;
188
- labelNameInput = container.querySelector("input[name=\"labelName--148961-148967s\"]");
189
- fieldTypeInput = container.querySelector("input[name=\"fieldType--148961-148967s\"]");
191
+ labelNameInput = container.querySelector("input[name=\"labelName-148961-148967s\"]");
192
+ fieldTypeInput = container.querySelector("input[name=\"fieldType-148961-148967s\"]");
190
193
  react_1.fireEvent.change(labelNameInput, {
191
194
  target: { value: 'fieldInput-change' },
192
195
  });
193
196
  react_1.fireEvent.change(fieldTypeInput, {
194
197
  target: { value: 'video' },
195
198
  });
199
+ // expect(screen.getAllByText('color')[0]).toBeInTheDocument()
196
200
  return [4 /*yield*/, (0, react_1.waitFor)(function () {
197
- expect(updateSpy).toBeCalledTimes(1);
201
+ expect(Utils.enhancedUpdate).toBeCalledTimes(3);
198
202
  })];
199
203
  case 1:
204
+ // expect(screen.getAllByText('color')[0]).toBeInTheDocument()
200
205
  _a.sent();
201
206
  return [2 /*return*/];
202
207
  }
@@ -205,16 +210,22 @@ describe('Template Infomation Tab Component', function () {
205
210
  it('Remove row', function () { return __awaiter(void 0, void 0, void 0, function () {
206
211
  var removeBtn;
207
212
  return __generator(this, function (_a) {
208
- ;
209
- Utils.enhancedUpdate.mockImplementation(utils.enhancedUpdate);
210
- renderUi();
211
- removeBtn = react_1.screen.getAllByRole('button', {
212
- name: /Common.Delete/i,
213
- });
214
- removeBtn.forEach(function (btn) {
215
- react_1.fireEvent.click(btn);
216
- });
217
- return [2 /*return*/];
213
+ switch (_a.label) {
214
+ case 0:
215
+ renderUi();
216
+ removeBtn = react_1.screen.getAllByRole('button', {
217
+ name: /Common.Delete/i,
218
+ });
219
+ removeBtn.forEach(function (btn) {
220
+ react_1.fireEvent.click(btn);
221
+ });
222
+ return [4 /*yield*/, (0, react_1.waitFor)(function () {
223
+ expect(Utils.enhancedUpdate).toBeCalledTimes(2);
224
+ })];
225
+ case 1:
226
+ _a.sent();
227
+ return [2 /*return*/];
228
+ }
218
229
  });
219
230
  }); });
220
231
  });
@@ -1,15 +1,36 @@
1
+ /// <reference types="lodash" />
1
2
  import { ITemplateParameter } from '../../Types';
2
3
  import { DataObject } from '../../../../AWING';
3
- export declare const CUSTOM_FIELD_NAME: {
4
+ export interface IFlatParameter {
5
+ parentFieldType: string | undefined;
6
+ parentId: string[];
7
+ parentFieldName: string[];
8
+ errField: boolean;
9
+ shouldRemove: boolean;
10
+ id: string;
11
+ templateId: string;
12
+ fieldName: string;
13
+ fieldType: string;
14
+ defaultValue: string | number | boolean | null;
15
+ labelName: string;
16
+ isRequired: boolean;
17
+ childrens: IFlatParameter[];
18
+ isAdvanced: boolean;
19
+ }
20
+ export declare const FIELDS: {
4
21
  CHILDRENS: string;
5
22
  REMOVE: string;
6
23
  FIELD_TYPE: string;
24
+ FIELD_NAME: string;
7
25
  IS_REQUIRED: string;
8
26
  IS_ADVANCED: string;
27
+ LABEL_NAME: string;
28
+ DEFAULT_VALUE: string;
29
+ PARENT_ID: string;
9
30
  };
10
31
  export declare const removeFiledName: (templateParameters: ITemplateParameter[]) => ITemplateParameter[];
11
- export declare const flattenParameter4Parent: (rows: DataObject[], parentFieldName?: string[]) => DataObject[];
12
- export declare const flattenParameter: (parameters: DataObject[], parentId?: string[], parentFieldType?: string, parentFieldName?: string[]) => DataObject[];
32
+ export declare const flattenParameter4Parent: ((rows: DataObject[], parentFieldName?: string[]) => DataObject[]) & import("lodash").MemoizedFunction;
33
+ export declare const flattenParameter: ((parameters: DataObject[], parentId?: string[], parentFieldType?: string, parentFieldName?: string[]) => IFlatParameter[]) & import("lodash").MemoizedFunction;
13
34
  export declare const enhancedFindIndex: (rows: DataObject[], ids: string[]) => number[];
14
35
  /**
15
36
  * function enhancedUpdate
@@ -22,4 +43,7 @@ export declare const enhancedFindIndex: (rows: DataObject[], ids: string[]) => n
22
43
  * @param defaultParam
23
44
  */
24
45
  export declare const enhancedUpdate: (rows: DataObject[], ids: string[], field: string, value: any, defaultParam: ITemplateParameter) => void;
25
- export declare const enhancedRemove: (ids: string[]) => void;
46
+ /**
47
+ * viết type là DataObject thôi nhưng type của nó là:
48
+ */
49
+ export declare const getFieldName: ((row: IFlatParameter) => string) & import("lodash").MemoizedFunction;