@adlfe/campaign-management-library 2.9.21 → 2.10.0

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 (235) hide show
  1. package/{campaign-management-library.metadata.json → adlfe-campaign-management-library.metadata.json} +1 -1
  2. package/bundles/{campaign-management-library.umd.js → adlfe-campaign-management-library.umd.js} +47 -56
  3. package/bundles/adlfe-campaign-management-library.umd.js.map +1 -0
  4. package/bundles/adlfe-campaign-management-library.umd.min.js +16 -0
  5. package/bundles/adlfe-campaign-management-library.umd.min.js.map +1 -0
  6. package/esm2015/adlfe-campaign-management-library.js +29 -0
  7. package/esm2015/environments/environment.js +3 -1
  8. package/esm2015/lib/adl-campaign-management-library-internal.component.js +1 -1
  9. package/esm2015/lib/adl-campaign-management-library-internal.module.js +1 -1
  10. package/esm2015/lib/campaign-management/campaign-management.component.js +1 -1
  11. package/esm2015/lib/campaign-management/campaign-management.module.js +1 -1
  12. package/esm2015/lib/campaign-management/models/campaign-count-final-response-dto.model.js +1 -1
  13. package/esm2015/lib/campaign-management/models/contact-category-dto.model.js +1 -1
  14. package/esm2015/lib/campaign-management/models/failover-req.model.js +1 -1
  15. package/esm2015/lib/campaign-management/models/general-information-wa-req.model.js +1 -3
  16. package/esm2015/lib/campaign-management/models/index.js +1 -1
  17. package/esm2015/lib/campaign-management/models/scheduler-req.model.js +1 -1
  18. package/esm2015/lib/campaign-management/models/template-wa.model.js +1 -1
  19. package/esm2015/lib/campaign-management/models/whatsapp-account.js +1 -1
  20. package/esm2015/lib/campaign-management/modules/campaign-index/campaign-index.component.js +1 -1
  21. package/esm2015/lib/campaign-management/modules/campaign-index/campaign-index.module.js +1 -1
  22. package/esm2015/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +2 -2
  23. package/esm2015/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/index.js +1 -1
  24. package/esm2015/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/index.js +1 -1
  25. package/esm2015/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.js +1 -1
  26. package/esm2015/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/index.js +1 -1
  27. package/esm2015/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +1 -1
  28. package/esm2015/lib/campaign-management/modules/campaign-index/models/campaign-response-dto.model.js +1 -1
  29. package/esm2015/lib/campaign-management/modules/campaign-index/models/campaign-table-config.const.js +1 -1
  30. package/esm2015/lib/campaign-management/modules/campaign-index/models/campaigns-list.model.js +1 -1
  31. package/esm2015/lib/campaign-management/modules/campaign-index/models/client-dto.model.js +1 -1
  32. package/esm2015/lib/campaign-management/modules/campaign-index/models/conversation-chart-response-dto.model.js +1 -1
  33. package/esm2015/lib/campaign-management/modules/campaign-index/models/index.js +1 -1
  34. package/esm2015/lib/campaign-management/modules/campaign-index/models/performance-chart-response-dto.model.js +1 -1
  35. package/esm2015/lib/campaign-management/modules/campaign-index/models/performance-chart-sereies-response-dto.model.js +1 -1
  36. package/esm2015/lib/campaign-management/modules/campaign-index/models/table.model.js +1 -1
  37. package/esm2015/lib/campaign-management/modules/dashboard/dashboard.component.js +1 -1
  38. package/esm2015/lib/campaign-management/modules/dashboard/dashboard.module.js +1 -1
  39. package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.js +1 -1
  40. package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-email/index.js +1 -1
  41. package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.js +1 -1
  42. package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-line/index.js +1 -1
  43. package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.js +1 -1
  44. package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-sms/index.js +1 -1
  45. package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +3 -15
  46. package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-wa/index.js +1 -1
  47. package/esm2015/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.js +1 -1
  48. package/esm2015/lib/campaign-management/modules/new-campaign/failover-mechanism/index.js +1 -1
  49. package/esm2015/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +2 -2
  50. package/esm2015/lib/campaign-management/modules/new-campaign/general-information/index.js +1 -1
  51. package/esm2015/lib/campaign-management/modules/new-campaign/index.js +1 -1
  52. package/esm2015/lib/campaign-management/modules/new-campaign/new-campaign.component.js +1 -4
  53. package/esm2015/lib/campaign-management/modules/new-campaign/new-number-bases/index.js +1 -1
  54. package/esm2015/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.js +29 -24
  55. package/esm2015/lib/campaign-management/modules/new-campaign/scheduler/index.js +1 -1
  56. package/esm2015/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.js +1 -1
  57. package/esm2015/lib/campaign-management/modules/new-campaign/summary/index.js +1 -1
  58. package/esm2015/lib/campaign-management/modules/new-campaign/summary/summary.component.js +1 -1
  59. package/esm2015/lib/campaign-management/modules/wizard/index.js +1 -1
  60. package/esm2015/lib/campaign-management/modules/wizard/wizard.component.js +1 -1
  61. package/esm2015/lib/campaign-management/util/enums.js +1 -1
  62. package/esm2015/lib/core/const/constants.const.js +1 -1
  63. package/esm2015/lib/core/const/create-package-service.const.js +1 -1
  64. package/esm2015/lib/core/const/failover.const.js +1 -1
  65. package/esm2015/lib/core/const/form-validators.js +1 -1
  66. package/esm2015/lib/core/const/index.js +1 -1
  67. package/esm2015/lib/core/const/rate-card-table-config.js +1 -1
  68. package/esm2015/lib/core/const/validation-message.const.js +1 -1
  69. package/esm2015/lib/core/directives/index.js +1 -1
  70. package/esm2015/lib/core/directives/mat-select-infinite-scroll.js +1 -1
  71. package/esm2015/lib/core/enums/constant.enum.js +1 -1
  72. package/esm2015/lib/core/enums/http-verb.enum.js +1 -1
  73. package/esm2015/lib/core/enums/index.js +1 -1
  74. package/esm2015/lib/core/enums/main-area.enum.js +1 -1
  75. package/esm2015/lib/core/models/Package.js +1 -1
  76. package/esm2015/lib/core/models/base-option.model.js +1 -1
  77. package/esm2015/lib/core/models/billing-param-req.component.js +1 -1
  78. package/esm2015/lib/core/models/country.model.js +1 -1
  79. package/esm2015/lib/core/models/create-package-param.model.js +1 -1
  80. package/esm2015/lib/core/models/http-body-resp.model.js +1 -1
  81. package/esm2015/lib/core/models/index.js +1 -1
  82. package/esm2015/lib/core/models/util/api-adapter-service-models/index.js +1 -1
  83. package/esm2015/lib/core/models/util/api-adapter-service-models/parameter.model.js +1 -1
  84. package/esm2015/lib/core/models/util/api-adapter-service-models/server-in-built-error.model.js +1 -1
  85. package/esm2015/lib/core/models/util/api-dto/request-models/app-request.js +1 -1
  86. package/esm2015/lib/core/models/util/api-dto/response-models/app-response-adl.js +1 -1
  87. package/esm2015/lib/core/models/util/api-dto/response-models/app-response.js +1 -1
  88. package/esm2015/lib/core/models/util/api-dto/response-models/error.js +1 -1
  89. package/esm2015/lib/core/models/util/api-dto/response-models/index.js +1 -1
  90. package/esm2015/lib/core/models/util/api-dto/response-models/meta.js +1 -1
  91. package/esm2015/lib/core/models/util/api-dto/response-models/paging.js +1 -1
  92. package/esm2015/lib/core/models/util/http-body-req/http-body-req-pagination-global-var.model.js +1 -1
  93. package/esm2015/lib/core/models/util/http-body-req/http-body-req-pagination.model.js +1 -1
  94. package/esm2015/lib/core/models/util/http-body-req/index.js +1 -1
  95. package/esm2015/lib/core/models/util/index.js +1 -1
  96. package/esm2015/lib/core/services/api-adapter-service.service.js +13 -13
  97. package/esm2015/lib/core/services/index.js +1 -1
  98. package/esm2015/lib/core/util/custom-paginator.js +1 -1
  99. package/esm2015/lib/core/util/download-blob-file.js +1 -1
  100. package/esm2015/lib/core/util/enum-to-option-generator.js +1 -1
  101. package/esm2015/lib/core/util/http-param-generator.js +1 -1
  102. package/esm2015/lib/core/util/index.js +1 -1
  103. package/esm2015/lib/global/confirmation/confirmation/confirmation.component.js +1 -1
  104. package/esm2015/lib/global/confirmation/confirmation/index.js +1 -1
  105. package/esm2015/lib/global/confirmation/confirmation.module.js +1 -1
  106. package/esm2015/lib/global/confirmation/shared/model/confirmation.model.js +1 -1
  107. package/esm2015/lib/global/confirmation/shared/model/index.js +1 -1
  108. package/esm2015/lib/global/confirmation/shared/shared-services.service.js +1 -1
  109. package/esm2015/lib/global/search/search/search.component.js +1 -1
  110. package/esm2015/lib/global/search/search.module.js +1 -1
  111. package/esm2015/public-api.js +1 -1
  112. package/esm5/adlfe-campaign-management-library.js +29 -0
  113. package/esm5/environments/environment.js +3 -1
  114. package/esm5/lib/adl-campaign-management-library-internal.component.js +1 -1
  115. package/esm5/lib/adl-campaign-management-library-internal.module.js +1 -1
  116. package/esm5/lib/campaign-management/campaign-management.component.js +1 -1
  117. package/esm5/lib/campaign-management/campaign-management.module.js +1 -1
  118. package/esm5/lib/campaign-management/models/campaign-count-final-response-dto.model.js +1 -1
  119. package/esm5/lib/campaign-management/models/contact-category-dto.model.js +1 -1
  120. package/esm5/lib/campaign-management/models/failover-req.model.js +1 -1
  121. package/esm5/lib/campaign-management/models/general-information-wa-req.model.js +1 -3
  122. package/esm5/lib/campaign-management/models/index.js +1 -1
  123. package/esm5/lib/campaign-management/models/scheduler-req.model.js +1 -1
  124. package/esm5/lib/campaign-management/models/template-wa.model.js +1 -1
  125. package/esm5/lib/campaign-management/models/whatsapp-account.js +1 -1
  126. package/esm5/lib/campaign-management/modules/campaign-index/campaign-index.component.js +1 -1
  127. package/esm5/lib/campaign-management/modules/campaign-index/campaign-index.module.js +1 -1
  128. package/esm5/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +2 -2
  129. package/esm5/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/index.js +1 -1
  130. package/esm5/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/index.js +1 -1
  131. package/esm5/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.js +1 -1
  132. package/esm5/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/index.js +1 -1
  133. package/esm5/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +1 -1
  134. package/esm5/lib/campaign-management/modules/campaign-index/models/campaign-response-dto.model.js +1 -1
  135. package/esm5/lib/campaign-management/modules/campaign-index/models/campaign-table-config.const.js +1 -1
  136. package/esm5/lib/campaign-management/modules/campaign-index/models/campaigns-list.model.js +1 -1
  137. package/esm5/lib/campaign-management/modules/campaign-index/models/client-dto.model.js +1 -1
  138. package/esm5/lib/campaign-management/modules/campaign-index/models/conversation-chart-response-dto.model.js +1 -1
  139. package/esm5/lib/campaign-management/modules/campaign-index/models/index.js +1 -1
  140. package/esm5/lib/campaign-management/modules/campaign-index/models/performance-chart-response-dto.model.js +1 -1
  141. package/esm5/lib/campaign-management/modules/campaign-index/models/performance-chart-sereies-response-dto.model.js +1 -1
  142. package/esm5/lib/campaign-management/modules/campaign-index/models/table.model.js +1 -1
  143. package/esm5/lib/campaign-management/modules/dashboard/dashboard.component.js +1 -1
  144. package/esm5/lib/campaign-management/modules/dashboard/dashboard.module.js +1 -1
  145. package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.js +1 -1
  146. package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-email/index.js +1 -1
  147. package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.js +1 -1
  148. package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-line/index.js +1 -1
  149. package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.js +1 -1
  150. package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-sms/index.js +1 -1
  151. package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +3 -15
  152. package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-wa/index.js +1 -1
  153. package/esm5/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.js +1 -1
  154. package/esm5/lib/campaign-management/modules/new-campaign/failover-mechanism/index.js +1 -1
  155. package/esm5/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +2 -2
  156. package/esm5/lib/campaign-management/modules/new-campaign/general-information/index.js +1 -1
  157. package/esm5/lib/campaign-management/modules/new-campaign/index.js +1 -1
  158. package/esm5/lib/campaign-management/modules/new-campaign/new-campaign.component.js +1 -4
  159. package/esm5/lib/campaign-management/modules/new-campaign/new-number-bases/index.js +1 -1
  160. package/esm5/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.js +30 -24
  161. package/esm5/lib/campaign-management/modules/new-campaign/scheduler/index.js +1 -1
  162. package/esm5/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.js +1 -1
  163. package/esm5/lib/campaign-management/modules/new-campaign/summary/index.js +1 -1
  164. package/esm5/lib/campaign-management/modules/new-campaign/summary/summary.component.js +1 -1
  165. package/esm5/lib/campaign-management/modules/wizard/index.js +1 -1
  166. package/esm5/lib/campaign-management/modules/wizard/wizard.component.js +1 -1
  167. package/esm5/lib/campaign-management/util/enums.js +1 -1
  168. package/esm5/lib/core/const/constants.const.js +1 -1
  169. package/esm5/lib/core/const/create-package-service.const.js +1 -1
  170. package/esm5/lib/core/const/failover.const.js +1 -1
  171. package/esm5/lib/core/const/form-validators.js +1 -1
  172. package/esm5/lib/core/const/index.js +1 -1
  173. package/esm5/lib/core/const/rate-card-table-config.js +1 -1
  174. package/esm5/lib/core/const/validation-message.const.js +1 -1
  175. package/esm5/lib/core/directives/index.js +1 -1
  176. package/esm5/lib/core/directives/mat-select-infinite-scroll.js +1 -1
  177. package/esm5/lib/core/enums/constant.enum.js +1 -1
  178. package/esm5/lib/core/enums/http-verb.enum.js +1 -1
  179. package/esm5/lib/core/enums/index.js +1 -1
  180. package/esm5/lib/core/enums/main-area.enum.js +1 -1
  181. package/esm5/lib/core/models/Package.js +1 -1
  182. package/esm5/lib/core/models/base-option.model.js +1 -1
  183. package/esm5/lib/core/models/billing-param-req.component.js +1 -1
  184. package/esm5/lib/core/models/country.model.js +1 -1
  185. package/esm5/lib/core/models/create-package-param.model.js +1 -1
  186. package/esm5/lib/core/models/http-body-resp.model.js +1 -1
  187. package/esm5/lib/core/models/index.js +1 -1
  188. package/esm5/lib/core/models/util/api-adapter-service-models/index.js +1 -1
  189. package/esm5/lib/core/models/util/api-adapter-service-models/parameter.model.js +1 -1
  190. package/esm5/lib/core/models/util/api-adapter-service-models/server-in-built-error.model.js +1 -1
  191. package/esm5/lib/core/models/util/api-dto/request-models/app-request.js +1 -1
  192. package/esm5/lib/core/models/util/api-dto/response-models/app-response-adl.js +1 -1
  193. package/esm5/lib/core/models/util/api-dto/response-models/app-response.js +1 -1
  194. package/esm5/lib/core/models/util/api-dto/response-models/error.js +1 -1
  195. package/esm5/lib/core/models/util/api-dto/response-models/index.js +1 -1
  196. package/esm5/lib/core/models/util/api-dto/response-models/meta.js +1 -1
  197. package/esm5/lib/core/models/util/api-dto/response-models/paging.js +1 -1
  198. package/esm5/lib/core/models/util/http-body-req/http-body-req-pagination-global-var.model.js +1 -1
  199. package/esm5/lib/core/models/util/http-body-req/http-body-req-pagination.model.js +1 -1
  200. package/esm5/lib/core/models/util/http-body-req/index.js +1 -1
  201. package/esm5/lib/core/models/util/index.js +1 -1
  202. package/esm5/lib/core/services/api-adapter-service.service.js +11 -11
  203. package/esm5/lib/core/services/index.js +1 -1
  204. package/esm5/lib/core/util/custom-paginator.js +1 -1
  205. package/esm5/lib/core/util/download-blob-file.js +1 -1
  206. package/esm5/lib/core/util/enum-to-option-generator.js +1 -1
  207. package/esm5/lib/core/util/http-param-generator.js +1 -1
  208. package/esm5/lib/core/util/index.js +1 -1
  209. package/esm5/lib/global/confirmation/confirmation/confirmation.component.js +1 -1
  210. package/esm5/lib/global/confirmation/confirmation/index.js +1 -1
  211. package/esm5/lib/global/confirmation/confirmation.module.js +1 -1
  212. package/esm5/lib/global/confirmation/shared/model/confirmation.model.js +1 -1
  213. package/esm5/lib/global/confirmation/shared/model/index.js +1 -1
  214. package/esm5/lib/global/confirmation/shared/shared-services.service.js +1 -1
  215. package/esm5/lib/global/search/search/search.component.js +1 -1
  216. package/esm5/lib/global/search/search.module.js +1 -1
  217. package/esm5/public-api.js +1 -1
  218. package/fesm2015/{campaign-management-library.js → adlfe-campaign-management-library.js} +46 -56
  219. package/fesm2015/adlfe-campaign-management-library.js.map +1 -0
  220. package/fesm5/{campaign-management-library.js → adlfe-campaign-management-library.js} +45 -54
  221. package/fesm5/adlfe-campaign-management-library.js.map +1 -0
  222. package/lib/campaign-management/models/general-information-wa-req.model.d.ts +0 -1
  223. package/lib/campaign-management/models/template-wa.model.d.ts +0 -1
  224. package/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.d.ts +0 -6
  225. package/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.d.ts +3 -2
  226. package/lib/core/services/api-adapter-service.service.d.ts +1 -0
  227. package/package.json +11 -20
  228. package/bundles/campaign-management-library.umd.js.map +0 -1
  229. package/bundles/campaign-management-library.umd.min.js +0 -16
  230. package/bundles/campaign-management-library.umd.min.js.map +0 -1
  231. package/esm2015/campaign-management-library.js +0 -29
  232. package/esm5/campaign-management-library.js +0 -29
  233. package/fesm2015/campaign-management-library.js.map +0 -1
  234. package/fesm5/campaign-management-library.js.map +0 -1
  235. /package/{campaign-management-library.d.ts → adlfe-campaign-management-library.d.ts} +0 -0
@@ -0,0 +1,16 @@
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@agm/core"),require("@angular/common"),require("@angular/common/http"),require("@angular/material/card"),require("@angular/material/paginator"),require("ngx-echarts"),require("ngx-toastr"),require("@angular/cdk/drag-drop"),require("@angular/forms"),require("@angular/material/autocomplete"),require("@angular/material/badge"),require("@angular/material/button"),require("@angular/material/checkbox"),require("@angular/material/datepicker"),require("@angular/material/dialog"),require("@angular/material/divider"),require("@angular/material/form-field"),require("@angular/material/grid-list"),require("@angular/material/icon"),require("@angular/material/input"),require("@angular/material/list"),require("@angular/material/progress-spinner"),require("@angular/material/radio"),require("@angular/material/select"),require("@angular/material/slide-toggle"),require("@angular/material/sort"),require("@angular/material/table"),require("@angular/material/tabs"),require("@ctrl/ngx-emoji-mart"),require("@kolkov/angular-editor"),require("@ng-bootstrap/ng-bootstrap"),require("echarts"),require("rxjs"),require("rxjs/operators"),require("@angular/material/chips"),require("@angular/material/core"),require("@angular/material/toolbar"),require("@angular/material/tooltip"),require("rxjs/internal/operators/catchError"),require("@angular/material/button-toggle"),require("sms-segments-calculator"),require("@angular/platform-browser"),require("@angular/cdk/collections")):"function"==typeof define&&define.amd?define("@adlfe/campaign-management-library",["exports","@angular/core","@agm/core","@angular/common","@angular/common/http","@angular/material/card","@angular/material/paginator","ngx-echarts","ngx-toastr","@angular/cdk/drag-drop","@angular/forms","@angular/material/autocomplete","@angular/material/badge","@angular/material/button","@angular/material/checkbox","@angular/material/datepicker","@angular/material/dialog","@angular/material/divider","@angular/material/form-field","@angular/material/grid-list","@angular/material/icon","@angular/material/input","@angular/material/list","@angular/material/progress-spinner","@angular/material/radio","@angular/material/select","@angular/material/slide-toggle","@angular/material/sort","@angular/material/table","@angular/material/tabs","@ctrl/ngx-emoji-mart","@kolkov/angular-editor","@ng-bootstrap/ng-bootstrap","echarts","rxjs","rxjs/operators","@angular/material/chips","@angular/material/core","@angular/material/toolbar","@angular/material/tooltip","rxjs/internal/operators/catchError","@angular/material/button-toggle","sms-segments-calculator","@angular/platform-browser","@angular/cdk/collections"],e):e(((t=t||self).adlfe=t.adlfe||{},t.adlfe["campaign-management-library"]={}),t.ng.core,t.core$1,t.ng.common,t.ng.common.http,t.ng.material.card,t.ng.material.paginator,t.ngxEcharts,t.ngxToastr,t.ng.cdk.dragDrop,t.ng.forms,t.ng.material.autocomplete,t.ng.material.badge,t.ng.material.button,t.ng.material.checkbox,t.ng.material.datepicker,t.ng.material.dialog,t.ng.material.divider,t.ng.material.formField,t.ng.material.gridList,t.ng.material.icon,t.ng.material.input,t.ng.material.list,t.ng.material.progressSpinner,t.ng.material.radio,t.ng.material.select,t.ng.material.slideToggle,t.ng.material.sort,t.ng.material.table,t.ng.material.tabs,t.ngxEmojiMart,t.angularEditor,t.ngBootstrap,t.echarts,t.rxjs,t.rxjs.operators,t.ng.material.chips,t.ng.material.core,t.ng.material.toolbar,t.ng.material.tooltip,t.rxjs["internal/operators/catchError"],t.ng.material.buttonToggle,t.smsSegmentsCalculator,t.ng.platformBrowser,t.ng.cdk.collections)}(this,(function(t,e,n,a,r,i,o,l,s,d,m,c,p,u,g,v,f,h,b,y,x,S,w,C,I,T,A,O,V,P,M,N,D,L,F,E,R,k,B,q,U,z,j,H,W){"use strict";
2
+ /*! *****************************************************************************
3
+ Copyright (c) Microsoft Corporation.
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
9
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
10
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
11
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
12
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
+ PERFORMANCE OF THIS SOFTWARE.
15
+ ***************************************************************************** */var _=function(t,e){return(_=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function G(t,e){function n(){this.constructor=t}_(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var $=function(){return($=Object.assign||function(t){for(var e,n=1,a=arguments.length;n<a;n++)for(var r in e=arguments[n])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};function J(t,e,n,a){var r,i=arguments.length,o=i<3?e:null===a?a=Object.getOwnPropertyDescriptor(e,n):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,n,a);else for(var l=t.length-1;l>=0;l--)(r=t[l])&&(o=(i<3?r(o):i>3?r(e,n,o):r(e,n))||o);return i>3&&o&&Object.defineProperty(e,n,o),o}function Y(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],a=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&a>=t.length&&(t=void 0),{value:t&&t[a++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function X(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var a,r,i=n.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(a=i.next()).done;)o.push(a.value)}catch(t){r={error:t}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}return o}function Z(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(X(arguments[e]));return t}var K,Q=function(){function t(){}return t=J([e.Component({selector:"lib-adl-campaign-management-library-internal",template:"\n\t\t<p>\n\t\t\t<lib-campaign-management></lib-campaign-management>\n\t\t</p>\n\t"})],t)}(),tt=function(){function t(){this.debounceSubject=new F.Subject,this.searchRes=new e.EventEmitter}return t.prototype.ngOnInit=function(){var t,e=this;this.form=new m.FormControl(null!=(t=this.currentValue)?t:""),this.debounceSubject.pipe(E.debounceTime(500)).subscribe((function(t){e.searchRes.emit(t.toLowerCase())}))},t.prototype.searchResult=function(t){this.debounceSubject.next(t.target.value)},t.prototype.clearInput=function(){this.form.setValue(""),this.searchRes.emit(this.form.value)},J([e.Output()],t.prototype,"searchRes",void 0),J([e.Input()],t.prototype,"placeholder",void 0),J([e.Input()],t.prototype,"currentValue",void 0),t=J([e.Component({selector:"lib-search",template:'<div class="search">\r\n\t<mat-form-field appearance="outline"\r\n\t\tfloatLabel="never"\r\n\t\tclass="search">\r\n\t\t<mat-icon matPrefix\r\n\t\t\tclass="mr-2">\r\n\t\t\tsearch\r\n\t\t</mat-icon>\r\n\r\n\t\t<input matInput\r\n\t\t\tautocomplete="off"\r\n\t\t\t[formControl]="form"\r\n\t\t\t[placeholder]="placeholder"\r\n\t\t\t(keyup)="searchResult($event)">\r\n\r\n\t\t<button *ngIf="form.value"\r\n\t\t\tmat-button\r\n\t\t\tmatSuffix\r\n\t\t\tmat-icon-button\r\n\t\t\taria-label="Clear"\r\n\t\t\t(click)="clearInput()">\r\n\t\t\t<mat-icon>close</mat-icon>\r\n\t\t</button>\r\n\t</mat-form-field>\r\n</div>\r\n',styles:["::ng-deep mat-form-field.search .mat-form-field-infix{padding:.64em 0}"]})],t)}(),et=function(){function t(){}return t=J([e.NgModule({declarations:[tt],imports:[a.CommonModule,m.FormsModule,m.ReactiveFormsModule,b.MatFormFieldModule,S.MatInputModule,u.MatButtonModule,x.MatIconModule],exports:[tt]})],t)}();!function(t){t[t.Dashboard=1]="Dashboard",t[t.CampaignIndex=2]="CampaignIndex",t[t.CreateCampaign=3]="CreateCampaign",t[t.NewCampaign=4]="NewCampaign",t[t.UpdateNumberBases=5]="UpdateNumberBases"}(K||(K={}));var nt,at,rt,it=function(){function t(){this.currentView=K.CampaignIndex,this.currentViews=K}return t.prototype.onChangeMainArea=function(t){this.currentView=t},t=J([e.Component({selector:"lib-campaign-management",template:'<lib-dashboard *ngIf="currentView === currentViews.Dashboard"\r\n\t(currentView)="onChangeMainArea($event)"></lib-dashboard>\r\n\r\n<lib-campaign-index *ngIf="currentView === currentViews.CampaignIndex"\r\n\t(currentView)="onChangeMainArea($event)">\r\n</lib-campaign-index>\r\n\r\n<lib-new-campaign *ngIf="currentView === currentViews.NewCampaign"\r\n\t(currentView)="onChangeMainArea($event)">\r\n</lib-new-campaign>\r\n'})],t)}(),ot=function(){function t(t,n){this.matSelect=t,this.ngZone=n,this.threshold="15%",this.debounceTime=150,this.infiniteScroll=new e.EventEmitter,this.thrPx=0,this.thrPc=0,this.singleOptionHeight=T.SELECT_ITEM_HEIGHT_EM,this.destroyed$=new F.Subject}return t.prototype.ngOnInit=function(){this.evaluateThreshold()},t.prototype.ngAfterViewInit=function(){var t=this;this.matSelect.openedChange.pipe(E.takeUntil(this.destroyed$)).subscribe((function(e){e&&(t.panel=t.matSelect.panel.nativeElement,t.singleOptionHeight=t.getSelectItemHeightPx(),t.registerScrollListener())}))},t.prototype.ngOnDestroy=function(){this.destroyed$.next(!0),this.destroyed$.complete()},t.prototype.evaluateThreshold=function(){this.threshold.lastIndexOf("%")>-1?(this.thrPx=0,this.thrPc=parseFloat(this.threshold)/100):(this.thrPx=parseFloat(this.threshold),this.thrPc=0)},t.prototype.registerScrollListener=function(){var t=this;F.fromEvent(this.panel,"scroll").pipe(E.takeUntil(this.destroyed$),E.debounceTime(this.debounceTime),E.tap((function(e){t.handleScrollEvent(e)}))).subscribe()},t.prototype.handleScrollEvent=function(t){var e=this;this.ngZone.runOutsideAngular((function(){if(!e.complete){var n=e.matSelect.options.length,a=e.singleOptionHeight*n,r=0!==e.thrPc?a*e.thrPc:e.thrPx;e.panel.clientHeight+t.target.scrollTop+r>=a&&e.ngZone.run((function(){return e.infiniteScroll.emit()}))}}))},t.prototype.getSelectItemHeightPx=function(){return parseFloat(getComputedStyle(this.panel).fontSize)*T.SELECT_ITEM_HEIGHT_EM},t.ctorParameters=function(){return[{type:T.MatSelect},{type:e.NgZone}]},J([e.Input()],t.prototype,"threshold",void 0),J([e.Input()],t.prototype,"debounceTime",void 0),J([e.Input()],t.prototype,"complete",void 0),J([e.Output()],t.prototype,"infiniteScroll",void 0),t=J([e.Directive({selector:"[matSelectInfiniteScroll]"})],t)}(),lt=(function(){function t(){}t.prototype.clone=function(t){return t.country&&(this.country=t.country),t.recomended&&(this.recomended=t.recomended),t.type&&(this.type=t.type),t.setupFeeRateCard&&(this.setupFeeRateCard=t.setupFeeRateCard),t.setupFee&&("true"===t.setupFeeRateCard?this.setupFee=null:this.setupFee=t.setupFee),t.ovrUsgConversationRateCard&&(this.ovrUsgConversationRateCard=t.ovrUsgConversationRateCard),t.costPerCustomer&&(this.costPerCustomer=t.costPerCustomer),t.costPerBusiness&&(this.costPerBusiness=t.costPerBusiness),t.ovrUsgNotficationRateCard&&(this.ovrUsgNotficationRateCard=t.ovrUsgNotficationRateCard),t.ovrUsgConversationCost&&(this.ovrUsgConversationCost=t.ovrUsgConversationCost),t.ovrUsgNotficationCost&&("true"===t.ovrUsgNotficationRateCard?this.ovrUsgNotficationCost=null:this.ovrUsgNotficationCost=t.ovrUsgNotficationCost),t.customPackage&&(this.customPackage=t.customPackage),t.currency&&(this.currency=t.currency),t.name&&(this.name=t.name),t.monthlyRental&&(this.monthlyRental=t.monthlyRental),t.conversationMsg&&(this.conversationMsg=t.conversationMsg),t.businessMsg&&(this.businessMsg=t.businessMsg),t.contacts&&(this.contacts=t.contacts),t.isMultipleFlow&&(this.isMultipleFlow=t.isMultipleFlow),t.tps&&(this.tps=t.tps),t.multichatLiveAgent&&(this.multichatLiveAgent=t.multichatLiveAgent),t.multichatLiveSupervisor&&(this.multichatLiveSupervisor=t.multichatLiveSupervisor),t.numberOfFlow&&(this.numberOfFlow=t.numberOfFlow),t.waOfficialAccount&&(this.waOfficialAccount=t.waOfficialAccount),t.dashboardToSendMessage&&(this.dashboardToSendMessage=t.dashboardToSendMessage),t.reportAdminPanel&&(this.reportAdminPanel=t.reportAdminPanel),t.trainingSupport&&(this.trainingSupport=t.trainingSupport),t.isMultiple&&(this.isMultiple=t.isMultiple),t.checklistWa&&(this.checklistWa=t.checklistWa),t.checklistLine&&(this.checklistLine=t.checklistLine),t.checklistTele&&(this.checklistTele=t.checklistTele),t.specifyPackage&&(this.specifyPackage=t.specifyPackage),t.customDevelopment&&(this.customDevelopment=t.customDevelopment),t.oneUsageCostConversation&&(this.oneUsageCostConversation=t.oneUsageCostConversation),t.signupOrSetup&&(this.signupOrSetup=t.signupOrSetup),t.checklistAdm&&(this.checklistAdm=t.checklistAdm),t.checklistUser&&(this.checklistUser=t.checklistUser),t.checklistClient&&(this.checklistClient=t.checklistClient),t.checklistChatAgentAdmin&&(this.checklistChatAgentAdmin=t.checklistChatAgentAdmin),t.checklistChatAgentUser&&(this.checklistChatAgentUser=t.checklistChatAgentUser),this}}(),function(){}),st=(function(){function t(){this.pageSize=3,this.pageNo=1}t.prototype.convert=function(){return{pageSize:this.pageSize,pageNo:this.pageNo}}}(),function(){function t(){this.pageSize=10,this.pageNo=1}return t.prototype.convert=function(){return{pageSize:this.pageSize,pageNo:this.pageNo}},t}()),dt=(function(t){function e(){return t.call(this)||this}G(e,t),e.prototype.convert=function(){return{filter:this.filter,platform:this.platform,clientId:this.clientId,pageNo:String(this.pageNo),pageSize:String(this.pageSize)}}}(st),function(){function t(){}t.prototype.convert=function(t){return t.category&&(this.category=t.category),t.code&&(this.code=t.code),t.values&&(this.values=t.values),t.param1&&(this.param1=t.param1),t.param2&&(this.param2=t.param2),t.ìcon&&(this.ìcon=t.ìcon),this}}(),function(){function t(){this.channels=[]}t.prototype.clone=function(t){return t.name&&(this.name=t.name),t.type&&(this.type=t.type),t.recomended&&(this.recomended=t.recomended),t.setupFeeRateCard&&(this.setupFeeRateCard=t.setupFeeRateCard),t.countryCode&&(this.countryCode=t.countryCode),t.costPerCustomer&&(this.costPerCustomer=t.costPerCustomer),t.costPerBusiness&&(this.costPerBusiness=t.costPerBusiness),t.customPackage&&(this.customPackage=t.customPackage),t.channels&&(this.channels=[t.channels]),t.customDevelopment&&(this.customDevelopment=t.customDevelopment),t.maxAgent&&(this.maxAgent=t.maxAgent),t.maxContact&&(this.maxContact=t.maxContact),t.maxFlow&&(this.maxFlow=t.maxFlow),t.maxSupervisor&&(this.maxSupervisor=t.maxSupervisor),t.monthlyConversation&&(this.monthlyConversation=t.monthlyConversation),t.monthlyNotification&&(this.monthlyNotification=t.monthlyNotification),t.monthlyRental&&(this.monthlyRental=t.monthlyRental),t.monthlyRentalRateCard&&(this.monthlyRentalRateCard=t.monthlyRentalRateCard),t.ovrUsgConversation&&(this.ovrUsgConversation=t.ovrUsgConversation),t.ovrUsgConversationCost&&(this.ovrUsgConversationCost=t.ovrUsgConversationCost),t.ovrUsgConversationRateCard&&(this.ovrUsgConversationRateCard=t.ovrUsgConversationRateCard),t.ovrUsgNotification&&(this.ovrUsgNotification=t.ovrUsgNotification),t.ovrUsgNotificationCost&&(this.ovrUsgNotificationCost=t.ovrUsgNotificationCost),t.ovrUsgNotificationRateCard&&(this.ovrUsgNotificationRateCard=t.ovrUsgNotificationRateCard),t.reports&&(this.reports=t.reports),t.roles&&(this.roles=t.roles),t.sendMsgDashboard&&(this.sendMsgDashboard=t.sendMsgDashboard),t.setupFee&&(this.setupFee=t.setupFee),t.tps&&(this.tps=t.tps),t.training&&(this.training=t.training),t.waOfficialAcc&&(this.waOfficialAcc=t.waOfficialAcc),this},t.prototype.convert=function(){return{name:this.name,channels:this.channels,customDevelopment:this.customDevelopment,maxAgent:+this.maxAgent,maxContact:+this.maxContact,maxFlow:+this.maxFlow,maxSupervisor:+this.maxSupervisor,monthlyConversation:+this.monthlyConversation,monthlyNotification:+this.monthlyNotification,monthlyRental:+this.monthlyRental,monthlyRentalRateCard:this.monthlyRentalRateCard,ovrUsgConversation:this.ovrUsgConversation,ovrUsgConversationCost:+this.ovrUsgConversationCost,ovrUsgConversationRateCard:this.ovrUsgConversationRateCard,ovrUsgNotification:this.ovrUsgNotification,ovrUsgNotificationCost:+this.ovrUsgNotificationCost,ovrUsgNotificationRateCard:this.ovrUsgNotificationRateCard,reports:this.reports,roles:this.roles,sendMsgDashboard:this.sendMsgDashboard,setupFee:+this.setupFee,tps:+this.tps,training:this.training,waOfficialAcc:this.waOfficialAcc,customPackage:this.customPackage,countryCode:this.countryCode,costPerBusiness:this.costPerBusiness,costPerCustomer:this.costPerCustomer,setupFeeRateCard:this.setupFeeRateCard,type:this.type,recomended:this.recomended}}}(),function(){function t(){}t.prototype.convert=function(t){return t.status&&(this.status=t.status),t.errorCode&&(this.errorCode=t.errorCode),t.message&&(this.message=t.message),t.data&&(this.data=t.data),t.totalRecord>=0&&(this.totalRecord=t.totalRecord),this}}(),location.origin.includes("dashboard.neuapix")?"https://api.neuapix.com":location.origin.includes("dashboard-staging.neuapix")?"https://api-staging.neuapix.com":location.origin.includes("dashboard-qa.adlsandbox")?"https://apibsp-qa.adlsandbox.net":(location.origin.includes("demo-dev.adlsandbox.net"),"https://apibsp-dev.adlsandbox.net")),mt=function(){function t(t){this.httpClient=t,this.queryCount=0}return t.prototype.executeApiRequest=function(t,e,n,a){var i,o,l,s=this;void 0===a&&(a=!1);var d,m,c=e,p=new FormData;null===(i=t)||void 0===i||i.filter((function(t){return"header"!==t.in})).forEach((function(e){if(!(m=t.find((function(t){return t.name===e.name})))&&e.required&&"header"!==e.in)window.alert('Parameter "'+e.name+'" is required!, Try again with "'+e.name+'"');else if(m||e.required)switch(e.in){case"body":d=m.value;break;case"path":c=c.replace("{"+m.name+"}",m.value);break;case"query":c=s.setQuery(m.name,m.value,c);break;case"formData":p=s.setFormData(m,p)}else;m=void 0})),this.queryCount=0,c=""+dt+c;var u=$({},(null===(l=null===(o=t)||void 0===o?void 0:o[0])||void 0===l?void 0:l.withoutKeyData)?d:{data:d}),g=(new r.HttpHeaders).set("Authorization","Bearer "+localStorage.getItem("telin.accessToken")).set("Access-Control-Allow-Origin","*");return this.httpClient.request(n,c,{body:d?u:p,responseType:a?"blob":"json",headers:g}).pipe(U.catchError((function(t){return t.error instanceof ErrorEvent?F.of({error:{title:"Network error!",detail:t.message,source:t.statusText,status:t.status.toString()},meta:{code:t.status,message:t.message}}):F.of(t.error)})))},t.prototype.uploadFileToS3=function(t,e){return this.httpClient.put(t,e,{headers:{"Content-Type":e.type}})},t.prototype.setQuery=function(t,e,n){return n=0===this.queryCount?n+"?"+t+"="+e:n+"&"+t+"="+e,this.queryCount++,n},t.prototype.setFormData=function(t,e){if("array"===t.type)for(var n=0;t.value.length>n;n++)e.append(t.name,t.value[n],t.value[n].name);else e.append(t.name,t.value?t.value:null);return e},t.ctorParameters=function(){return[{type:r.HttpClient}]},t.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(r.HttpClient))},token:t,providedIn:"root"}),t=J([e.Injectable({providedIn:"root"})],t)}(),ct=["Broadcast ID","Business Name","Broadcast Name","Template Name","Channel","Status","Number Count","On Progress","Sent","Delivered","Read","Failed","Repeat Count","Start Date","End Date","Action"],pt=["id","clientName","name","templateName","platform","statusName","numberCount","queuedCount","sentCount","delivCount","readCount","failedCount","repeatCount","startTime","endTime","action"],ut=(function(){function t(){}t.prototype.convert=function(t){return t.campaignID&&(this.campaignID=t.campaignID),t.businessName&&(this.businessName=t.businessName),t.campaignName&&(this.campaignName=t.campaignName),t.medium&&(this.medium=t.medium),t.status&&(this.status=t.status),t.numberCount&&(this.numberCount=t.numberCount),t.deilveredCount&&(this.deilveredCount=t.deilveredCount),t.seenCount&&(this.seenCount=t.seenCount),t.responseCount&&(this.responseCount=t.responseCount),t.estimatedCost&&(this.estimatedCost=t.estimatedCost),t.actualCost&&(this.actualCost=t.actualCost),t.startDate&&(this.startDate=t.startDate),t.endDate&&(this.endDate=t.endDate),t.id&&(this.id=t.id),this}}(),function(){function t(){this.columns=[],this.dataSource=new V.MatTableDataSource,this.labels=[],this.page=1,this.pageSize=10,this.totalData=0}return t.prototype.getNumber=function(t,e){return(this.page-1)*e+t},t.prototype.getPageIndex=function(){return this.page-1},t.prototype.isEmpty=function(){return 0===this.totalData},t.prototype.setPage=function(t){this.page=t},t.prototype.setPageSize=function(t){this.pageSize=t},t.prototype.resetPage=function(){this.page=1},t.prototype.setNextPage=function(t){var e,n,a;if(t||1!==this.page){this.totalData=1===this.page?2*this.pageSize:this.pageSize*(this.page+1);var r=this.pageSize-(null===(a=this.dataSource.data)||void 0===a?void 0:a.length);0!==r&&(this.totalData-=r),t||(this.totalData-=this.pageSize)}else this.totalData=null!=(n=null===(e=this.dataSource.data)||void 0===e?void 0:e.length)?n:0},t}()),gt=function(){function t(t,n){this.datePipe=t,this.apiAdapterService=n,this.currentView=new e.EventEmitter,this.currentViews=K,this.subscribers=[]}return t.prototype.ngOnInit=function(){this.campaignParam=new st,this.initTable(),this.campaignCountService(),this.getCampaignList(),localStorage.removeItem("telin.campaign")},t.prototype.initTable=function(){this.table=new ut,this.table.labels=ct,this.table.columns=pt},t.prototype.campaignCountService=function(){var t=this,e=this.apiAdapterService.executeApiRequest([],"/campaign/totals","GET").subscribe((function(e){var n;t.campaignTotal=null===(n=e)||void 0===n?void 0:n.data}));this.subscribers.push(e)},t.prototype.getCampaignList=function(t){var e,n,a,r,i,o,l,s=this;void 0===t&&(t="");var d=[this.initParam("pageNo",this.campaignParam.pageNo,"number"),this.initParam("rowPerPage",this.campaignParam.pageSize,"number"),this.initParam("filter",t,"string")];(null===(e=this.filterValue)||void 0===e?void 0:e.businessName)&&d.push(this.initParam("clientId",this.filterValue.businessName,"string")),(null===(n=this.filterValue)||void 0===n?void 0:n.medium)&&d.push(this.initParam("channel",this.filterValue.medium,"string")),(null===(a=this.filterValue)||void 0===a?void 0:a.templateName)&&d.push(this.initParam("templateName",null===(r=this.filterValue.templateName)||void 0===r?void 0:r.name,"string")),(null===(i=this.filterValue)||void 0===i?void 0:i.status)&&d.push(this.initParam("status",this.filterValue.status,"string")),(null===(o=this.filterValue)||void 0===o?void 0:o.startDate)&&d.push(this.initParam("startDate",this.datePipe.transform(this.filterValue.startDate,"yyyy-MM-dd"),"string")),(null===(l=this.filterValue)||void 0===l?void 0:l.endDate)&&d.push(this.initParam("endDate",this.datePipe.transform(this.filterValue.endDate,"yyyy-MM-dd"),"string"));var m=this.apiAdapterService.executeApiRequest(d,"/campaign","GET").subscribe((function(t){s.table.dataSource.data=t.data,s.table.setNextPage(t.haveNext)}));this.subscribers.push(m)},t.prototype.initParam=function(t,e,n){return{name:t,value:e,in:"query",type:n}},t.prototype.updatePage=function(t){t.pageSize?(this.table.totalData=t.pageSize,this.table.setPageSize(t.pageSize),this.table.resetPage()):this.table.setPage(t),this.campaignParam.pageNo=this.table.page,this.campaignParam.pageSize=this.table.pageSize,this.getCampaignList()},t.prototype.updateFilter=function(t){this.table.resetPage(),this.campaignParam.pageNo=this.table.page,this.campaignParam.pageSize=this.table.pageSize,this.filterValue=t,this.getCampaignList()},t.prototype.updateSearch=function(t){this.table.resetPage(),this.campaignParam.pageNo=this.table.page,this.getCampaignList(t)},t.prototype.addCampaign=function(){localStorage.removeItem("telin.campaign"),this.changeCurrentView(this.currentViews.NewCampaign)},t.prototype.changeCurrentView=function(t){this.currentView.emit(t)},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:a.DatePipe},{type:mt}]},J([e.Output()],t.prototype,"currentView",void 0),t=J([e.Component({selector:"lib-campaign-index",template:'<div class="billing-list p-4">\r\n <div class="row mb-3">\r\n <div class="col-md-8">\r\n <p class="title mb-1">Broadcast Messaging</p>\r\n\r\n <mat-chip-list>\r\n <p class="font-subtitle">Manage Your Broadcast Messages Here.</p>\r\n <div>\r\n <mat-chip class="example-box-total" cdkDrag>\r\n {{ campaignTotal?.total }} Total Broadcasts\r\n </mat-chip>\r\n <mat-chip class="example-box-live" cdkDrag>\r\n {{ campaignTotal?.live }} Scheduled Broadcasts\r\n </mat-chip>\r\n <mat-chip class="example-box-pending" cdkDrag>\r\n {{ campaignTotal?.pending }} Pending Approval\r\n </mat-chip>\r\n </div>\r\n </mat-chip-list>\r\n </div>\r\n <div class="col-md-4 mt-auto text-end">\r\n \x3c!-- <button mat-flat-button\r\n\t\t\t\tcolor="primary-telin-blue2"\r\n\t\t\t\tstyle="height: 46px; margin-right:20px"\r\n\t\t\t\t(click)="changeCurrentView(currentViews.Dashboard)">\r\n\t\t\t\tGo to Dashboard\r\n\t\t\t</button> --\x3e\r\n\r\n <button\r\n mat-flat-button\r\n color="primary-telin-blue2"\r\n style="height: 46px"\r\n (click)="addCampaign()"\r\n >\r\n <mat-icon class="icon-menu">add</mat-icon>\r\n Add Broadcast\r\n </button>\r\n </div>\r\n\r\n <div class="col-12 mt-3">\r\n <div style="background-color: #ffffff; border-radius: 8px">\r\n <section class="wrapper__action w-100 p-3">\r\n <div class="display__left mb-xs">\r\n <lib-search\r\n [placeholder]="\'Search\'"\r\n (searchRes)="updateSearch($event)"\r\n ></lib-search>\r\n\r\n <div\r\n class="alert alert-primary d-flex align-items-center ml-3"\r\n role="alert"\r\n >\r\n <img\r\n src="../../../../assets/svg/info-blue.svg"\r\n style="width: 24px; height: auto; cursor: pointer"\r\n [matTooltip]="\r\n \'The 5 minutes is set to give time for summarizing and consolidating all the data properly\'\r\n "\r\n />\r\n\r\n <div class="text-body font-13px ml-2">\r\n The page can be refreshed every 5 minutes to view the updated data\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class="display__right float__right__xs">\r\n <div\r\n ngbDropdown\r\n container="body"\r\n class="filter__body"\r\n placement="bottom-right"\r\n [autoClose]="false"\r\n #filterDropdown="ngbDropdown"\r\n >\r\n <button\r\n ngbDropdownToggle\r\n mat-stroked-button\r\n color="primary-telin1"\r\n style="height: 46px"\r\n >\r\n <em class="material-icons md-18 pointer pr-1">filter_list</em>\r\n Filter\r\n </button>\r\n\r\n <div\r\n ngbDropdownMenu\r\n id="filter-drop"\r\n class="dropdown-menu filter__dropdown"\r\n >\r\n <lib-filter-in-list-of-campaign\r\n *ngIf="filterDropdown.isOpen()"\r\n class="filter-content"\r\n style="z-index: 900 !important"\r\n [filterValue]="filterValue"\r\n (onChangeFilter)="updateFilter($event)"\r\n (closeDropdown)="filterDropdown.close()"\r\n >\r\n </lib-filter-in-list-of-campaign>\r\n </div>\r\n </div>\r\n </div>\r\n </section>\r\n\r\n <lib-viewing-list-of-campaign-table\r\n [table]="table"\r\n (currentView)="changeCurrentView($event)"\r\n (updateTable)="getCampaignList()"\r\n >\r\n </lib-viewing-list-of-campaign-table>\r\n\r\n <div class="pagination-customize row">\r\n <div class="col-md-7 col-12 my-auto">\r\n <ngb-pagination\r\n [collectionSize]="table.totalData"\r\n [(page)]="table.page"\r\n [pageSize]="table.pageSize"\r\n [maxSize]="5"\r\n [rotate]="true"\r\n (pageChange)="updatePage($event)"\r\n ></ngb-pagination>\r\n </div>\r\n\r\n <div class="col-md-5 col-12">\r\n <mat-paginator\r\n [length]="table.totalData"\r\n [pageSize]="table.pageSize"\r\n [pageIndex]="table.getPageIndex()"\r\n [pageSizeOptions]="[10, 25, 50, 100, 250]"\r\n (page)="updatePage($event)"\r\n >\r\n </mat-paginator>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n',styles:[".billing-list .title{font-size:24px;font-family:Poppins;font-weight:700}.billing-list .sub--title{font-family:Poppins;font-weight:700}.wrapper{display:inline;width:1000px}.font-softer-black mb-0{padding-left:20px}.example-box-total{color:#659cff!important;border:1px solid #659cff;background-color:#e0ebff}.example-box-live{color:#2bca3b!important;border:1px solid #2bca3b;background-color:#e6fde9}.example-box-pending{color:#fb9334!important;border:1px solid #fb9334;background-color:#ffe8d2}::ng-deep .mat-tab-list .mat-tab-labels .mat-tab-label-active{color:#6177c4;font-weight:700}::ng-deep .mat-chip.mat-standard-chip:after{background-color:inherit!important}::ng-deep .mat-tab-group.tabs-billing{width:100%;margin-top:30px}::ng-deep .mat-tab-group.tabs-billing .mat-tab-header{background-color:#fff;border-top-left-radius:8px;border-top-right-radius:8px;box-shadow:rgba(0,0,0,.1) 0 4px 12px}::ng-deep .mat-tab-group.tabs-billing .mat-tab-body-wrapper{min-height:500px;background-color:#fff;border-bottom-left-radius:8px;border-bottom-right-radius:8px;box-shadow:rgba(0,0,0,.1) 0 4px 12px}::ng-deep .mat-paginator.campaign-paginator .mat-paginator-container{align-items:normal}::ng-deep .mat-paginator.campaign-paginator .mat-tab-body{background-color:#fff}::ng-deep .mat-paginator.campaign-paginator .mat-form-field-underline{bottom:0}"]})],t)}(),vt=[{icon:"icon_wa",inputSvgIcon:"icon-wa-gray",image:"whatsapp.png",label:"WhatsApp",value:"WA"},{icon:"menu_sms",inputSvgIcon:"icon-sms-gray",image:"sms.png",label:"SMS",value:"SMS"},{icon:"icon_email",inputSvgIcon:"icon-email-gray",image:"email-contact.png",label:"Email",value:"EMAIL"},{icon:"icon_line",inputSvgIcon:"icon-line-gray",image:"line.png",label:"Line",value:"LINE"}],ft=[{name:"Text",code:"TEXT"},{name:"Media",code:"MEDIA"},{name:"Template",code:"TEMPLATE"}],ht=[{name:"Text",code:"HTML"},{name:"Template",code:"TEMPLATE"}],bt=[{name:"Text",code:"TEXT"},{name:"Template",code:"TEMPLATE"}],yt=[{name:"Image",code:"IMAGE"},{name:"Video",code:"VIDEO"},{name:"Document",code:"DOCUMENT"}],xt=[{title:"Total Campaigns",arrow:"../../../../assets/svg/icon-down-arrow.svg",value:0,date:"",icon:"../../../../assets/svg/icon-total-campaign.svg",dateclass:"redpercent"},{title:"Live Campaigns",arrow:"../../../../assets/svg/icon-down-arrow.svg",value:0,date:"",icon:"../../../../assets/svg/icon-use-campaign.svg",dateclass:"redpercent"},{title:"Pending Approval",arrow:"../../../../assets/svg/icon-down-arrow.svg",value:0,date:"",icon:"../../../../assets/svg/icon-pending-approval-campaign.svg",dateclass:"redpercent"}],St={legend:{icon:"circle",orient:"horizontal",x:"center",y:"bottom"},tooltip:{},dataset:{source:[["","WA Text","WA Template","WA Media","Product Catalog"]]},xAxis:{type:"category"},yAxis:{},series:[{type:"bar",color:"#E666DA"},{type:"bar",color:"#EB7215"},{type:"bar",color:"#F3B435"},{type:"bar",color:"#35CDF3"}]},wt={tooltip:{trigger:"axis"},legend:{icon:"circle",data:["Delivery Rate of Campaigns","Total Number of Campaigns","Cost Distribution"],x:"center",y:"bottom"},xAxis:{type:"category",data:[]},yAxis:{type:"value"},series:[{name:"Delivery Rate of Campaigns",data:[],type:"line",smooth:!0,itemStyle:{normal:{color:"blue"}}},{name:"Total Number of Campaigns",data:[],type:"line",smooth:!0,itemStyle:{normal:{color:"green"}}},{name:"Cost Distribution",data:[],type:"line",smooth:!0,itemStyle:{normal:{color:"#E666DA"}}}]},Ct={WA:!1,SMS:!1,LINE:!1,EMAIL:!1,VOICE:!1},It={WA:!0,SMS:!0,LINE:!0,EMAIL:!0,VOICE:!0},Tt={WA:1,SMS:1,LINE:1,EMAIL:1,VOICE:1},At={WA:[],SMS:[],LINE:[],EMAIL:[],VOICE:[]},Ot={campaignName:[{type:"required",message:"General Information is required"},{type:"maxlength",message:"Maximum character 100"}],medium:[{type:"required",message:"Channel is required"}]},Vt={channel:[{type:"required",message:"Message Type is required"}],from:[{type:"required",message:"From is required"}],text:[{type:"required",message:"Text is required"}],media:[{type:"required",message:"Media Type is required"}],fileName:[{type:"required",message:"File is required"}],template:[{type:"required",message:"Template is required"}],category:[{type:"required",message:"Category is required"}],catalogue:[{type:"required",message:"Catalog is required"}],product:[{type:"required",message:"Product is required"}],body:[{type:"maxlength",message:"Maximum character 100"}]},Pt={channel:[{type:"required",message:"Message Type is required"}],from:[{type:"required",message:"From is required"}],text:[{type:"required",message:"Text is required"}],template:[{type:"required",message:"Template is required"}]},Mt={channel:[{type:"required",message:"Message Type is required"}],from:[{type:"required",message:"From is required"}],text:[{type:"required",message:"Text is required"}],template:[{type:"required",message:"Template is required"}]},Nt={channel:[{type:"required",message:"Message Type is required"}],from:[{type:"required",message:"From is required"}],text:[{type:"required",message:"Text is required"}],template:[{type:"required",message:"Template is required"}]},Dt={interval:[{type:"required",message:"Interval Time is required"},{type:"intervalTime",message:"Must be greater than 0 and without decimal"}],type:[{type:"required",message:"Main Rules is required"}],accountId:[{type:"required",message:"Account is required"}],subject:[{type:"required",message:"Subject is required"}],message:[{type:"required",message:"Message is required"}],templateName:[{type:"required",message:"Template is required"}]},Lt={startDate:[{type:"required",message:"Select Date is required"}],startTime:[{type:"required",message:"Select Time is required"}]};!function(t){t.Today="today",t.Yesterday="yesterday",t.CurrentWeek="currentWeek",t.LastWeek="last week",t.CurrentMonth="currentMonth",t.LastMonth="last month"}(nt||(nt={})),function(t){t.Draft="DRAFT",t.WaitingApproval="APPROVAL",t.Rejected="REJECTED",t.Scheduled="SCHEDULED",t.Stopped="STOPPED",t.Deleted="DELETED",t.Completed="COMPLETED",t.Failed="FAILED",t.Paused="PAUSED",t.Processing="PROCESS"}(at||(at={})),function(t){t.SingleProduct="product"}(rt||(rt={}));var Ft,Et=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.itemsPerPageLabel="Listing per Page",e.getRangeLabel=function(t,e,n){if(0===n||0===e)return"Show 0";var a=t*e;return"Show "+(a+1)+" - "+(a<(n=Math.max(n,0))?Math.min(a+e,n):a+e)},e}return G(n,t),n=J([e.Injectable()],n)}(o.MatPaginatorIntl),Rt=function(t){return t?Object.keys(t).reduce((function(e,n){if(isNaN(Number(n))){var a=new lt,r=n.replace(/([A-Z])/g," $1").replace(/([0-9])/g," $1");a.label=r,isNaN(Number(t[n]))?a.value=t[n]:a.value=Number(t[n]),e.push(a)}return e}),[]):[]},kt=function(){function t(t){this.apiAdapterService=t,this.channelOption=vt,this.businessNameOption=[],this.statusOption=[],this.templateOption=[],this.isHaveNextTemplateOption=!0,this.isLoadingTemplateOption=!1,this.pageNoTemplateOption=1,this.subscribers=[],this.closeDropdown=new e.EventEmitter,this.onChangeFilter=new e.EventEmitter}return t.prototype.ngOnInit=function(){this.statusOption=Rt(at),this.initForm(),this.getBusinessNameOptionService()},t.prototype.initForm=function(){var t,e,n,a,r,i,o,l,s,d,c,p,u,g;this.form=new m.FormGroup({businessName:new m.FormControl((e=null===(t=this.filterValue)||void 0===t?void 0:t.businessName,null!=e?e:"")),medium:new m.FormControl((a=null===(n=this.filterValue)||void 0===n?void 0:n.medium,null!=a?a:"")),templateName:new m.FormControl((i=null===(r=this.filterValue)||void 0===r?void 0:r.templateName,null!=i?i:"")),status:new m.FormControl((l=null===(o=this.filterValue)||void 0===o?void 0:o.status,null!=l?l:"")),startDate:new m.FormControl((d=null===(s=this.filterValue)||void 0===s?void 0:s.startDate,null!=d?d:"")),endDate:new m.FormControl((p=null===(c=this.filterValue)||void 0===c?void 0:c.endDate,null!=p?p:""))}),(null===(u=this.filterValue)||void 0===u?void 0:u.templateName)&&(this.templateOption=Z(this.templateOption,[null===(g=this.filterValue)||void 0===g?void 0:g.templateName]))},t.prototype.getBusinessNameOptionService=function(){var t=this,e=this.apiAdapterService.executeApiRequest([],"/admin/client/all-with-child?pageNo=1&rowPerPage=1000","GET").subscribe((function(e){t.businessNameOption=e.data}));this.subscribers.push(e)},t.prototype.getTemplateOptionService=function(t,e){var n=this;void 0===t&&(t=""),void 0===e&&(e=!1),this.isLoadingTemplateOption=!0;var a=[this.initParam("pageNo",this.pageNoTemplateOption,"number"),this.initParam("rowPerPage",20,"number"),this.initParam("platform",this.form.get("medium").value,"string"),this.initParam("filter",t,"string"),this.initParam("status","APPROVED","string")],r=this.apiAdapterService.executeApiRequest(a,"/message/template","GET").subscribe((function(t){n.templateOption=e?Z(n.templateOption,t.data):t.data,n.isHaveNextTemplateOption=t.haveNext,n.isLoadingTemplateOption=!1}));this.subscribers.push(r)},t.prototype.initParam=function(t,e,n){return{name:t,value:e,in:"query",type:n}},t.prototype.getNextTemplateBatch=function(){this.isHaveNextTemplateOption&&(this.pageNoTemplateOption+=1,this.getTemplateOptionService("",!0))},t.prototype.templateSelectedDisplay=function(t,e){return t&&e&&t.name==e.name?""+t.name:""},t.prototype.templateSearch=function(t){this.pageNoTemplateOption=1,this.getTemplateOptionService(t)},t.prototype.clearDate=function(){this.form.get("startDate").setValue(null),this.form.get("endDate").setValue(null)},t.prototype.validateBackDate=function(){new Date(this.form.get("startDate").value).getTime()>new Date(this.form.get("endDate").value).getTime()&&this.form.get("endDate").setValue("")},t.prototype.onReset=function(){this.form.reset(),this.onChangeFilter.emit(this.form.getRawValue())},t.prototype.onCancel=function(){this.closeDropdown.emit()},t.prototype.onApply=function(){this.onChangeFilter.emit(this.form.getRawValue()),this.closeDropdown.emit()},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:mt}]},t.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new t(e.ɵɵinject(mt))},token:t,providedIn:"root"}),J([e.Output()],t.prototype,"onChangeFilter",void 0),J([e.Output()],t.prototype,"closeDropdown",void 0),J([e.Input()],t.prototype,"filterValue",void 0),t=J([e.Component({selector:"lib-filter-in-list-of-campaign",template:'<p class="font-16px font-bold">Filter</p>\r\n\r\n<form [formGroup]="form"\r\n\tclass="contact-filter">\r\n\t<div class="row">\r\n\t\t<div class="col-md-12 col-12">\r\n\t\t\t<div class="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-70">\r\n\t\t\t\t\t<mat-label>Business Name</mat-label>\r\n\r\n\t\t\t\t\t<mat-select placeholder="Select Business Name"\r\n\t\t\t\t\t\tformControlName="businessName">\r\n\t\t\t\t\t\t<mat-option value=""> --- select none --- </mat-option>\r\n\t\t\t\t\t\t<mat-option *ngFor="let option of businessNameOption"\r\n\t\t\t\t\t\t\t[value]="option.id">\r\n\t\t\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t</mat-select>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class="col-md-12 col-12">\r\n\t\t\t<div class="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-70">\r\n\t\t\t\t\t<mat-label>Channel</mat-label>\r\n\r\n\t\t\t\t\t<mat-select placeholder="Select the Channel"\r\n\t\t\t\t\t\tformControlName="medium">\r\n\t\t\t\t\t\t<mat-option value=""> --- select none --- </mat-option>\r\n\t\t\t\t\t\t<mat-option *ngFor="let option of channelOption"\r\n\t\t\t\t\t\t\t[value]="option.value"\r\n\t\t\t\t\t\t\t(click)="getTemplateOptionService()">\r\n\t\t\t\t\t\t\t{{ option.label }}\r\n\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t</mat-select>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class="col-md-12 col-12">\r\n\t\t\t<div class="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<mat-label class="asterix--after">Template Name</mat-label>\r\n\r\n\t\t\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\t\t\tformControlName="templateName"\r\n\t\t\t\t\t\tplaceholder="Select template"\r\n\t\t\t\t\t\t[complete]="isHaveNextTemplateOption === false"\r\n\t\t\t\t\t\t[compareWith]="templateSelectedDisplay"\r\n\t\t\t\t\t\t(infiniteScroll)="getNextTemplateBatch()">\r\n\t\t\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t\t\t[currentValue]="form?.get(\'templateName\').value?.name"\r\n\t\t\t\t\t\t\t\t(searchRes)="templateSearch($event)"></lib-search>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<mat-option *ngFor="let option of templateOption"\r\n\t\t\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t\t<mat-option *ngIf="isLoadingTemplateOption">Loading...</mat-option>\r\n\t\t\t\t\t</mat-select>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class="col-md-12 col-12">\r\n\t\t\t<div class="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-70">\r\n\t\t\t\t\t<mat-label>Status</mat-label>\r\n\r\n\t\t\t\t\t<mat-select placeholder="Select the Status"\r\n\t\t\t\t\t\tformControlName="status">\r\n\t\t\t\t\t\t<mat-option value=""> --- select none --- </mat-option>\r\n\t\t\t\t\t\t<mat-option *ngFor="let option of statusOption"\r\n\t\t\t\t\t\t\t[value]="option.value">\r\n\t\t\t\t\t\t\t{{ option.label }}\r\n\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t</mat-select>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class="col-md-12 col-12">\r\n\t\t\t<div class="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<mat-label> Start Date </mat-label>\r\n\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\t[matDatepicker]="startDatePicker"\r\n\t\t\t\t\t\tformControlName="startDate"\r\n\t\t\t\t\t\tclass="mat-datepicker-input"\r\n\t\t\t\t\t\t(dateChange)="validateBackDate()" />\r\n\r\n\t\t\t\t\t<mat-datepicker-toggle matSuffix\r\n\t\t\t\t\t\t[for]="startDatePicker"> </mat-datepicker-toggle>\r\n\t\t\t\t\t<mat-icon *ngIf="form.get(\'startDate\').value"\r\n\t\t\t\t\t\tmatDatepickerToggleIcon\r\n\t\t\t\t\t\t(click)="clearDate()">clear</mat-icon>\r\n\t\t\t\t\t<mat-datepicker #startDatePicker></mat-datepicker>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class="col-md-12 col-12">\r\n\t\t\t<div class="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<mat-label> End Date </mat-label>\r\n\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\t[min]="form.get(\'startDate\').value"\r\n\t\t\t\t\t\t[matDatepicker]="endDatePicker"\r\n\t\t\t\t\t\tformControlName="endDate"\r\n\t\t\t\t\t\tclass="mat-datepicker-input"\r\n\t\t\t\t\t\t(dateChange)="validateBackDate()" />\r\n\r\n\t\t\t\t\t<mat-datepicker-toggle matSuffix\r\n\t\t\t\t\t\t[for]="endDatePicker"> </mat-datepicker-toggle>\r\n\t\t\t\t\t<mat-icon *ngIf="form.get(\'endDate\').value"\r\n\t\t\t\t\t\tmatDatepickerToggleIcon\r\n\t\t\t\t\t\t(click)="clearDate()">clear</mat-icon>\r\n\t\t\t\t\t<mat-datepicker #endDatePicker></mat-datepicker>\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div style="display: flex; flex: 1; width: 100%">\r\n\t\t\t<button mat-stroked-button\r\n\t\t\t\tcolor="primary-telin"\r\n\t\t\t\tclass="telin-font-color w-48"\r\n\t\t\t\tstyle="width: 100%; margin-bottom: 10px"\r\n\t\t\t\t(click)="onReset()">\r\n\t\t\t\tReset\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t\t<div class="d-flex justify-content-between">\r\n\t\t\t<button mat-stroked-button\r\n\t\t\t\tcolor="secondary-telin"\r\n\t\t\t\tclass="w-48"\r\n\t\t\t\t(click)="onCancel()">\r\n\t\t\t\tCancel\r\n\t\t\t</button>\r\n\r\n\t\t\t<button mat-flat-button\r\n\t\t\t\tcolor="primary-telin-blue2"\r\n\t\t\t\tclass="w-48"\r\n\t\t\t\t(click)="onApply()">\r\n\t\t\t\tApply\r\n\t\t\t</button>\r\n\t\t</div>\r\n\t</div>\r\n</form>\r\n',styles:[".contact-filter .platform{display:grid;grid-gap:5px;grid-template-columns:auto 1fr auto}.button-row{margin:8px 8px 8px 0}.mat-datepicker-input{width:85%}.mat-icon{position:relative;float:right;top:-7px;cursor:pointer;color:rgba(0,0,0,.54)}"]}),e.Injectable({providedIn:"root"})],t)}(),Bt=function(){function t(){this.subject=new F.Subject}return t.prototype.sendClickEvent=function(){this.subject.next()},t.prototype.getEvent=function(){return this.subject.asObservable()},t.ɵprov=e.ɵɵdefineInjectable({factory:function(){return new t},token:t,providedIn:"root"}),t=J([e.Injectable({providedIn:"root"})],t)}(),qt=function(){},Ut=function(){function t(t,e){this.data=t,this.sharedService=e}var n,a;return t.prototype.deleteRowOn=function(){this.sharedService.sendClickEvent()},t.ctorParameters=function(){return[{type:qt,decorators:[{type:e.Inject,args:[f.MAT_DIALOG_DATA]}]},{type:Bt}]},t=J([e.Component({selector:"app-confirmation",template:'<h2 mat-dialog-title\r\n\tclass="font-sbold text-center">\r\n\t{{ data?.title }}\r\n</h2>\r\n\r\n<mat-dialog-content class="confirmation-content">\r\n\t<div [innerHTML]="data?.content"\r\n\t\tclass="text-center"></div>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions class="confirmation-actions mt-4">\r\n\t<button *ngIf="data?.btnCancel"\r\n\t\tmat-stroked-button\r\n\t\tcolor="secondary-telin"\r\n\t\tclass="w-48"\r\n\t\tmat-dialog-close>\r\n\t\t{{ data?.btnCancel }}\r\n\t</button>\r\n\r\n\t<button *ngIf="data?.btnSubmit"\r\n\t\tmat-flat-button\r\n\t\tcolor="primary-telin-blue2"\r\n\t\tclass="w-48"\r\n\t\t[mat-dialog-close]="true"\r\n\t\t(click)="deleteRowOn()">\r\n\t\t{{ data?.btnSubmit }}\r\n\t</button>\r\n\r\n\t<button mat-flat-button\r\n\t\t*ngIf="data?.btnSubmitRed"\r\n\t\tclass="font-bold telin-bg-color w-48 text-white"\r\n\t\tcolor="primary-telin"\r\n\t\t[mat-dialog-close]="true"\r\n\t\t(click)="deleteRowOn()">\r\n\t\t{{ data?.btnSubmitRed }}\r\n\t</button>\r\n</mat-dialog-actions>\r\n',styles:["::ng-deep .mat-dialog-container .mat-dialog-actions.confirmation-actions{margin-bottom:-10px}"]}),(n=0,a=e.Inject(f.MAT_DIALOG_DATA),function(t,e){a(t,e,n)})],t)}(),zt=function(){function t(t,e,n){this.dialogRef=t,this.apiAdapterService=e,this.toastr=n,this.isLoading=!1,this.isSubmit=!1,this.isShowButton=!1,this.subscribers=[]}return t.prototype.ngOnInit=function(){var t,e,n;this.getCampaignDetailService(),this.isShowButton=null!=(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.isShowButton)&&n},Object.defineProperty(t.prototype,"getCampaignStorage",{get:function(){return localStorage.getItem("telin.campaign")?JSON.parse(localStorage.getItem("telin.campaign")):{}},enumerable:!0,configurable:!0}),t.prototype.convertUTCDateToLocalDate=function(t){return new Date(t.getTime()-60*t.getTimezoneOffset()*1e3)},t.prototype.getCampaignDetailService=function(){var t,e,n,a,r=this;if(null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.id){this.isLoading=!0;var i=this.apiAdapterService.executeApiRequest([],"/campaign/"+(null===(a=null===(n=this.getCampaignStorage)||void 0===n?void 0:n.generalInformation)||void 0===a?void 0:a.id),"GET").subscribe((function(t){var e,n,a,i,o,l,s,d,m,c,p,u,g,v,f,h,b,y,x,S,w,C,I,T,A,O,V,P,M,N,D,L,F,E,R,k,B,q,U,z,j,H,W,_,G,J,Y,X,K,Q,tt,et,nt,at,rt,it,ot,lt,st,dt,mt,ct,pt,ut,gt,vt,ft,ht,bt,yt,xt,St,wt,Ct,It,Tt,At,Ot,Vt,Pt,Mt,Nt,Dt,Lt,Ft;if(t){var Et={campaignName:null===(e=t.data)||void 0===e?void 0:e.name,medium:null===(n=t.data)||void 0===n?void 0:n.platform,channel:["image","video","document"].includes(null===(a=t.data)||void 0===a?void 0:a.type)?"MEDIA":null===(o=null===(i=t.data)||void 0===i?void 0:i.type)||void 0===o?void 0:o.toUpperCase(),media:null===(s=null===(l=t.data)||void 0===l?void 0:l.type)||void 0===s?void 0:s.toUpperCase(),from:{id:null===(d=t.data)||void 0===d?void 0:d.accountId,name:null===(m=t.data)||void 0===m?void 0:m.accountName,platform:null===(c=t.data)||void 0===c?void 0:c.platform,clientId:null===(p=t.data)||void 0===p?void 0:p.clientId,clientName:null===(u=t.data)||void 0===u?void 0:u.clientName,accountNo:null===(g=t.data)||void 0===g?void 0:g.accountNo,wabaId:(f=null===(v=t.data)||void 0===v?void 0:v.wabaId,null!=f?f:"")},text:null===(b=null===(h=t.data)||void 0===h?void 0:h.details)||void 0===b?void 0:b.text,targetURL:(w=null===(S=null===(x=null===(y=t.data)||void 0===y?void 0:y.details)||void 0===x?void 0:x.image)||void 0===S?void 0:S.url,A=null!=w?w:null===(T=null===(I=null===(C=t.data)||void 0===C?void 0:C.details)||void 0===I?void 0:I.document)||void 0===T?void 0:T.url,M=null!=A?A:null===(P=null===(V=null===(O=t.data)||void 0===O?void 0:O.details)||void 0===V?void 0:V.video)||void 0===P?void 0:P.url,null!=M?M:null===(L=null===(D=null===(N=t.data)||void 0===N?void 0:N.details)||void 0===D?void 0:D.template)||void 0===L?void 0:L.headerURL),paramHeader:null===(R=null===(E=null===(F=t.data)||void 0===F?void 0:F.details)||void 0===E?void 0:E.template)||void 0===R?void 0:R.header,paramBody:null===(q=null===(B=null===(k=t.data)||void 0===k?void 0:k.details)||void 0===B?void 0:B.template)||void 0===q?void 0:q.data,paramButton:null===(j=null===(z=null===(U=t.data)||void 0===U?void 0:U.details)||void 0===z?void 0:z.template)||void 0===j?void 0:j.button,otpValue:null===(J=Z((G=null===(_=null===(W=null===(H=t.data)||void 0===H?void 0:H.details)||void 0===W?void 0:W.template)||void 0===_?void 0:_.data,null!=G?G:[])))||void 0===J?void 0:J.pop(),template:{ID:null===(K=null===(X=null===(Y=t.data)||void 0===Y?void 0:Y.details)||void 0===X?void 0:X.template)||void 0===K?void 0:K.id,name:null===(et=null===(tt=null===(Q=t.data)||void 0===Q?void 0:Q.details)||void 0===tt?void 0:tt.template)||void 0===et?void 0:et.name,lang:null===(rt=null===(at=null===(nt=t.data)||void 0===nt?void 0:nt.details)||void 0===at?void 0:at.template)||void 0===rt?void 0:rt.lang,platform:null===(it=t.data)||void 0===it?void 0:it.platform,headerURL:null===(st=null===(lt=null===(ot=t.data)||void 0===ot?void 0:ot.details)||void 0===lt?void 0:lt.template)||void 0===st?void 0:st.headerURL,header:{examples:null===(ct=null===(mt=null===(dt=t.data)||void 0===dt?void 0:dt.details)||void 0===mt?void 0:mt.template)||void 0===ct?void 0:ct.header},body:{examples:null===(gt=null===(ut=null===(pt=t.data)||void 0===pt?void 0:pt.details)||void 0===ut?void 0:ut.template)||void 0===gt?void 0:gt.data},buttons:null===(ht=null===(ft=null===(vt=t.data)||void 0===vt?void 0:vt.details)||void 0===ft?void 0:ft.template)||void 0===ht?void 0:ht.button,ClientId:null===(bt=t.data)||void 0===bt?void 0:bt.clientId,ClientName:null===(yt=t.data)||void 0===yt?void 0:yt.clientName},isUpload:""!==(null===(xt=t.data)||void 0===xt?void 0:xt.fileId),fileId:null===(St=t.data)||void 0===St?void 0:St.fileId};localStorage.setItem("telin.campaign",JSON.stringify($($({},r.getCampaignStorage),{generalInformation:{id:null===(wt=t.data)||void 0===wt?void 0:wt.id,form:Et},failover:null===(Ct=t.data)||void 0===Ct?void 0:Ct.failover,targetAudience:null===(It=t.data)||void 0===It?void 0:It.targets,targetAudienceFile:{name:null===(Tt=t.data)||void 0===Tt?void 0:Tt.fileName,targetURL:null===(At=t.data)||void 0===At?void 0:At.targetURL},scheduler:{schedulerType:"MULTI"===(null===(Ot=t.data)||void 0===Ot?void 0:Ot.scheduleType)?"ONE_TIME":null===(Vt=t.data)||void 0===Vt?void 0:Vt.scheduleType,startDate:null===(Mt=null===(Pt=t.data)||void 0===Pt?void 0:Pt.startTime)||void 0===Mt?void 0:Mt.split(" ")[0],startTime:null===(Dt=null===(Nt=t.data)||void 0===Nt?void 0:Nt.startTime)||void 0===Dt?void 0:Dt.split(" ")[1],isRepeat:"MULTI"===(null===(Lt=t.data)||void 0===Lt?void 0:Lt.scheduleType),delivery:null===(Ft=t.data)||void 0===Ft?void 0:Ft.repeat}}))),r.isLoading=!1}}),(function(){r.isLoading=!1}));this.subscribers.push(i)}},t.prototype.rejectCampaignService=function(){var t,e,n=this;this.isSubmit=!0;var a=this.apiAdapterService.executeApiRequest([],"/campaign/"+(null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.id)+"/reject","POST").subscribe((function(t){var e;if(n.isSubmit=!1,!t||!(null===(e=t)||void 0===e?void 0:e.data))return n.toastr.error("Error Rejecting Campaign!");n.toastr.success("Campaign Rejected Successfully!"),n.onClose()}),(function(){n.toastr.error("Error Rejecting Campaign!"),n.isSubmit=!1}));this.subscribers.push(a)},t.prototype.approveCampaignService=function(){var t,e,n=this;this.isSubmit=!0;var a=this.apiAdapterService.executeApiRequest([],"/campaign/"+(null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.id)+"/approve","POST").subscribe((function(t){var e;if(n.isSubmit=!1,!t||!(null===(e=t)||void 0===e?void 0:e.data))return n.toastr.error("Error Approving Campaign!");n.toastr.success("Campaign Approved Successfully!"),n.onClose()}),(function(){n.toastr.error("Error Approving Campaign!"),n.isSubmit=!1}));this.subscribers.push(a)},t.prototype.onClose=function(){localStorage.removeItem("telin.campaign"),this.dialogRef.close()},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:f.MatDialogRef},{type:mt},{type:s.ToastrService}]},t=J([e.Component({selector:"lib-pending-approval-dialog-view",template:'<div mat-dialog-title\r\n\tclass="d-flex justify-content-between align-items-center">\r\n\t<h2 class="font-PoppinsBold font-24px">Summary</h2>\r\n\r\n\t<button mat-button\r\n\t\t(click)="onClose()">\r\n\t\t<mat-icon class="icon-menu">close</mat-icon>\r\n\t</button>\r\n</div>\r\n\r\n<mat-dialog-content class="campaign-view">\r\n\t<ng-container *ngIf="!isLoading; else isSpinner">\r\n\t\t<div *ngIf="isSubmit"\r\n\t\t\tclass="overlay-bg">\r\n\t\t\t<img src="../../../../../assets/images/spinner.svg"\r\n\t\t\t\tclass="overlay-bg__center" />\r\n\t\t</div>\r\n\t\t<lib-new-campaign-summary [isShowLabel]="true"></lib-new-campaign-summary>\r\n\t</ng-container>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n\t<button mat-stroked-button\r\n\t\tcolor="secondary-telin"\r\n\t\t[disabled]="isSubmit"\r\n\t\t(click)="onClose()">\r\n\t\tCancel\r\n\t</button>\r\n\r\n\t<ng-container *ngIf="isShowButton">\r\n\t\t<button mat-flat-button\r\n\t\t\tcolor="primary-telin"\r\n\t\t\tclass="font-bold telin-bg-color"\r\n\t\t\tstyle="color: white"\r\n\t\t\t[disabled]="isSubmit"\r\n\t\t\t(click)="rejectCampaignService()">\r\n\t\t\tReject\r\n\t\t</button>\r\n\r\n\t\t<button mat-flat-button\r\n\t\t\tcolor="primary-telin-blue2"\r\n\t\t\t[disabled]="isSubmit"\r\n\t\t\t(click)="approveCampaignService()">\r\n\t\t\tApprove\r\n\t\t</button>\r\n\t</ng-container>\r\n</mat-dialog-actions>\r\n\r\n<ng-template #isSpinner>\r\n\t<div class="text-center my-auto">\r\n\t\t<img src="../../../../../assets/images/spinner.svg" />\r\n\t</div>\r\n</ng-template>\r\n',styles:["::ng-deep .mat-dialog-content.campaign-view{max-height:100%;overflow-x:hidden}.overlay-bg{position:absolute;top:18px;left:18px;right:28px;bottom:18px;z-index:99;background-color:rgba(0,0,0,.25);border-radius:16px}.overlay-bg__center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}"]})],t)}(),jt=function(){function t(t,n,a){this.dialog=t,this.apiAdapterService=n,this.toastr=a,this.currentView=new e.EventEmitter,this.updateTable=new e.EventEmitter,this.currentViews=K,this.subscribers=[]}return t.prototype.ngOnInit=function(){},t.prototype.sort=function(){this.table.dataSource.sort=this.matSort},t.prototype.actionRow=function(t,e){switch(e){case"pause":this.campaignConfirmationDialog(t.id,{title:"Pause Campaign",content:"Are you sure you want to Pause this Campaign?",url:"/campaign/"+t.id+"/pause",method:"POST",message:"Selected campaign is successfully paused"});break;case"stop":this.campaignConfirmationDialog(t.id,{title:"Stop Campaign",content:"Are you sure you want to Stop this Campaign?",url:"/campaign/"+t.id+"/stop",method:"POST",message:"Selected campaign is successfully stop"});break;case"delete":"COMPLETED"!==t.status&&this.campaignConfirmationDialog(t.id,{title:"Delete Campaign",content:"Are you sure you want to Delete this Campaign?",url:"/campaign/"+t.id+"/delete",method:"DELETE",message:"Selected campaign is successfully deleted"});break;case"live":this.campaignConfirmationDialog(t.id,{title:"Resume Campaign",content:"Are you sure you want to Resume this Campaign?",url:"/campaign/"+t.id+"/resume",method:"POST",message:"Selected campaign is successfully resume"})}},t.prototype.campaignConfirmationDialog=function(t,e){var n=this,a=new qt;a.title=e.title,a.content=e.content,a.btnSubmit="Yes",a.btnCancel="No";var r=this.dialog.open(Ut,{autoFocus:!1,backdropClass:"overlay-backdrop-dialog",data:a}).afterClosed().subscribe((function(t){t&&n.campaignService(e)}));this.subscribers.push(r)},t.prototype.campaignService=function(t){var e=this,n=this.apiAdapterService.executeApiRequest([],t.url,t.method).subscribe((function(){e.toastr.error(t.message),e.updateTable.emit()}));this.subscribers.push(n)},t.prototype.editCampaign=function(t){localStorage.removeItem("telin.campaign"),window.history.replaceState({},"","/secure/campaign/"+t.id),this.currentView.emit(this.currentViews.NewCampaign)},t.prototype.openViewDialog=function(t,e){var n,a=this;void 0===e&&(e=!1),localStorage.setItem("telin.campaign",JSON.stringify({generalInformation:{id:null===(n=t)||void 0===n?void 0:n.id,isShowButton:e}}));var r=this.dialog.open(zt,{autoFocus:!1,height:"calc(100% - 30px)",width:"calc(100% - 30px)",maxWidth:"100%",maxHeight:"100%",backdropClass:"overlay-backdrop-dialog"}).afterClosed().subscribe((function(){a.updateTable.emit()}));this.subscribers.push(r)},t.prototype.convertUTCDateToLocalDate=function(t){return new Date(t.getTime()-60*t.getTimezoneOffset()*1e3)},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:f.MatDialog},{type:mt},{type:s.ToastrService}]},J([e.Output()],t.prototype,"currentView",void 0),J([e.Output()],t.prototype,"updateTable",void 0),J([e.Input()],t.prototype,"table",void 0),J([e.ViewChild(O.MatSort,{static:!1})],t.prototype,"matSort",void 0),t=J([e.Component({selector:"lib-viewing-list-of-campaign-table",template:'<div class="account-table">\r\n <div class="table-responsive">\r\n <table\r\n mat-table\r\n matSort\r\n matSortDisableClear\r\n class="table w-100 mb-2"\r\n [dataSource]="table.dataSource"\r\n (matSortChange)="sort()"\r\n >\r\n <ng-container\r\n *ngFor="let index of [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]"\r\n [matColumnDef]="table.columns[index]"\r\n >\r\n <th *matHeaderCellDef [mat-sort-header]="table.columns[index]">\r\n {{ table.labels[index] }}\r\n\r\n <span\r\n *ngIf="index === 7"\r\n [matTooltip]="\r\n \'Total number of messages that have been processed for this broadcast, but still waiting to receive the delivery statuses\'\r\n "\r\n >\r\n <mat-icon class="icon-menu font-16px">info</mat-icon>\r\n </span>\r\n <span\r\n *ngIf="index === 8"\r\n [matTooltip]="\r\n \'The total number of messages that have been successfully sent out to the contacts in the broadcast messaging\'\r\n "\r\n >\r\n <mat-icon class="icon-menu font-16px">info</mat-icon>\r\n </span>\r\n <span\r\n *ngIf="index === 9"\r\n [matTooltip]="\r\n \'The total number of messages that have been successfully delivered to the recipients devices\'\r\n "\r\n >\r\n <mat-icon class="icon-menu font-16px">info</mat-icon>\r\n </span>\r\n <span\r\n *ngIf="index === 10"\r\n [matTooltip]="\r\n \'The total number of messages that have been opened and read by the recipients\'\r\n "\r\n >\r\n <mat-icon class="icon-menu font-16px">info</mat-icon>\r\n </span>\r\n <span\r\n *ngIf="index === 11"\r\n [matTooltip]="\r\n \'The total number of messages that have been failed sent out to the contacts in the broadcast messaging\'\r\n "\r\n >\r\n <mat-icon class="icon-menu font-16px">info</mat-icon>\r\n </span>\r\n </th>\r\n\r\n <td *matCellDef="let row">\r\n <ng-container *ngIf="index === 8">\r\n {{ row.sentCount + row.platformQueueCount }}\r\n </ng-container>\r\n <ng-container *ngIf="index !== 8">\r\n {{ row[table.columns[index]] }}\r\n\r\n <span\r\n *ngIf="index === 5 && row.status === \'FAILED\'"\r\n class="tooltip-toggle"\r\n [attr.aria-label]="row.detailFailed"\r\n tabindex="0"\r\n >\r\n <mat-icon class="icon-menu font-16px" style="color: #ed1c24"\r\n >info</mat-icon\r\n >\r\n </span>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container [matColumnDef]="table.columns[15]">\r\n <th *matHeaderCellDef>\r\n {{ table.labels[15] }}\r\n </th>\r\n\r\n <td *matCellDef="let row" class="d-flex border-bottom-0">\r\n <ng-container *ngIf="row.status === \'DRAFT\' || row.status === \'APPROVAL\'">\r\n <mat-icon\r\n class="icon-menu pointer w-18px mr-3"\r\n (click)="openViewDialog(row, row.status === \'APPROVAL\')"\r\n >visibility</mat-icon\r\n >\r\n\r\n <mat-icon\r\n class="icon-menu pointer w-18px mr-3"\r\n svgIcon="icon_edit"\r\n (click)="editCampaign(row)"\r\n ></mat-icon>\r\n\r\n <mat-icon\r\n class="icon-menu pointer w-18px mr-3"\r\n svgIcon="icon_delete"\r\n (click)="actionRow(row, \'delete\')"\r\n ></mat-icon>\r\n </ng-container>\r\n\r\n <mat-icon\r\n *ngIf="row.status === \'PAUSED\'"\r\n class="icon-menu live-color pointer w-18px mr-3"\r\n (click)="actionRow(row, \'live\')"\r\n >play_arrow</mat-icon\r\n >\r\n\r\n <mat-icon\r\n *ngIf="row.status === \'SCHEDULED\'"\r\n class="icon-menu pause-color pointer w-18px mr-3"\r\n (click)="actionRow(row, \'pause\')"\r\n >pause</mat-icon\r\n >\r\n\r\n <mat-icon\r\n *ngIf="row.status === \'SCHEDULED\' || row.status === \'PAUSED\'"\r\n class="icon-menu stop-color pointer w-18px mr-3"\r\n (click)="actionRow(row, \'stop\')"\r\n >stop</mat-icon\r\n >\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef="no-content">\r\n <th class="text-center" *matHeaderCellDef [colSpan]="table.columns.length">\r\n Data Not Available\r\n </th>\r\n </ng-container>\r\n\r\n <tr mat-header-row *matHeaderRowDef="table.columns"></tr>\r\n\r\n <tr\r\n mat-header-row\r\n class="no-content"\r\n *matHeaderRowDef="[\'no-content\']"\r\n [style.display]="table.dataSource?.data?.length === 0 ? \'table-row\' : \'none\'"\r\n ></tr>\r\n\r\n <tr mat-row *matRowDef="let row; columns: table.columns"></tr>\r\n </table>\r\n </div>\r\n</div>\r\n',styles:[".w-18px{width:18px}.stop-color{color:orange}.pause-color{background-color:#e9f5f9;color:#0089ab;opacity:25%}.live-color{background-color:#e9f9f2;color:#0089ab;opacity:25%}.tooltip-toggle{cursor:pointer;position:relative}.tooltip-toggle::before{position:absolute;top:-60px;left:-80px;background-color:#2b222a;border-radius:5px;content:attr(aria-label);padding:1rem;text-transform:none;transition:.5s;width:auto}.tooltip-toggle::after,.tooltip-toggle::before{color:#efefef;font-family:monospace;font-size:16px;opacity:0;pointer-events:none;text-align:center}.tooltip-toggle:focus::after,.tooltip-toggle:focus::before,.tooltip-toggle:hover::after,.tooltip-toggle:hover::before{opacity:1;transition:.75s}"]})],t)}(),Ht=function(){function t(){}return t=J([e.NgModule({declarations:[jt,kt,gt,ot],imports:[a.CommonModule,m.FormsModule,m.ReactiveFormsModule,b.MatFormFieldModule,S.MatInputModule,v.MatDatepickerModule,V.MatTableModule,O.MatSortModule,o.MatPaginatorModule,f.MatDialogModule,P.MatTabsModule,i.MatCardModule,g.MatCheckboxModule,T.MatSelectModule,I.MatRadioModule,u.MatButtonModule,x.MatIconModule,R.MatChipsModule,D.NgbPaginationModule,D.NgbDropdownModule,R.MatChipsModule,y.MatGridListModule,k.MatNativeDateModule,et,B.MatToolbarModule,q.MatTooltipModule],exports:[gt,ot]})],t)}(),Wt=function(){function t(t){this.apiAdapterService=t,this.currentViews=K,this.pastTime=nt,this.channelOption=vt,this.performanceCategories=[],this.totalCmpn=[],this.deliveryRt=[],this.costDesc=[],this.convsData=[],this.widgetLiveCampaign=xt,this.selectedPlatform="",this.filterEvent="currentWeek",this.subscribers=[],this.currentView=new e.EventEmitter}return t.prototype.ngOnInit=function(){},t.prototype.changeCurrentView=function(t){this.currentView.emit(t)},t.prototype.filterChart=function(t){var e=this;if(this.selectedPlatform){var n=t==nt.Today?"daily":t==nt.CurrentWeek?"weekly":t==nt.CurrentMonth?"monthly":"",a=this.apiAdapterService.executeApiRequest([],"/campaign/count","GET").subscribe((function(n){var a,r,i,o,l,s,d,m,c,p,u,g,v,f,h,b,y,x,S,w,C,I,T,A,O=(null!=(i=null===(r=null===(a=n)||void 0===a?void 0:a.data)||void 0===r?void 0:r.totalCampaignPercent)?i:0)+"% Since "+e.getStatictsWidgetString(t);e.widgetLiveCampaign[0].arrow=(null===(l=null===(o=n)||void 0===o?void 0:o.data)||void 0===l?void 0:l.totalCampaignPercent)>0?"../../../../assets/svg/icon-up-arrow.svg":"../../../../assets/svg/icon-down-arrow.svg",e.widgetLiveCampaign[0].value=null!=(m=null===(d=null===(s=n)||void 0===s?void 0:s.data)||void 0===d?void 0:d.totalCampaign)?m:0,e.widgetLiveCampaign[0].date=O,e.widgetLiveCampaign[0].dateclass=(null===(p=null===(c=n)||void 0===c?void 0:c.data)||void 0===p?void 0:p.totalCampaignPercent)>0?"greenpercent":"redpercent",e.widgetLiveCampaign[1].arrow=(null===(g=null===(u=n)||void 0===u?void 0:u.data)||void 0===g?void 0:g.totalCampaignPercent)>0?"../../../../assets/svg/icon-up-arrow.svg":"../../../../assets/svg/icon-down-arrow.svg",e.widgetLiveCampaign[1].value=null!=(h=null===(f=null===(v=n)||void 0===v?void 0:v.data)||void 0===f?void 0:f.totalLive)?h:0,e.widgetLiveCampaign[1].date=O,e.widgetLiveCampaign[1].dateclass=(null===(y=null===(b=n)||void 0===b?void 0:b.data)||void 0===y?void 0:y.totalCampaignPercent)>0?"greenpercent":"redpercent",e.widgetLiveCampaign[2].arrow=(null===(S=null===(x=n)||void 0===x?void 0:x.data)||void 0===S?void 0:S.totalCampaignPercent)>0?"../../../../assets/svg/icon-up-arrow.svg":"../../../../assets/svg/icon-down-arrow.svg",e.widgetLiveCampaign[2].value=null!=(I=null===(C=null===(w=n)||void 0===w?void 0:w.data)||void 0===C?void 0:C.totalPending)?I:0,e.widgetLiveCampaign[2].date=O,e.widgetLiveCampaign[2].dateclass=(null===(A=null===(T=n)||void 0===T?void 0:T.data)||void 0===A?void 0:A.totalCampaignPercent)>0?"greenpercent":"redpercent"}));this.subscribers.push(a),this.getPerformanceDetails(n),this.getConversationDetails(n)}},t.prototype.getPerformanceDetails=function(t){var e=this;if(this.selectedPlatform){this.setPerformanceChartData();var n=[{name:"timeUnit",value:t,in:"query",type:"String"},{name:"clientId",value:localStorage.getItem("telin.clientId"),in:"query",type:"String"},{name:"platform",value:"WHATSAPP"===this.selectedPlatform?"WA":this.selectedPlatform,in:"query",type:"String"}],a=this.apiAdapterService.executeApiRequest(n,"/report/campaign/performance","GET").subscribe((function(t){var n,a,r,i,o,l,s,d;if(e.performanceCategories=[],e.totalCmpn=[],e.deliveryRt=[],e.costDesc=[],(null===(o=t)||void 0===o?void 0:o.data)&&0!==Object.entries(t.data).length){try{for(var m=Y(t.data.categories),c=m.next();!c.done;c=m.next()){var p=c.value;e.performanceCategories.push(p)}}catch(t){n={error:t}}finally{try{c&&!c.done&&(a=m.return)&&a.call(m)}finally{if(n)throw n.error}}try{for(var u=Y(t.data.series),g=u.next();!g.done;g=u.next()){var v=g.value;"Total Campaign"===v.name?e.totalCmpn=null===(l=v.data)||void 0===l?void 0:l.map((function(t){return t})):"Delivery Rate"===v.name?e.deliveryRt=null===(s=v.data)||void 0===s?void 0:s.map((function(t){return t})):"Cost Distribution"===v.name&&(e.costDesc=null===(d=v.data)||void 0===d?void 0:d.map((function(t){return t})))}}catch(t){r={error:t}}finally{try{g&&!g.done&&(i=u.return)&&i.call(u)}finally{if(r)throw r.error}}e.setPerformanceChartData()}}));this.subscribers.push(a)}},t.prototype.setPerformanceChartData=function(){this.performanceChartData=wt,this.performanceChartData.xAxis.data=this.performanceCategories,this.performanceChartData.series[0].data=this.deliveryRt,this.performanceChartData.series[1].data=this.totalCmpn,this.performanceChartData.series[2].data=this.costDesc},t.prototype.getConversationDetails=function(t){var e=this;if(this.selectedPlatform){this.setConversationChartData();var n=[{name:"timeUnit",value:t,in:"query",type:"String"},{name:"clientId",value:localStorage.getItem("telin.clientId"),in:"query",type:"String"},{name:"platform",value:"WHATSAPP"===this.selectedPlatform?"WA":this.selectedPlatform,in:"query",type:"String"}],a=this.apiAdapterService.executeApiRequest(n,"/report/campaign/conversation","GET").subscribe((function(t){var n,a,r;if(e.convsData=[],null===(n=t)||void 0===n?void 0:n.data){for(var i=0;i<(null===(a=t.data.categories)||void 0===a?void 0:a.length);i++){e.convsData[i]=new Array,e.convsData[i].push(t.data.categories[i]);for(var o=1;o<=(null===(r=t.data.series)||void 0===r?void 0:r.length);o++)e.convsData[i].push(t.data.series[o-1].data[i])}e.setConversationChartData()}}));this.subscribers.push(a)}},t.prototype.setConversationChartData=function(){var t=this;this.conversationChartData=St,this.convsData.forEach((function(e){e&&t.conversationChartData.dataset.source.push(e)}))},t.prototype.getStatictsWidgetString=function(t){return t==nt.Today?nt.Yesterday:t==nt.CurrentWeek?nt.LastWeek:t==nt.CurrentMonth?nt.LastMonth:""},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:mt}]},J([e.Output()],t.prototype,"currentView",void 0),t=J([e.Component({selector:"lib-dashboard",template:'<section class="dashboard-container">\r\n\t<h2 class="font-PoppinsBold font-32px">Campaign</h2>\r\n\r\n\t<p class="font-PoppinsLight">Welcome to your Campaign Dashboard!</p>\r\n\r\n\t<div class="d-flex align-items-center w-100 mb-4">\r\n\t\t<mat-grid-list cols="2"\r\n\t\t\trowHeight="50px">\r\n\t\t\t<mat-button-toggle-group name="fontStyle"\r\n\t\t\t\taria-label="Font Style"\r\n\t\t\t\tvalue="week">\r\n\t\t\t\t<mat-button-toggle (click)="filterChart(pastTime.Today)"\r\n\t\t\t\t\tvalue="day">\r\n\t\t\t\t\tToday\r\n\t\t\t\t</mat-button-toggle>\r\n\t\t\t\t<mat-button-toggle (click)="filterChart(pastTime.CurrentWeek)"\r\n\t\t\t\t\tvalue="week">\r\n\t\t\t\t\tCurrent Week\r\n\t\t\t\t</mat-button-toggle>\r\n\t\t\t\t<mat-button-toggle (click)="filterChart(pastTime.CurrentMonth)"\r\n\t\t\t\t\tvalue="month">\r\n\t\t\t\t\tCurrent Month\r\n\t\t\t\t</mat-button-toggle>\r\n\t\t\t</mat-button-toggle-group>\r\n\t\t</mat-grid-list>\r\n\r\n\t\t<div class="px-5">\r\n\t\t\t<span> Channel: </span>\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tclass="w-50">\r\n\t\t\t\t<mat-select placeholder="Choose .."\r\n\t\t\t\t\t[(ngModel)]="selectedPlatform">\r\n\t\t\t\t\t<mat-option *ngFor="let option of channelOption"\r\n\t\t\t\t\t\t[value]="option.value"\r\n\t\t\t\t\t\t(click)="filterChart(filterEvent)">\r\n\t\t\t\t\t\t{{ option.label }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class="d-flex gap-4">\r\n\t\t<div class="left-side">\r\n\t\t\t<div class="d-flex justify-content-between gap-4">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<h5 class="font-PoppinsBold font-24px mb-3">\r\n\t\t\t\t\t\tDeliver more engaging campaigns to your customers on WhatsApp\r\n\t\t\t\t\t</h5>\r\n\r\n\t\t\t\t\t<p class="mb-3">\r\n\t\t\t\t\t\tTurn conversations into sales, generate more qualified leads and recommend the right\r\n\t\t\t\t\t\tproduct or services!\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<img src="../../../../assets/svg/bg_widget_campaign.svg"\r\n\t\t\t\t\talt="communicate" />\r\n\t\t\t</div>\r\n\r\n\t\t\t<button mat-flat-button\r\n\t\t\t\ttype="button"\r\n\t\t\t\tcolor="primary-telin-blue2"\r\n\t\t\t\tstyle="height: 42px"\r\n\t\t\t\t(click)="changeCurrentView(currentViews.CampaignIndex)">\r\n\t\t\t\tGo to Broadcast Messaging\r\n\t\t\t</button>\r\n\t\t</div>\r\n\r\n\t\t<div class="right-side">\r\n\t\t\t<div class="d-flex gap-4">\r\n\t\t\t\t<div *ngFor="let widgetLive of widgetLiveCampaign"\r\n\t\t\t\t\tclass="widget-card">\r\n\t\t\t\t\t<img style="width: 56px"\r\n\t\t\t\t\t\t[src]="widgetLive.icon"\r\n\t\t\t\t\t\t[alt]="widgetLive.title" />\r\n\r\n\t\t\t\t\t<p class="font-PoppinsLight mt-3">{{ widgetLive.title }}</p>\r\n\r\n\t\t\t\t\t<p class="d-flex align-items-center">\r\n\t\t\t\t\t\t<span class="font-PoppinsBold font-36px mr-2"\r\n\t\t\t\t\t\t\tstyle="font-size: 36px">\r\n\t\t\t\t\t\t\t{{ widgetLive.value }}\r\n\t\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t\t<img style="margin-top: 5px"\r\n\t\t\t\t\t\t\twidth="25"\r\n\t\t\t\t\t\t\t[src]="widgetLive.arrow" />\r\n\t\t\t\t\t</p>\r\n\r\n\t\t\t\t\t<span class="font-10px"\r\n\t\t\t\t\t\t[classList]="widgetLive.dateclass">\r\n\t\t\t\t\t\t{{ widgetLive.date }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class="d-flex gap-4 mt-4">\r\n\t\t<div class="card left-card w-50">\r\n\t\t\t<div class="card-body">\r\n\t\t\t\t<p class="font-PoppinsBold font-20px">Campaign\'s Performance</p>\r\n\r\n\t\t\t\t<div echarts\r\n\t\t\t\t\tclass="demo-chart"\r\n\t\t\t\t\t[options]="performanceChartData"></div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class="card left-card w-50">\r\n\t\t\t<div class="card-body">\r\n\t\t\t\t<p class="font-PoppinsBold font-20px">Conversation Insights</p>\r\n\r\n\t\t\t\t<div id="chart">\r\n\t\t\t\t\t<div echarts\r\n\t\t\t\t\t\tclass="demo-chart"\r\n\t\t\t\t\t\t[options]="conversationChartData"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</section>\r\n',styles:[".dashboard-container{width:100%;padding:24px}.dashboard-container .mat-button-toggle-group{border-radius:15px}.dashboard-container .mat-button-toggle{background-color:#fff;color:#000}.dashboard-container .mat-button-toggle-checked{background:#ed1c24;color:#fff}.dashboard-container .mat-button-toggle-label-content:visited{color:#fff}.dashboard-container .left-side{flex:50%;min-height:231px;padding:24px;border-radius:10px;background-color:#fff;box-shadow:12px 12px 20px rgba(44,59,113,.04)}.dashboard-container .right-side{flex:50%}.dashboard-container .widget-card{width:39%;min-height:231px;padding:24px;border-radius:10px;background-color:#fff;box-shadow:12px 12px 20px rgba(44,59,113,.04)}.dashboard-container .line-chart{height:65vh;width:70%;margin-left:2%;background-color:#fff;border-radius:15px;margin-bottom:50px;margin-right:20px;padding:30px}.dashboard-container .doughnut-chart{margin-right:2%;border-radius:15px;height:65vh;background-color:#fff;width:22.5%;margin-bottom:20px;padding:40px}.dashboard-container .greenpercent{color:green}.dashboard-container .redpercent{color:red}.dashboard-container .left-card{box-shadow:12px 12px 20px rgba(44,59,113,.04);border-radius:8px;border-style:none}.dashboard-container .left-card .card-body{min-height:440px}"]})],t)}(),_t=function(){function t(){}return t=J([e.NgModule({declarations:[Wt],imports:[a.CommonModule,c.MatAutocompleteModule,m.FormsModule,y.MatGridListModule,m.ReactiveFormsModule,b.MatFormFieldModule,S.MatInputModule,T.MatSelectModule,I.MatRadioModule,w.MatListModule,u.MatButtonModule,x.MatIconModule,M.PickerModule,N.AngularEditorModule,z.MatButtonToggleModule,f.MatDialogModule,P.MatTabsModule,p.MatBadgeModule,D.NgbDropdownModule,l.NgxEchartsModule],exports:[Wt]})],t)}(),Gt=function(){function t(){}return t.prototype.clone=function(t){var e,n;return this.active=t.active,this.interval=null!=(e=t.interval)?e:0,this.type=null!=(n=t.type)?n:"",t.accounts&&(this.accounts=t.accounts.reduce((function(t,e){return t.push((new $t).clone(e)),t}),[])),this},t.prototype.convert=function(){return{failover:this}},t}(),$t=function(){function t(){}return t.prototype.clone=function(t){var e,n,a,r,i,o,l,s,d,m,c,p,u,g;return this.accountId=null!=(n=null===(e=t.accountId)||void 0===e?void 0:e.id)?n:"",this.accountName=null!=(a=t.accountName)?a:"",this.subject=null!=(r=t.subject)?r:"",this.platform=null!=(i=t.platform)?i:"",this.template={id:(l=null===(o=t.template)||void 0===o?void 0:o.ID,null!=l?l:""),name:(d=null===(s=t.template)||void 0===s?void 0:s.name,m=null!=d?d:t.template,null!=m?m:""),lang:(p=null===(c=t.template)||void 0===c?void 0:c.lang,null!=p?p:""),data:(g=null===(u=t.paramBody)||void 0===u?void 0:u.map((function(t){return t.name})),null!=g?g:[])},this},t.prototype.convert=function(){return this},t}(),Jt=function(){function t(){}return t.prototype.clone=function(t){var e,n,a,r,i,o,l,s,d,m;return"IMAGE"!==(null===(e=t)||void 0===e?void 0:e.media)&&"VIDEO"!==(null===(n=t)||void 0===n?void 0:n.media)&&"DOCUMENT"!==(null===(a=t)||void 0===a?void 0:a.media)||(t.channel=t.media),t.campaignName&&(this.name=t.campaignName),"EMAIL"===t.medium&&(this.subject=t.campaignName),(null===(r=t.from)||void 0===r?void 0:r.id)&&(this.accountId=t.from.id),t.channel&&(this.type=null===(i=t.channel)||void 0===i?void 0:i.toLowerCase()),t.text&&(this.text=t.text),"image"===this.type&&t.fileName&&(this.image={url:t.targetURL}),"video"===this.type&&t.fileName&&(this.video={url:t.targetURL}),"document"===this.type&&t.fileName&&(this.document={url:t.targetURL,fileName:t.fileName}),t.template&&(this.template={id:t.template.ID,name:t.template.name,lang:t.template.lang,headerUrl:t.targetURL,header:(l=null===(o=t.paramHeader)||void 0===o?void 0:o.map((function(t){return t.name})),null!=l?l:[]),data:(d=null===(s=t.paramBody)||void 0===s?void 0:s.map((function(t){return t.name})),null!=d?d:[]),button:null===(m=t.paramButton)||void 0===m?void 0:m.reduce((function(t,e){var n;return t.push(null!=(n=e.name.map((function(t){return t.name})))?n:[]),t}),[])},"AUTHENTICATION"===t.template.category&&(this.template={name:t.template.name,lang:t.template.lang,header:null,data:[t.otpValue],button:[[t.otpValue]]}),t.template.ID&&(this.template.id=t.template.ID)),this},t.prototype.convert=function(){return this},t}(),Yt=function(){function t(){this.datePipe=new a.DatePipe("en-US")}return t.prototype.clone=function(t){return t.schedulerType&&(this.type=t.delivery?"MULTI":t.schedulerType),t.startDate&&(this.startTime=this.datePipe.transform(t.startDate,"yyyy-MM-dd")+" "+t.startTime),t.delivery&&(this.repeat=t.delivery.toUpperCase()),this},t.prototype.convert=function(){return{type:this.type,startTime:this.startTime,repeat:this.repeat,tz:Intl.DateTimeFormat().resolvedOptions().timeZone}},t}(),Xt=function(){function t(t,n,a){var r=this;this.dialog=t,this.apiAdapterService=n,this.toastr=a,this.currentView=new e.EventEmitter,this.currentViews=K,this.positionWizard=1,this.isLoading=!1,this.isSubmit=!1,this.isGeneralInformationValid=!1,this.isFailoverMechanismValid=!1,this.isNumberBaseInformationValid=!1,this.isSchedulerInformationValid=!1,this.isLine=!1,this.isUploadTargetAudience=!1,this.subscribers=[],this.onCheckTwilioCounterValid=function(){var t,e,n,a,i=r.generalInformationData;if("SMS"!==(null===(t=i)||void 0===t?void 0:t.medium))return!0;if("TEXT"===(null===(e=i)||void 0===e?void 0:e.channel))return!({segments:(o=new j.SegmentedMessage(r.getBody)).segmentsCount,encoding:o.encodingName,characters:o.numberOfUnicodeScalars}.segments>10);var o,l=r.getBody;return Array.from((null===(a=null===(n=i.template)||void 0===n?void 0:n.body)||void 0===a?void 0:a.examples)||[]).map((function(t,e){if(i.paramBody.length>0){var n="{{"+t+"}}",a=i.paramBody[e].name;l=l.split(n).join(a)}})),!({segments:(o=new j.SegmentedMessage(l)).segmentsCount,encoding:o.encodingName,characters:o.numberOfUnicodeScalars}.segments>10)}}return t.prototype.ngOnInit=function(){var t,e;this.campaignID=null===(e=null===(t=window.location.pathname)||void 0===t?void 0:t.split("/"))||void 0===e?void 0:e.pop(),this.initWizard(),this.getCampaignDetailService()},t.prototype.initWizard=function(){this.isLine?this.dataWizard=["General Information","Target Audience","Scheduler","Summary"]:this.dataWizard=["General Information","Failover Mechanism","Target Audience","Scheduler","Summary"]},t.prototype.getCampaignDetailService=function(){var t,e=this;if(!((null===(t=this.campaignID)||void 0===t?void 0:t.length)<10)){this.isLoading=!0;var n=this.apiAdapterService.executeApiRequest([],"/campaign/"+this.campaignID,"GET").subscribe((function(t){var n,a,r,i,o,l,s,d,m,c,p,u,g,v,f,h,b,y,x,S,w,C,I,T,A,O,V,P,M,N,D,L,F,E,R,k,B,q,U,z,j,H,W,_,G,J,Y,X,K,Q,tt,et,nt,at,rt,it,ot,lt,st,dt,mt,ct,pt,ut,gt,vt,ft,ht,bt,yt,xt,St,wt,Ct,It,Tt,At,Ot,Vt,Pt,Mt,Nt,Dt,Lt,Ft,Et;if(t){var Rt={campaignName:null===(n=t.data)||void 0===n?void 0:n.name,medium:null===(a=t.data)||void 0===a?void 0:a.platform,channel:["image","video","document"].includes(null===(r=t.data)||void 0===r?void 0:r.type)?"MEDIA":null===(o=null===(i=t.data)||void 0===i?void 0:i.type)||void 0===o?void 0:o.toUpperCase(),media:null===(s=null===(l=t.data)||void 0===l?void 0:l.type)||void 0===s?void 0:s.toUpperCase(),from:{id:null===(d=t.data)||void 0===d?void 0:d.accountId,name:null===(m=t.data)||void 0===m?void 0:m.accountName,platform:null===(c=t.data)||void 0===c?void 0:c.platform,clientId:null===(p=t.data)||void 0===p?void 0:p.clientId,clientName:null===(u=t.data)||void 0===u?void 0:u.clientName,accountNo:null===(g=t.data)||void 0===g?void 0:g.accountNo,wabaId:(f=null===(v=t.data)||void 0===v?void 0:v.wabaId,null!=f?f:"")},text:null===(b=null===(h=t.data)||void 0===h?void 0:h.details)||void 0===b?void 0:b.text,targetURL:(w=null===(S=null===(x=null===(y=t.data)||void 0===y?void 0:y.details)||void 0===x?void 0:x.image)||void 0===S?void 0:S.url,A=null!=w?w:null===(T=null===(I=null===(C=t.data)||void 0===C?void 0:C.details)||void 0===I?void 0:I.document)||void 0===T?void 0:T.url,M=null!=A?A:null===(P=null===(V=null===(O=t.data)||void 0===O?void 0:O.details)||void 0===V?void 0:V.video)||void 0===P?void 0:P.url,null!=M?M:null===(L=null===(D=null===(N=t.data)||void 0===N?void 0:N.details)||void 0===D?void 0:D.template)||void 0===L?void 0:L.headerURL),paramHeader:null===(R=null===(E=null===(F=t.data)||void 0===F?void 0:F.details)||void 0===E?void 0:E.template)||void 0===R?void 0:R.header,paramBody:null===(q=null===(B=null===(k=t.data)||void 0===k?void 0:k.details)||void 0===B?void 0:B.template)||void 0===q?void 0:q.data,paramButton:null===(j=null===(z=null===(U=t.data)||void 0===U?void 0:U.details)||void 0===z?void 0:z.template)||void 0===j?void 0:j.button,otpValue:null===(J=Z((G=null===(_=null===(W=null===(H=t.data)||void 0===H?void 0:H.details)||void 0===W?void 0:W.template)||void 0===_?void 0:_.data,null!=G?G:[])))||void 0===J?void 0:J.pop(),template:{ID:null===(K=null===(X=null===(Y=t.data)||void 0===Y?void 0:Y.details)||void 0===X?void 0:X.template)||void 0===K?void 0:K.id,name:null===(et=null===(tt=null===(Q=t.data)||void 0===Q?void 0:Q.details)||void 0===tt?void 0:tt.template)||void 0===et?void 0:et.name,lang:null===(rt=null===(at=null===(nt=t.data)||void 0===nt?void 0:nt.details)||void 0===at?void 0:at.template)||void 0===rt?void 0:rt.lang,platform:null===(it=t.data)||void 0===it?void 0:it.platform,headerURL:null===(st=null===(lt=null===(ot=t.data)||void 0===ot?void 0:ot.details)||void 0===lt?void 0:lt.template)||void 0===st?void 0:st.headerURL,header:{examples:null===(ct=null===(mt=null===(dt=t.data)||void 0===dt?void 0:dt.details)||void 0===mt?void 0:mt.template)||void 0===ct?void 0:ct.header},body:{examples:null===(gt=null===(ut=null===(pt=t.data)||void 0===pt?void 0:pt.details)||void 0===ut?void 0:ut.template)||void 0===gt?void 0:gt.data},buttons:null===(ht=null===(ft=null===(vt=t.data)||void 0===vt?void 0:vt.details)||void 0===ft?void 0:ft.template)||void 0===ht?void 0:ht.button,ClientId:null===(bt=t.data)||void 0===bt?void 0:bt.clientId,ClientName:null===(yt=t.data)||void 0===yt?void 0:yt.clientName},isUpload:""!==(null===(xt=t.data)||void 0===xt?void 0:xt.fileId),fileId:null===(St=t.data)||void 0===St?void 0:St.fileId};localStorage.setItem("telin.campaign",JSON.stringify($($({},e.getCampaignStorage),{generalInformation:{id:null===(wt=t.data)||void 0===wt?void 0:wt.id,form:Rt},failover:null===(Ct=t.data)||void 0===Ct?void 0:Ct.failover,targetAudience:null===(It=t.data)||void 0===It?void 0:It.targets,targetAudienceFile:{name:null===(Tt=t.data)||void 0===Tt?void 0:Tt.fileName,targetURL:null===(At=t.data)||void 0===At?void 0:At.targetURL},scheduler:{schedulerType:"MULTI"===(null===(Ot=t.data)||void 0===Ot?void 0:Ot.scheduleType)?"ONE_TIME":null===(Vt=t.data)||void 0===Vt?void 0:Vt.scheduleType,startDate:null===(Mt=null===(Pt=t.data)||void 0===Pt?void 0:Pt.startTime)||void 0===Mt?void 0:Mt.split(" ")[0],startTime:null===(Dt=null===(Nt=t.data)||void 0===Nt?void 0:Nt.startTime)||void 0===Dt?void 0:Dt.split(" ")[1],isRepeat:"MULTI"===(null===(Lt=t.data)||void 0===Lt?void 0:Lt.scheduleType),delivery:null===(Ft=t.data)||void 0===Ft?void 0:Ft.repeat}}))),e.isLine="LINE"===(null===(Et=t.data)||void 0===Et?void 0:Et.platform),e.isLoading=!1,e.initWizard()}}),(function(){e.isLoading=!1}));this.subscribers.push(n)}},t.prototype.generalInformation=function(t){var e,n,a;this.isGeneralInformationValid=t.parent.valid&&t.child&&(null===(e=t.child)||void 0===e?void 0:e.valid),this.isLine="LINE"===(null===(a=null===(n=t.parent)||void 0===n?void 0:n.getRawValue())||void 0===a?void 0:a.medium),this.initWizard(),t.parent&&t.child&&(this.generalInformationData=$($({},t.parent.getRawValue()),t.child.getRawValue()))},t.prototype.failoverMechanism=function(t){this.isFailoverMechanismValid=t.valid,this.failoverMechanismData=t.getRawValue()},t.prototype.targetAudience=function(t){var e,n,a,r;this.targetAudienceFile=t.file,this.targetAudienceData=t.targetAudience,this.targetAudienceCount=t.numberCount,this.isUploadTargetAudience=t.isUpload,this.isNumberBaseInformationValid=t.isUpload&&(null===(e=t.file)||void 0===e?void 0:e.name)||!t.isUpload&&t.targetAudience.length>0||(null===(r=null===(a=null===(n=this.getCampaignStorage)||void 0===n?void 0:n.generalInformation)||void 0===a?void 0:a.form)||void 0===r?void 0:r.fileId)},t.prototype.scheduler=function(t){this.schedulerData=t.getRawValue(),this.isSchedulerInformationValid=t.valid},t.prototype.onClickSaveAndNextButton=function(){switch(this.isSubmit=!0,this.positionWizard){case 1:this.saveGeneralInformationService();break;case 2:this.isLine?this.saveNumberBasesService():this.saveFailoverMechanismService();break;case 3:this.isLine?this.saveSchedulerService():this.saveNumberBasesService();break;case 4:this.isLine||this.saveSchedulerService();break;default:this.isSubmit=!1}},Object.defineProperty(t.prototype,"getCampaignStorage",{get:function(){return localStorage.getItem("telin.campaign")?JSON.parse(localStorage.getItem("telin.campaign")):{}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getBody",{get:function(){var t,e,n,a,r,i,o,l;return null!=(l=null===(o=(null===(t=this.generalInformationData)||void 0===t?void 0:t.text)||(null===(a=null===(n=null===(e=this.generalInformationData)||void 0===e?void 0:e.template)||void 0===n?void 0:n.body)||void 0===a?void 0:a.text)||(null===(i=null===(r=this.generalInformationData)||void 0===r?void 0:r.body)||void 0===i?void 0:i.text))||void 0===o?void 0:o.split(/\\n|\n/).join("<br />").split(/\\t|\t/).join(" "))?l:""},enumerable:!0,configurable:!0}),t.prototype.saveGeneralInformationService=function(){var t=this;if(!this.onCheckTwilioCounterValid())return this.toastr.error("Segment cannot more than 10"),void(this.isSubmit=!1);var e=[{name:"data",value:(new Jt).clone($({},this.generalInformationData)).convert(),in:"body",type:"object",withoutKeyData:!0}],n=this.apiAdapterService.executeApiRequest(e,this.generalInformationData.id?"/campaign/"+this.generalInformationData.id:"/campaign",this.generalInformationData.id?"PUT":"POST").subscribe((function(e){var n,a;"success"===(null===(a=null===(n=e)||void 0===n?void 0:n.message)||void 0===a?void 0:a.toLowerCase())?(localStorage.setItem("telin.campaign",JSON.stringify($($({},t.getCampaignStorage),{generalInformation:{id:e.data.id,form:t.generalInformationData}}))),t.isSubmit=!1,t.positionWizard+=1):t.isSubmit=!1}),(function(){return t.isSubmit=!1}));this.subscribers.push(n)},t.prototype.saveFailoverMechanismService=function(){var t,e,n=this,a=[{name:"data",value:(new Gt).clone($({},this.failoverMechanismData)).convert(),in:"body",type:"object",withoutKeyData:!0}],r=this.apiAdapterService.executeApiRequest(a,"/campaign/"+(null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.id)+"/failover","POST").subscribe((function(t){var e,a;"success"===(null===(a=null===(e=t)||void 0===e?void 0:e.message)||void 0===a?void 0:a.toLowerCase())?(localStorage.setItem("telin.campaign",JSON.stringify($($({},n.getCampaignStorage),{failover:n.failoverMechanismData}))),n.isSubmit=!1,n.positionWizard+=1):n.isSubmit=!1}),(function(){return n.isSubmit=!1}));this.subscribers.push(r)},t.prototype.saveNumberBasesService=function(){var t,e,n=this;if(0===this.targetAudienceData.length||this.isUploadTargetAudience)return localStorage.setItem("telin.campaign",JSON.stringify($($({},this.getCampaignStorage),{targetAudience:this.targetAudienceData,targetAudienceCount:this.targetAudienceCount,targetAudienceFile:this.targetAudienceFile}))),this.isSubmit=!1,void(this.positionWizard+=1);var a=[{name:"data",value:{targets:this.targetAudienceData,numberCount:this.targetAudienceCount},in:"body",type:"object",withoutKeyData:!0}],r=this.apiAdapterService.executeApiRequest(a,"/campaign/"+(null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.id)+"/targetcategory","POST").subscribe((function(t){var e,a;"success"===(null===(a=null===(e=t)||void 0===e?void 0:e.message)||void 0===a?void 0:a.toLowerCase())?(localStorage.setItem("telin.campaign",JSON.stringify($($({},n.getCampaignStorage),{targetAudience:n.targetAudienceData,targetAudienceCount:n.targetAudienceCount,targetAudienceFile:n.targetAudienceFile}))),n.isSubmit=!1,n.positionWizard+=1):n.isSubmit=!1}),(function(){return n.isSubmit=!1}));this.subscribers.push(r)},t.prototype.saveSchedulerService=function(){var t,e,n=this,a=[{name:"data",value:(new Yt).clone($({},this.schedulerData)).convert(),in:"body",type:"object",withoutKeyData:!0}],r=this.apiAdapterService.executeApiRequest(a,"/campaign/"+(null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.id)+"/schedule","POST").subscribe((function(t){var e,a;"success"===(null===(a=null===(e=t)||void 0===e?void 0:e.message)||void 0===a?void 0:a.toLowerCase())?(localStorage.setItem("telin.campaign",JSON.stringify($($({},n.getCampaignStorage),{scheduler:n.schedulerData}))),n.isSubmit=!1,n.positionWizard+=1):n.isSubmit=!1}),(function(){return n.isSubmit=!1}));this.subscribers.push(r)},t.prototype.onPrevious=function(){this.positionWizard-=1},t.prototype.changeCurrentView=function(t){this.openConfirmationDialog(t)},t.prototype.openConfirmationDialog=function(t){var e=this,n=new qt;n.title="Cancel Add Broadcast",n.content="Are you sure you want to cancel<br/> Add Broadcast?",n.btnSubmitRed="Yes",n.btnCancel="No";var a=this.dialog.open(Ut,{autoFocus:!1,backdropClass:"overlay-backdrop-dialog",data:n}).afterClosed().subscribe((function(n){var a,r;n&&(window.history.replaceState({},"/"+(null===(r=null===(a=e.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===r?void 0:r.id),"/secure/campaign"),e.currentView.emit(t))}));this.subscribers.push(a)},t.prototype.onSubmitForApproval=function(){var t,e,n,a,r=this,i=[];this.isSubmit=!0,(null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.targetAudienceFile)||void 0===e?void 0:e.name)&&i.push({name:"isFile",value:!0,in:"query",type:"string"});var o=this.apiAdapterService.executeApiRequest(i,"/campaign/"+(null===(a=null===(n=this.getCampaignStorage)||void 0===n?void 0:n.generalInformation)||void 0===a?void 0:a.id)+"/submit","POST").subscribe((function(t){var e,n,a,i;"success"===(null===(n=null===(e=t)||void 0===e?void 0:e.message)||void 0===n?void 0:n.toLowerCase())?(window.history.replaceState({},"/"+(null===(i=null===(a=r.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===i?void 0:i.id),"/secure/campaign"),r.toastr.success("Campaign submitted for approval!"),r.isSubmit=!1,r.currentView.emit(r.currentViews.CampaignIndex)):r.isSubmit=!1}),(function(){return r.isSubmit=!1}));this.subscribers.push(o)},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:f.MatDialog},{type:mt},{type:s.ToastrService}]},J([e.Output()],t.prototype,"currentView",void 0),t=J([e.Component({selector:"lib-new-campaign",template:'<div class="create-campaign p-4">\r\n <div class="row mb-3">\r\n <div class="col-md-6">\r\n <p class="title mb-1" style="font-size: 32px">\r\n {{ campaignID?.length > 10 ? \'Update Broadcast\' : \'Add Broadcast\' }}\r\n </p>\r\n\r\n <p class="font-softer-black mb-0">Please fill the form below</p>\r\n </div>\r\n </div>\r\n\r\n <mat-card class="dashboard-card">\r\n <mat-card-content class="dashboard-card-content mt-2">\r\n <lib-wizard\r\n class="section-progress mb-3"\r\n [positionWizard]="positionWizard"\r\n [dataWizard]="dataWizard"\r\n >\r\n </lib-wizard>\r\n\r\n <div class="line-section mb-4"></div>\r\n <mat-divider></mat-divider>\r\n\r\n <div *ngIf="!isLoading; else isSpinner" style="margin-top: 50px">\r\n <lib-new-campaign-general-information\r\n *ngIf="positionWizard === 1"\r\n (generalInformation)="generalInformation($event)"\r\n >\r\n </lib-new-campaign-general-information>\r\n\r\n <lib-failover-mechanism\r\n *ngIf="!isLine && positionWizard === 2"\r\n (failover)="failoverMechanism($event)"\r\n ></lib-failover-mechanism>\r\n\r\n <lib-new-number-bases\r\n *ngIf="(!isLine && positionWizard === 3) || (isLine && positionWizard === 2)"\r\n (targetAudience)="targetAudience($event)"\r\n >\r\n </lib-new-number-bases>\r\n\r\n <lib-new-campaign-scheduler\r\n *ngIf="(!isLine && positionWizard === 4) || (isLine && positionWizard === 3)"\r\n (scheduler)="scheduler($event)"\r\n >\r\n </lib-new-campaign-scheduler>\r\n\r\n <lib-new-campaign-summary\r\n *ngIf="(!isLine && positionWizard === 5) || (isLine && positionWizard === 4)"\r\n >\r\n </lib-new-campaign-summary>\r\n </div>\r\n </mat-card-content>\r\n </mat-card>\r\n <div class="section-btn-action mt-3">\r\n <button class="btn btn-cancel" (click)="changeCurrentView(currentViews.CampaignIndex)">\r\n Cancel\r\n </button>\r\n\r\n <div class="section-btn-action-child">\r\n <button\r\n *ngIf="positionWizard !== 1"\r\n mat-stroked-button\r\n color="secondary-telin"\r\n class="mr-2"\r\n (click)="onPrevious()"\r\n >\r\n Previous\r\n </button>\r\n\r\n <button\r\n *ngIf="\r\n positionWizard === 1 ||\r\n (!isLine && positionWizard === 2) ||\r\n (!isLine && positionWizard === 3) ||\r\n (isLine && positionWizard === 2) ||\r\n (!isLine && positionWizard === 4) ||\r\n (isLine && positionWizard === 3)\r\n "\r\n mat-flat-button\r\n color="primary-telin-blue2"\r\n class="mr-2"\r\n [disabled]="\r\n isSubmit ||\r\n (positionWizard === 1 && !isGeneralInformationValid) ||\r\n (!isLine && positionWizard === 2 && !isFailoverMechanismValid) ||\r\n (((!isLine && positionWizard === 3) || (isLine && positionWizard === 2)) &&\r\n !isNumberBaseInformationValid) ||\r\n (((!isLine && positionWizard === 4) || (isLine && positionWizard === 3)) &&\r\n !isSchedulerInformationValid)\r\n "\r\n (click)="onClickSaveAndNextButton()"\r\n >\r\n Save & Next\r\n </button>\r\n\r\n <ng-container\r\n *ngIf="(!isLine && positionWizard === 5) || (isLine && positionWizard === 4)"\r\n >\r\n <button\r\n class="btn btn-submit"\r\n [disabled]="isSubmit"\r\n (click)="onSubmitForApproval()"\r\n >\r\n Submit for Approval\r\n </button>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #isSpinner>\r\n <div class="text-center my-auto">\r\n <img src="../../../../../assets/images/spinner.svg" />\r\n </div>\r\n</ng-template>\r\n',styles:[".create-campaign .title{color:#31393c;font-size:22px;font-family:PoppinsBold}.create-campaign .section-progress{display:flex;justify-content:center;flex-direction:row;align-content:stretch}.create-campaign .btn-submit{border-radius:8px;background:linear-gradient(90deg,#5ee928 0,#61c477 100%);color:#fff;margin-right:20px}.create-campaign .btn-cancel{border-radius:8px;width:120px;border-width:1;border-color:#9598a0;background:#f3f6f9;color:#9598a0;margin-right:20px}.create-campaign .section-btn-action{flex-direction:row;display:flex;justify-content:space-between}.create-campaign .section-btn-action .section-btn-action-child{display:flex;flex-direction:row}::ng-deep .mat-card.dashboard-card{box-shadow:rgba(0,0,0,.1) 0 4px 12px}"]})],t)}(),Zt=function(){function t(t){this.apiAdapterService=t,this.msgTypeWAOption=[],this.accountOption=[],this.isHaveNextAccountOption=!0,this.isLoadingAccountOption=!1,this.templateOption=[],this.isHaveNextTemplateOption=!0,this.isLoadingTemplateOption=!1,this.isHaveTemplateParam=!1,this.pageNoAccountOption=1,this.pageNoTemplateOption=1,this.subscribers=[],this.updateGeneralInformationForm=new e.EventEmitter}return Object.defineProperty(t.prototype,"isTouchedForm",{set:function(t){var e=this;this.updateGeneralInformationForm&&setTimeout((function(){e.updateGeneralInformationForm.emit(e.form)}))},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t,e,n,a,r,i,o;this.validationMessages=Pt,this.msgTypeWAOption=ht,this.initForm(),this.initDisable(),this.initEdit(),this.initValidation(),this.getAccountOptionService("EMAIL"===(null===(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.form)||void 0===n?void 0:n.medium)?null===(o=null===(i=null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===r?void 0:r.form)||void 0===i?void 0:i.from)||void 0===o?void 0:o.name:"")},Object.defineProperty(t.prototype,"getCampaignStorage",{get:function(){return localStorage.getItem("telin.campaign")?JSON.parse(localStorage.getItem("telin.campaign")):{}},enumerable:!0,configurable:!0}),t.prototype.initForm=function(){var t=this;this.form=new m.FormGroup({channel:new m.FormControl(null,m.Validators.required),from:new m.FormControl(null,m.Validators.required),text:new m.FormControl(null,m.Validators.required),template:new m.FormControl(null,m.Validators.required),paramBody:new m.FormArray([],m.Validators.required),isUpload:new m.FormControl(!1),fileId:new m.FormControl("")}),this.form.valueChanges.subscribe((function(){setTimeout((function(){t.updateGeneralInformationForm.emit(t.form)}))}))},t.prototype.initDisable=function(){this.isReadOnlyMode&&this.form.disable()},t.prototype.initEdit=function(){var t,e,n,a,r,i,o,l,s,d,m,c,p,u,g,v;0!==Object.entries(this.getCampaignStorage).length&&"EMAIL"===(null===(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.form)||void 0===n?void 0:n.medium)&&(this.form.get("channel").setValue(null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===r?void 0:r.form.channel),this.form.get("from").setValue(null===(o=null===(i=this.getCampaignStorage)||void 0===i?void 0:i.generalInformation)||void 0===o?void 0:o.form.from),this.form.get("text").setValue(null===(s=null===(l=this.getCampaignStorage)||void 0===l?void 0:l.generalInformation)||void 0===s?void 0:s.form.text),this.form.get("template").setValue(null===(m=null===(d=this.getCampaignStorage)||void 0===d?void 0:d.generalInformation)||void 0===m?void 0:m.form.template),this.form.get("isUpload").setValue(null===(p=null===(c=this.getCampaignStorage)||void 0===c?void 0:c.generalInformation)||void 0===p?void 0:p.form.isUpload),this.form.get("fileId").setValue(null===(g=null===(u=this.getCampaignStorage)||void 0===u?void 0:u.generalInformation)||void 0===g?void 0:g.form.fileId),this.isHaveTemplateParam=this.form.get("isUpload").value,this.getTemplateOptionService(null,null===(v=this.form.get("template").value)||void 0===v?void 0:v.name))},Object.defineProperty(t.prototype,"getIsTemplate",{get:function(){var t;return this.form.get("channel").value&&"template"===(null===(t=this.form.get("channel").value)||void 0===t?void 0:t.toLowerCase())},enumerable:!0,configurable:!0}),t.prototype.initValidation=function(){for(var t in this.form.controls)this.form.controls[t].clearValidators(),this.form.controls[t].updateValueAndValidity();this.form.get("channel").setValidators(m.Validators.required),this.form.get("from").setValidators(m.Validators.required),this.getIsTemplate?(this.form.get("template").setValidators(m.Validators.required),this.form.get("template").updateValueAndValidity(),this.form.get("paramBody").setValidators(m.Validators.required),this.form.get("paramBody").updateValueAndValidity()):(this.form.get("text").setValidators(m.Validators.required),this.form.get("text").updateValueAndValidity())},t.prototype.formReset=function(t){void 0===t&&(t=!1),this.form.get("text").reset(),this.form.get("template").reset(),this.form.get("paramBody").controls=[],this.form.get("paramBody").reset(),this.initValidation()},t.prototype.initParam=function(t,e,n){return{name:t,value:e,in:"query",type:n}},t.prototype.getAccountOptionService=function(t,e){var n=this;void 0===t&&(t=""),void 0===e&&(e=!1),this.isLoadingAccountOption=!0;var a=[this.initParam("pageNo",this.pageNoAccountOption,"number"),this.initParam("rowPerPage",20,"number"),this.initParam("platform","EMAIL","string"),this.initParam("status","APPROVED","string"),this.initParam("filter",t,"string")],r=this.apiAdapterService.executeApiRequest(a,"/admin/account","GET").subscribe((function(t){t.data&&(n.accountOption=e?Z(n.accountOption,t.data):t.data,n.isHaveNextAccountOption=t.haveNext,n.isLoadingAccountOption=!1)}));this.subscribers.push(r)},t.prototype.getTemplateOptionService=function(t,e,n){var a,r,i,o=this;void 0===t&&(t=null),void 0===e&&(e=""),void 0===n&&(n=!1),this.isLoadingTemplateOption=!0;var l=[this.initParam("pageNo",this.pageNoTemplateOption,"number"),this.initParam("rowPerPage",20,"number"),this.initParam("platform","EMAIL","string"),this.initParam("filter",e,"string"),this.initParam("clientId",null===(a=this.form.get("from").value)||void 0===a?void 0:a.clientId,"string"),this.initParam("wabaId",(i=null===(r=this.form.get("from").value)||void 0===r?void 0:r.wabaId,null!=i?i:""),"string")];this.isReadOnlyMode&&l.push(this.initParam("summary",!0,"string"));var s=this.apiAdapterService.executeApiRequest(l,"/message/template","GET").subscribe((function(t){var e;o.templateOption=n?Z(o.templateOption,t.data):t.data,o.isHaveNextTemplateOption=t.haveNext,o.isLoadingTemplateOption=!1;var a=null===(e=o.templateOption)||void 0===e?void 0:e.find((function(t){var e;return t.ID===(null===(e=o.form.get("template").value)||void 0===e?void 0:e.ID)}));if(a){if(o.form.get("template").setValue(a),o.form.get("isUpload").value)return o.updateDownloadCSV(o.form.get("isUpload").value);o.updateTemplate(o.form.get("template").value)}}));this.subscribers.push(s)},t.prototype.initParameter=function(t){return void 0===t&&(t=""),new m.FormGroup({name:new m.FormControl({value:t,disabled:this.isReadOnlyMode||["UnsubscribeAccount"].includes(t)},m.Validators.required)})},Object.defineProperty(t.prototype,"getParamBody",{get:function(){return this.form.get("paramBody").controls},enumerable:!0,configurable:!0}),t.prototype.addParamBody=function(t){void 0===t&&(t="");var e=this.initParameter(t);this.form.get("paramBody").push(e)},t.prototype.getNextAccountBatch=function(){this.isHaveNextAccountOption&&(this.pageNoAccountOption+=1,this.getAccountOptionService("",!0))},t.prototype.accountSelectedDisplay=function(t,e){return t&&e&&t.id==e.id?t.name+" ("+t.accountNo+")":""},t.prototype.getNextTemplateBatch=function(){this.isHaveNextTemplateOption&&(this.pageNoTemplateOption+=1,this.getTemplateOptionService(null,"",!0))},t.prototype.templateSelectedDisplay=function(t,e){return t&&e&&t.name==e.name?""+t.name:""},t.prototype.updateTemplate=function(t){var e,n,a,r,i,o=this;if(t){this.isHaveTemplateParam=(null===(e=t.body.examples)||void 0===e?void 0:e.length)>0,(null===(n=t.body.examples)||void 0===n?void 0:n.length)>0?this.form.get("paramBody").setValidators(m.Validators.required):this.form.get("paramBody").clearValidators(),this.form.get("paramBody").controls=[],this.form.get("paramBody").reset(),this.form.get("paramBody").updateValueAndValidity();var l=null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===r?void 0:r.form;null===(i=t.body.examples)||void 0===i||i.forEach((function(t,e){var n,a,r,i,s,d,m,c=null!=(m=null!=(i=null===(r=null===(a=null===(n=l)||void 0===n?void 0:n.paramBody)||void 0===a?void 0:a[e])||void 0===r?void 0:r.name)?i:null===(d=null===(s=l)||void 0===s?void 0:s.paramBody)||void 0===d?void 0:d[e])?m:"";["UnsubscribeAccount"].includes(t)&&(c=t),o.addParamBody(c)}))}},t.prototype.updateSearch=function(t){this.pageNoTemplateOption=1,this.getTemplateOptionService(t)},t.prototype.updateSearchAccount=function(t){this.pageNoAccountOption=1,this.getAccountOptionService(t)},t.prototype.updateDownloadCSV=function(t){if(this.form.get("isUpload").setValue(t),t)return this.form.get("paramBody").controls=[],this.form.get("paramBody").reset(),this.form.get("paramBody").clearValidators(),void this.form.get("paramBody").updateValueAndValidity();this.updateTemplate(this.form.get("template").value)},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:mt}]},J([e.Output()],t.prototype,"updateGeneralInformationForm",void 0),J([e.Input()],t.prototype,"isReadOnlyMode",void 0),J([e.Input()],t.prototype,"isTouchedForm",null),t=J([e.Component({selector:"lib-general-information-email",template:'<form autocomplete="off"\r\n\t[formGroup]="form">\r\n\t<div class="form-group">\r\n\t\t<mat-form-field appearance="outline"\r\n\t\t\tfloatLabel="always"\r\n\t\t\tclass="w-100">\r\n\t\t\t<mat-label class="asterix--after">Message Type</mat-label>\r\n\r\n\t\t\t<mat-select placeholder="Select message type"\r\n\t\t\t\tformControlName="channel">\r\n\t\t\t\t<mat-option *ngFor="let option of msgTypeWAOption"\r\n\t\t\t\t\t[value]="option.code"\r\n\t\t\t\t\t(click)="formReset()">\r\n\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t</mat-option>\r\n\t\t\t</mat-select>\r\n\t\t</mat-form-field>\r\n\r\n\t\t<mat-error align="end"\r\n\t\t\t*ngFor="let validation of validationMessages.channel">\r\n\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t*ngIf="form.get(\'channel\').touched \r\n\t\t\t\t\t&& form.get(\'channel\').hasError(validation.type)">\r\n\t\t\t\t{{ validation.message }}\r\n\t\t\t</p>\r\n\t\t</mat-error>\r\n\t</div>\r\n\r\n\t<div class="form-group">\r\n\t\t<mat-form-field appearance="outline"\r\n\t\t\tfloatLabel="always"\r\n\t\t\tclass="w-100"\r\n\t\t\tstyle="margin-bottom: 20;">\r\n\t\t\t<mat-label class="asterix--after">From</mat-label>\r\n\r\n\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\tformControlName="from"\r\n\t\t\t\tplaceholder="Select from"\r\n\t\t\t\t[complete]="isHaveNextAccountOption === false"\r\n\t\t\t\t[compareWith]="accountSelectedDisplay"\r\n\t\t\t\t(infiniteScroll)="getNextAccountBatch()"\r\n\t\t\t\t(selectionChange)="getTemplateOptionService($event.value)">\r\n\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t[currentValue]="form?.get(\'from\').value?.name"\r\n\t\t\t\t\t\t(searchRes)="updateSearchAccount($event)"></lib-search>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<mat-option *ngFor="let option of accountOption"\r\n\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t{{ option.name + \' (\' + option.accountNo + \')\' }}\r\n\t\t\t\t</mat-option>\r\n\t\t\t\t<mat-option *ngIf="isLoadingAccountOption">Loading...</mat-option>\r\n\t\t\t</mat-select>\r\n\t\t</mat-form-field>\r\n\r\n\t\t<mat-error align="end"\r\n\t\t\t*ngFor="let validation of validationMessages.from">\r\n\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t*ngIf="form.get(\'from\').touched \r\n\t\t\t\t\t&& form.get(\'from\').hasError(validation.type)">\r\n\t\t\t\t{{ validation.message }}\r\n\t\t\t</p>\r\n\t\t</mat-error>\r\n\t</div>\r\n\r\n\t<div *ngIf="form.get(\'channel\').value === \'HTML\'"\r\n\t\tclass="form-group">\r\n\t\t<mat-form-field appearance="outline"\r\n\t\t\tfloatLabel="always">\r\n\t\t\t<mat-label class="asterix--after">Message</mat-label>\r\n\r\n\t\t\t<textarea matInput\r\n\t\t\t\trows="6"\r\n\t\t\t\tcols="50"\r\n\t\t\t\tcdkTextareaAutosize\r\n\t\t\t\tcdkAutosizeMinRows="2"\r\n\t\t\t\tcdkAutosizeMaxRows="15"\r\n\t\t\t\tplaceholder="Enter text"\r\n\t\t\t\tformControlName="text"\r\n\t\t\t\t#autosize="cdkTextareaAutosize"></textarea>\r\n\t\t</mat-form-field>\r\n\r\n\t\t<mat-error align="end"\r\n\t\t\t*ngFor="let validation of validationMessages.text">\r\n\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t*ngIf="form.get(\'text\').touched \r\n\t\t\t\t\t&& form.get(\'text\').hasError(validation.type)">\r\n\t\t\t\t{{ validation.message }}\r\n\t\t\t</p>\r\n\t\t</mat-error>\r\n\t</div>\r\n\r\n\t<ng-container *ngIf="form.get(\'channel\').value === \'TEMPLATE\'">\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always"\r\n\t\t\t\tclass="w-100">\r\n\t\t\t\t<mat-label class="asterix--after">Template</mat-label>\r\n\r\n\t\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\t\tformControlName="template"\r\n\t\t\t\t\tplaceholder="Select template"\r\n\t\t\t\t\t[complete]="isHaveNextTemplateOption === false"\r\n\t\t\t\t\t[compareWith]="templateSelectedDisplay"\r\n\t\t\t\t\t(infiniteScroll)="getNextTemplateBatch()"\r\n\t\t\t\t\t(selectionChange)="updateTemplate($event.value)">\r\n\t\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t\t[currentValue]="form?.get(\'template\').value?.name"\r\n\t\t\t\t\t\t\t(searchRes)="updateSearch($event)"></lib-search>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<mat-option *ngFor="let option of templateOption"\r\n\t\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t<mat-option *ngIf="isLoadingTemplateOption">Loading...</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.template">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'template\').touched \r\n\t\t\t\t\t\t\t&& form.get(\'template\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\r\n\t\t<div *ngIf="isHaveTemplateParam"\r\n\t\t\tclass="d-flex justify-content-end">\r\n\t\t\t<mat-checkbox labelPosition="before"\r\n\t\t\t\tformControlName="isUpload"\r\n\t\t\t\t(change)="updateDownloadCSV($event.checked)">\r\n\t\t\t\tUsing Download XLSX\r\n\t\t\t</mat-checkbox>\r\n\t\t</div>\r\n\r\n\t\t<ng-container *ngIf="!form.get(\'isUpload\').value && getParamBody?.length > 0">\r\n\t\t\t<p class="font-16px font-PoppinsBold mt-3">Body Parameter</p>\r\n\r\n\t\t\t<div *ngFor="\r\n\t\t\tlet param of getParamBody;\r\n\t\t\tlet paramBodyIndex = index\r\n\t\t"\r\n\t\t\t\tclass="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<mat-label>Parameter {{ paramBodyIndex + 1 }}</mat-label>\r\n\r\n\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\t[placeholder]="\'Parameter \' + (paramBodyIndex + 1)"\r\n\t\t\t\t\t\t[formControl]="param.get(\'name\')" />\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n</form>\r\n',styles:['.asterix--after:after{content:"*";color:red}']})],t)}(),Kt=function(){function t(t){this.apiAdapterService=t,this.msgTypeWAOption=[],this.accountOption=[],this.isHaveNextAccountOption=!0,this.isLoadingAccountOption=!1,this.templateOption=[],this.isHaveNextTemplateOption=!0,this.isLoadingTemplateOption=!1,this.pageNoAccountOption=1,this.pageNoTemplateOption=1,this.subscribers=[],this.updateGeneralInformationForm=new e.EventEmitter}return Object.defineProperty(t.prototype,"isTouchedForm",{set:function(t){var e=this;this.updateGeneralInformationForm&&setTimeout((function(){e.updateGeneralInformationForm.emit(e.form)}))},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t,e,n,a,r,i,o;this.msgTypeWAOption=bt,this.validationMessages=Nt,this.initForm(),this.initDisable(),this.initEdit(),this.initValidation(),this.getAccountOptionService("LINE"===(null===(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.form)||void 0===n?void 0:n.medium)?null===(o=null===(i=null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===r?void 0:r.form)||void 0===i?void 0:i.from)||void 0===o?void 0:o.name:"")},Object.defineProperty(t.prototype,"getCampaignStorage",{get:function(){return localStorage.getItem("telin.campaign")?JSON.parse(localStorage.getItem("telin.campaign")):{}},enumerable:!0,configurable:!0}),t.prototype.initForm=function(){var t=this;this.form=new m.FormGroup({channel:new m.FormControl(null,m.Validators.required),from:new m.FormControl(null,m.Validators.required),text:new m.FormControl(null),template:new m.FormControl(null),isJSON:new m.FormControl(!1),paramBody:new m.FormArray([],m.Validators.required)}),this.form.valueChanges.subscribe((function(){setTimeout((function(){t.updateGeneralInformationForm.emit(t.form)}))}))},t.prototype.initDisable=function(){this.isReadOnlyMode&&this.form.disable()},t.prototype.initEdit=function(){var t,e,n,a,r,i,o,l,s,d,m,c;0!==Object.entries(this.getCampaignStorage).length&&"LINE"===(null===(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.form)||void 0===n?void 0:n.medium)&&(this.form.get("channel").setValue(null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===r?void 0:r.form.channel),this.form.get("from").setValue(null===(o=null===(i=this.getCampaignStorage)||void 0===i?void 0:i.generalInformation)||void 0===o?void 0:o.form.from),this.form.get("text").setValue(null===(s=null===(l=this.getCampaignStorage)||void 0===l?void 0:l.generalInformation)||void 0===s?void 0:s.form.text),this.form.get("template").setValue(null===(m=null===(d=this.getCampaignStorage)||void 0===d?void 0:d.generalInformation)||void 0===m?void 0:m.form.template),this.getTemplateOptionService(null,null===(c=this.form.get("template").value)||void 0===c?void 0:c.name))},t.prototype.initValidation=function(){for(var t in this.form.controls)this.form.controls[t].clearValidators(),this.form.controls[t].updateValueAndValidity();if(this.form.get("channel").setValidators(m.Validators.required),this.form.get("from").setValidators(m.Validators.required),this.isText)return this.form.get("text").setValidators(m.Validators.required),void this.form.get("text").updateValueAndValidity();this.form.get("template").setValidators(m.Validators.required),this.form.get("template").updateValueAndValidity(),this.form.get("paramBody").setValidators(m.Validators.required),this.form.get("paramBody").updateValueAndValidity()},t.prototype.formReset=function(){this.form.get("text").reset(),this.form.get("template").reset(),this.form.get("paramBody").controls=[],this.form.get("paramBody").reset(),this.initValidation()},t.prototype.initParam=function(t,e,n){return{name:t,value:e,in:"query",type:n}},t.prototype.getAccountOptionService=function(t,e){var n=this;void 0===t&&(t=""),void 0===e&&(e=!1),this.isLoadingAccountOption=!0;var a=[this.initParam("pageNo",this.pageNoAccountOption,"number"),this.initParam("rowPerPage",20,"number"),this.initParam("platform","LINE","string"),this.initParam("status","APPROVED","string"),this.initParam("filter",t,"string")],r=this.apiAdapterService.executeApiRequest(a,"/admin/account","GET").subscribe((function(t){t.data&&(n.accountOption=e?Z(n.accountOption,t.data):t.data,n.isHaveNextAccountOption=t.haveNext,n.isLoadingAccountOption=!1)}));this.subscribers.push(r)},t.prototype.getTemplateOptionService=function(t,e,n){var a,r=this;void 0===t&&(t=null),void 0===e&&(e=""),void 0===n&&(n=!1),this.isLoadingTemplateOption=!0;var i=[this.initParam("pageNo",this.pageNoTemplateOption,"number"),this.initParam("rowPerPage",20,"number"),this.initParam("platform","LINE","string"),this.initParam("filter",e,"string"),this.initParam("clientId",null===(a=this.form.get("from").value)||void 0===a?void 0:a.clientId,"string")];this.isReadOnlyMode&&i.push(this.initParam("summary",!0,"string"));var o=this.apiAdapterService.executeApiRequest(i,"/message/template","GET").subscribe((function(t){var e;r.templateOption=n?Z(r.templateOption,t.data):t.data,r.isHaveNextTemplateOption=t.haveNext,r.isLoadingTemplateOption=!1;var a=null===(e=r.templateOption)||void 0===e?void 0:e.find((function(t){var e;return t.ID===(null===(e=r.form.get("template").value)||void 0===e?void 0:e.ID)}));a&&(r.form.get("template").setValue(a),r.updateTemplate(r.form.get("template").value))}));this.subscribers.push(o)},t.prototype.initParameter=function(t){return void 0===t&&(t=""),new m.FormGroup({name:new m.FormControl({value:t,disabled:this.isReadOnlyMode},m.Validators.required)})},Object.defineProperty(t.prototype,"getParamBody",{get:function(){return this.form.get("paramBody").controls},enumerable:!0,configurable:!0}),t.prototype.addParamBody=function(t){void 0===t&&(t="");var e=this.initParameter(t);this.form.get("paramBody").push(e)},Object.defineProperty(t.prototype,"isText",{get:function(){var t;return this.form.get("channel").value&&"text"===(null===(t=this.form.get("channel").value)||void 0===t?void 0:t.toLowerCase())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isTemplate",{get:function(){var t;return this.form.get("channel").value&&"template"===(null===(t=this.form.get("channel").value)||void 0===t?void 0:t.toLowerCase())},enumerable:!0,configurable:!0}),t.prototype.getNextAccountBatch=function(){this.isHaveNextAccountOption&&(this.pageNoAccountOption+=1,this.getAccountOptionService("",!0))},t.prototype.accountSelectedDisplay=function(t,e){return t&&e&&t.id==e.id?t.name+" ("+t.accountNo+")":""},t.prototype.getNextTemplateBatch=function(){this.isHaveNextTemplateOption&&(this.pageNoTemplateOption+=1,this.getTemplateOptionService(null,"",!0))},t.prototype.templateSelectedDisplay=function(t,e){return t&&e&&t.name==e.name?""+t.name:""},t.prototype.updateTemplate=function(t){var e,n,a,r,i,o=this;if(t){var l=t.body.text;this.isJsonString(t.body.text)&&(l=JSON.parse(t.body.text).text),this.form.get("isJSON").setValue(this.isJsonString(t.body.text)),this.form.get("paramBody").controls=[],this.form.get("paramBody").reset();var s=null===(e=l)||void 0===e?void 0:e.match(/{{/g),d=null===(a=null===(n=this.getCampaignStorage)||void 0===n?void 0:n.generalInformation)||void 0===a?void 0:a.form;(null===(r=s)||void 0===r?void 0:r.length)>0?this.form.get("paramBody").setValidators(m.Validators.required):this.form.get("paramBody").clearValidators(),null===(i=s)||void 0===i||i.forEach((function(t,e){var n,a,r,i,l,s,m;o.addParamBody(null!=(m=null!=(i=null===(r=null===(a=null===(n=d)||void 0===n?void 0:n.paramBody)||void 0===a?void 0:a[e])||void 0===r?void 0:r.name)?i:null===(s=null===(l=d)||void 0===l?void 0:l.paramBody)||void 0===s?void 0:s[e])?m:"")})),this.form.get("paramBody").updateValueAndValidity()}},t.prototype.isJsonString=function(t){try{JSON.parse(t)}catch(t){return!1}return!0},t.prototype.updateSearch=function(t){this.pageNoTemplateOption=1,this.getTemplateOptionService(null,t)},t.prototype.updateSearchAccount=function(t){this.pageNoAccountOption=1,this.getAccountOptionService(t)},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:mt}]},J([e.Output()],t.prototype,"updateGeneralInformationForm",void 0),J([e.Input()],t.prototype,"isReadOnlyMode",void 0),J([e.Input()],t.prototype,"isTouchedForm",null),t=J([e.Component({selector:"lib-general-information-line",template:'<form autocomplete="off"\r\n\t[formGroup]="form">\r\n\t<div class="form-group">\r\n\t\t<mat-form-field appearance="outline"\r\n\t\t\tfloatLabel="always"\r\n\t\t\tclass="w-100">\r\n\t\t\t<mat-label class="asterix--after">Message Type</mat-label>\r\n\r\n\t\t\t<mat-select placeholder="Select message type"\r\n\t\t\t\tformControlName="channel">\r\n\t\t\t\t<mat-option *ngFor="let option of msgTypeWAOption"\r\n\t\t\t\t\t[value]="option.code"\r\n\t\t\t\t\t(click)="formReset()">\r\n\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t</mat-option>\r\n\t\t\t</mat-select>\r\n\t\t</mat-form-field>\r\n\r\n\t\t<mat-error align="end"\r\n\t\t\t*ngFor="let validation of validationMessages.channel">\r\n\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t*ngIf="form.get(\'channel\').touched \r\n\t\t\t\t\t&& form.get(\'channel\').hasError(validation.type)">\r\n\t\t\t\t{{ validation.message }}\r\n\t\t\t</p>\r\n\t\t</mat-error>\r\n\t</div>\r\n\r\n\t<div class="form-group">\r\n\t\t<mat-form-field appearance="outline"\r\n\t\t\tfloatLabel="always"\r\n\t\t\tclass="w-100"\r\n\t\t\tstyle="margin-bottom: 20;">\r\n\t\t\t<mat-label class="asterix--after">From</mat-label>\r\n\r\n\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\tformControlName="from"\r\n\t\t\t\tplaceholder="Select from"\r\n\t\t\t\t[complete]="isHaveNextAccountOption === false"\r\n\t\t\t\t[compareWith]="accountSelectedDisplay"\r\n\t\t\t\t(infiniteScroll)="getNextAccountBatch()"\r\n\t\t\t\t(selectionChange)="getTemplateOptionService($event.value)">\r\n\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t[currentValue]="form?.get(\'from\').value?.name"\r\n\t\t\t\t\t\t(searchRes)="updateSearchAccount($event)"></lib-search>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<mat-option *ngFor="let option of accountOption"\r\n\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t{{ option.name + \' (\' + option.accountNo + \')\' }}\r\n\t\t\t\t</mat-option>\r\n\t\t\t\t<mat-option *ngIf="isLoadingAccountOption">Loading...</mat-option>\r\n\t\t\t</mat-select>\r\n\t\t</mat-form-field>\r\n\r\n\t\t<mat-error align="end"\r\n\t\t\t*ngFor="let validation of validationMessages.from">\r\n\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t*ngIf="form.get(\'from\').touched \r\n\t\t\t\t\t&& form.get(\'from\').hasError(validation.type)">\r\n\t\t\t\t{{ validation.message }}\r\n\t\t\t</p>\r\n\t\t</mat-error>\r\n\t</div>\r\n\r\n\t<ng-container *ngIf="isText">\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always">\r\n\t\t\t\t<mat-label class="asterix--after">Text</mat-label>\r\n\r\n\t\t\t\t<textarea matInput\r\n\t\t\t\t\trows="6"\r\n\t\t\t\t\tcols="50"\r\n\t\t\t\t\tcdkTextareaAutosize\r\n\t\t\t\t\tcdkAutosizeMinRows="2"\r\n\t\t\t\t\tcdkAutosizeMaxRows="15"\r\n\t\t\t\t\tformControlName="text"\r\n\t\t\t\t\tplaceholder="Enter text"\r\n\t\t\t\t\t#autosize="cdkTextareaAutosize"></textarea>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.text">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'text\').touched \r\n\t\t\t\t\t\t&& form.get(\'text\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf="isTemplate">\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always"\r\n\t\t\t\tclass="w-100">\r\n\t\t\t\t<mat-label class="asterix--after">Template</mat-label>\r\n\r\n\t\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\t\tformControlName="template"\r\n\t\t\t\t\tplaceholder="Select template"\r\n\t\t\t\t\t[complete]="isHaveNextTemplateOption === false"\r\n\t\t\t\t\t[compareWith]="templateSelectedDisplay"\r\n\t\t\t\t\t(infiniteScroll)="getNextTemplateBatch()"\r\n\t\t\t\t\t(selectionChange)="updateTemplate($event.value)">\r\n\t\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t\t(searchRes)="updateSearch($event)"></lib-search>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<mat-option *ngFor="let option of templateOption"\r\n\t\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t<mat-option *ngIf="isLoadingTemplateOption">Loading...</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.template">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'template\').touched \r\n\t\t\t\t\t\t&& form.get(\'template\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\r\n\t\t<ng-container *ngIf="getParamBody?.length > 0">\r\n\t\t\t<p class="font-16px font-PoppinsBold mt-3">Body Parameter</p>\r\n\r\n\t\t\t<div *ngFor="\r\n\t\t\t\t\tlet param of getParamBody;\r\n\t\t\t\t\tlet paramBodyIndex = index\r\n\t\t\t\t"\r\n\t\t\t\tclass="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<mat-label>Parameter {{ paramBodyIndex + 1 }}</mat-label>\r\n\r\n\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\t[placeholder]="\'Parameter \' + (paramBodyIndex + 1)"\r\n\t\t\t\t\t\t[formControl]="param.get(\'name\')" />\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n</form>\r\n',styles:['.asterix--after:after{content:"*";color:red}']})],t)}(),Qt=function(){function t(t){this.apiAdapterService=t,this.msgTypeWAOption=[],this.accountOption=[],this.isHaveNextAccountOption=!0,this.isLoadingAccountOption=!1,this.templateOption=[],this.isHaveNextTemplateOption=!0,this.isLoadingTemplateOption=!1,this.isHaveTemplateParam=!1,this.pageNoAccountOption=1,this.pageNoTemplateOption=1,this.subscribers=[],this.updateGeneralInformationForm=new e.EventEmitter}return Object.defineProperty(t.prototype,"isTouchedForm",{set:function(t){var e=this;this.updateGeneralInformationForm&&setTimeout((function(){e.updateGeneralInformationForm.emit(e.form)}))},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t,e,n,a,r,i,o;this.msgTypeWAOption=ft.filter((function(t){return"TEXT"===t.code||"TEMPLATE"===t.code})),this.validationMessages=Mt,this.initForm(),this.initDisable(),this.initEdit(),this.initValidation(),this.getAccountOptionService("SMS"===(null===(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.form)||void 0===n?void 0:n.medium)?null===(o=null===(i=null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===r?void 0:r.form)||void 0===i?void 0:i.from)||void 0===o?void 0:o.name:"")},Object.defineProperty(t.prototype,"getCampaignStorage",{get:function(){return localStorage.getItem("telin.campaign")?JSON.parse(localStorage.getItem("telin.campaign")):{}},enumerable:!0,configurable:!0}),t.prototype.initForm=function(){var t=this;this.form=new m.FormGroup({channel:new m.FormControl(null,m.Validators.required),from:new m.FormControl(null,m.Validators.required),text:new m.FormControl(null,m.Validators.required),template:new m.FormControl(null,m.Validators.required),paramBody:new m.FormArray([],m.Validators.required),isUpload:new m.FormControl(!1),fileId:new m.FormControl("")}),this.form.valueChanges.subscribe((function(){setTimeout((function(){t.updateGeneralInformationForm.emit(t.form)}))}))},t.prototype.initDisable=function(){this.isReadOnlyMode&&this.form.disable()},t.prototype.initEdit=function(){var t,e,n,a,r,i,o,l,s,d,m,c,p,u,g,v;0!==Object.entries(this.getCampaignStorage).length&&"SMS"===(null===(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.form)||void 0===n?void 0:n.medium)&&(this.form.get("channel").setValue(null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===r?void 0:r.form.channel),this.form.get("from").setValue(null===(o=null===(i=this.getCampaignStorage)||void 0===i?void 0:i.generalInformation)||void 0===o?void 0:o.form.from),this.form.get("text").setValue(null===(s=null===(l=this.getCampaignStorage)||void 0===l?void 0:l.generalInformation)||void 0===s?void 0:s.form.text),this.form.get("template").setValue(null===(m=null===(d=this.getCampaignStorage)||void 0===d?void 0:d.generalInformation)||void 0===m?void 0:m.form.template),this.form.get("isUpload").setValue(null===(p=null===(c=this.getCampaignStorage)||void 0===c?void 0:c.generalInformation)||void 0===p?void 0:p.form.isUpload),this.form.get("fileId").setValue(null===(g=null===(u=this.getCampaignStorage)||void 0===u?void 0:u.generalInformation)||void 0===g?void 0:g.form.fileId),this.isHaveTemplateParam=this.form.get("isUpload").value,this.getTemplateOptionService(null,null===(v=this.form.get("template").value)||void 0===v?void 0:v.name))},Object.defineProperty(t.prototype,"getIsTemplate",{get:function(){var t;return this.form.get("channel").value&&"template"===(null===(t=this.form.get("channel").value)||void 0===t?void 0:t.toLowerCase())},enumerable:!0,configurable:!0}),t.prototype.initValidation=function(){for(var t in this.form.controls)this.form.controls[t].clearValidators(),this.form.controls[t].updateValueAndValidity();this.form.get("channel").setValidators(m.Validators.required),this.form.get("from").setValidators(m.Validators.required),this.getIsTemplate?(this.form.get("template").setValidators(m.Validators.required),this.form.get("paramBody").setValidators(m.Validators.required),this.form.get("template").updateValueAndValidity(),this.form.get("paramBody").updateValueAndValidity()):(this.form.get("text").setValidators(m.Validators.required),this.form.get("text").updateValueAndValidity())},t.prototype.formReset=function(t){void 0===t&&(t=!1),this.form.get("text").reset(),this.form.get("template").reset(),this.form.get("paramBody").controls=[],this.form.get("paramBody").reset(),this.initValidation()},t.prototype.initParam=function(t,e,n){return{name:t,value:e,in:"query",type:n}},t.prototype.getAccountOptionService=function(t,e){var n=this;void 0===t&&(t=""),void 0===e&&(e=!1),this.isLoadingAccountOption=!0;var a=[this.initParam("pageNo",this.pageNoAccountOption,"number"),this.initParam("rowPerPage",20,"number"),this.initParam("platform","SMS","string"),this.initParam("status","APPROVED","string"),this.initParam("filter",t,"string")],r=this.apiAdapterService.executeApiRequest(a,"/admin/account","GET").subscribe((function(t){t.data&&(n.accountOption=e?Z(n.accountOption,t.data):t.data,n.isHaveNextAccountOption=t.haveNext,n.isLoadingAccountOption=!1)}));this.subscribers.push(r)},t.prototype.getTemplateOptionService=function(t,e,n){var a,r,i,o=this;void 0===t&&(t=null),void 0===e&&(e=""),void 0===n&&(n=!1),this.isLoadingTemplateOption=!0;var l=[this.initParam("pageNo",this.pageNoTemplateOption,"number"),this.initParam("rowPerPage",20,"number"),this.initParam("platform","SMS","string"),this.initParam("filter",e,"string"),this.initParam("clientId",null===(a=this.form.get("from").value)||void 0===a?void 0:a.clientId,"string"),this.initParam("wabaId",(i=null===(r=this.form.get("from").value)||void 0===r?void 0:r.wabaId,null!=i?i:""),"string")];this.isReadOnlyMode&&l.push(this.initParam("summary",!0,"string"));var s=this.apiAdapterService.executeApiRequest(l,"/message/template","GET").subscribe((function(t){var e;o.templateOption=n?Z(o.templateOption,t.data):t.data,o.isHaveNextTemplateOption=t.haveNext,o.isLoadingTemplateOption=!1;var a=null===(e=o.templateOption)||void 0===e?void 0:e.find((function(t){var e;return t.ID===(null===(e=o.form.get("template").value)||void 0===e?void 0:e.ID)}));if(a){if(o.form.get("template").setValue(a),o.form.get("isUpload").value)return o.updateDownloadCSV(o.form.get("isUpload").value);o.updateTemplate(o.form.get("template").value)}}));this.subscribers.push(s)},t.prototype.initParameter=function(t){return void 0===t&&(t=""),new m.FormGroup({name:new m.FormControl({value:t,disabled:this.isReadOnlyMode||["UnsubscribeAccount"].includes(t)},m.Validators.required)})},Object.defineProperty(t.prototype,"getParamBody",{get:function(){return this.form.get("paramBody").controls},enumerable:!0,configurable:!0}),t.prototype.addParamBody=function(t){void 0===t&&(t="");var e=this.initParameter(t);this.form.get("paramBody").push(e)},t.prototype.getNextAccountBatch=function(){this.isHaveNextAccountOption&&(this.pageNoAccountOption+=1,this.getAccountOptionService("",!0))},t.prototype.accountSelectedDisplay=function(t,e){return t&&e&&t.id==e.id?t.name+" ("+t.accountNo+")":""},t.prototype.getNextTemplateBatch=function(){this.isHaveNextTemplateOption&&(this.pageNoTemplateOption+=1,this.getTemplateOptionService(null,"",!0))},t.prototype.templateSelectedDisplay=function(t,e){return t&&e&&t.name==e.name?""+t.name:""},t.prototype.updateTemplate=function(t){var e,n,a,r,i,o=this;if(t){this.isHaveTemplateParam=(null===(e=t.body.examples)||void 0===e?void 0:e.length)>0,(null===(n=t.body.examples)||void 0===n?void 0:n.length)>0?this.form.get("paramBody").setValidators(m.Validators.required):this.form.get("paramBody").clearValidators(),this.form.get("paramBody").controls=[],this.form.get("paramBody").reset(),this.form.get("paramBody").updateValueAndValidity();var l=null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===r?void 0:r.form;null===(i=t.body.examples)||void 0===i||i.forEach((function(t,e){var n,a,r,i,s,d,m,c=null!=(m=null!=(i=null===(r=null===(a=null===(n=l)||void 0===n?void 0:n.paramBody)||void 0===a?void 0:a[e])||void 0===r?void 0:r.name)?i:null===(d=null===(s=l)||void 0===s?void 0:s.paramBody)||void 0===d?void 0:d[e])?m:"";["UnsubscribeAccount"].includes(t)&&(c=t),o.addParamBody(c)}))}},t.prototype.updateSearch=function(t){this.pageNoTemplateOption=1,this.getTemplateOptionService("",t)},t.prototype.updateSearchAccount=function(t){this.pageNoAccountOption=1,this.getAccountOptionService(t)},t.prototype.updateDownloadCSV=function(t){if(this.form.get("isUpload").setValue(t),t)return this.form.get("paramBody").controls=[],this.form.get("paramBody").reset(),this.form.get("paramBody").clearValidators(),void this.form.get("paramBody").updateValueAndValidity();this.updateTemplate(this.form.get("template").value)},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:mt}]},J([e.Output()],t.prototype,"updateGeneralInformationForm",void 0),J([e.Input()],t.prototype,"isReadOnlyMode",void 0),J([e.Input()],t.prototype,"isTouchedForm",null),t=J([e.Component({selector:"lib-general-information-sms",template:'<form autocomplete="off"\r\n\t[formGroup]="form">\r\n\t<div class="form-group">\r\n\t\t<mat-form-field appearance="outline"\r\n\t\t\tfloatLabel="always"\r\n\t\t\tclass="w-100">\r\n\t\t\t<mat-label class="asterix--after">Message Type</mat-label>\r\n\r\n\t\t\t<mat-select placeholder="Select message type"\r\n\t\t\t\tformControlName="channel">\r\n\t\t\t\t<mat-option *ngFor="let option of msgTypeWAOption"\r\n\t\t\t\t\t[value]="option.code"\r\n\t\t\t\t\t(click)="formReset()">\r\n\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t</mat-option>\r\n\t\t\t</mat-select>\r\n\t\t</mat-form-field>\r\n\r\n\t\t<mat-error align="end"\r\n\t\t\t*ngFor="let validation of validationMessages.channel">\r\n\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t*ngIf="form.get(\'channel\').touched \r\n\t\t\t\t\t&& form.get(\'channel\').hasError(validation.type)">\r\n\t\t\t\t{{ validation.message }}\r\n\t\t\t</p>\r\n\t\t</mat-error>\r\n\t</div>\r\n\r\n\t<div class="form-group">\r\n\t\t<mat-form-field appearance="outline"\r\n\t\t\tfloatLabel="always"\r\n\t\t\tclass="w-100"\r\n\t\t\tstyle="margin-bottom: 20;">\r\n\t\t\t<mat-label class="asterix--after">From</mat-label>\r\n\r\n\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\tformControlName="from"\r\n\t\t\t\tplaceholder="Select from"\r\n\t\t\t\t[complete]="isHaveNextAccountOption === false"\r\n\t\t\t\t[compareWith]="accountSelectedDisplay"\r\n\t\t\t\t(infiniteScroll)="getNextAccountBatch()"\r\n\t\t\t\t(selectionChange)="getTemplateOptionService($event.value)">\r\n\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t[currentValue]="form?.get(\'from\').value?.name"\r\n\t\t\t\t\t\t(searchRes)="updateSearchAccount($event)"></lib-search>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<mat-option *ngFor="let option of accountOption"\r\n\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t{{ option.name + \' (\' + option.accountNo + \')\' }}\r\n\t\t\t\t</mat-option>\r\n\t\t\t\t<mat-option *ngIf="isLoadingAccountOption">Loading...</mat-option>\r\n\t\t\t</mat-select>\r\n\t\t</mat-form-field>\r\n\r\n\t\t<mat-error align="end"\r\n\t\t\t*ngFor="let validation of validationMessages.from">\r\n\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t*ngIf="form.get(\'from\').touched \r\n\t\t\t\t\t&& form.get(\'from\').hasError(validation.type)">\r\n\t\t\t\t{{ validation.message }}\r\n\t\t\t</p>\r\n\t\t</mat-error>\r\n\t</div>\r\n\r\n\t<ng-container *ngIf="form.get(\'channel\').value === \'TEXT\'">\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always">\r\n\t\t\t\t<mat-label class="asterix--after">Message</mat-label>\r\n\r\n\t\t\t\t<textarea matInput\r\n\t\t\t\t\trows="6"\r\n\t\t\t\t\tcols="50"\r\n\t\t\t\t\tcdkTextareaAutosize\r\n\t\t\t\t\tcdkAutosizeMinRows="2"\r\n\t\t\t\t\tcdkAutosizeMaxRows="15"\r\n\t\t\t\t\tplaceholder="Enter text"\r\n\t\t\t\t\tformControlName="text"\r\n\t\t\t\t\t#autosize="cdkTextareaAutosize"></textarea>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.text">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'text\').touched \r\n\t\t\t\t\t&& form.get(\'text\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf="form.get(\'channel\').value === \'TEMPLATE\'">\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always"\r\n\t\t\t\tclass="w-100">\r\n\t\t\t\t<mat-label class="asterix--after">Template</mat-label>\r\n\r\n\t\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\t\tformControlName="template"\r\n\t\t\t\t\tplaceholder="Select template"\r\n\t\t\t\t\t[complete]="isHaveNextTemplateOption === false"\r\n\t\t\t\t\t[compareWith]="templateSelectedDisplay"\r\n\t\t\t\t\t(infiniteScroll)="getNextTemplateBatch()"\r\n\t\t\t\t\t(selectionChange)="updateTemplate($event.value)">\r\n\t\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t\t[currentValue]="form?.get(\'template\').value?.name"\r\n\t\t\t\t\t\t\t(searchRes)="updateSearch($event)"></lib-search>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<mat-option *ngFor="let option of templateOption"\r\n\t\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t<mat-option *ngIf="isLoadingTemplateOption">Loading...</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.template">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'template\').touched \r\n\t\t\t\t\t\t\t&& form.get(\'template\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\r\n\t\t<div *ngIf="isHaveTemplateParam"\r\n\t\t\tclass="d-flex justify-content-end">\r\n\t\t\t<mat-checkbox labelPosition="before"\r\n\t\t\t\tformControlName="isUpload"\r\n\t\t\t\t(change)="updateDownloadCSV($event.checked)">\r\n\t\t\t\tUsing Download XLSX\r\n\t\t\t</mat-checkbox>\r\n\t\t</div>\r\n\r\n\t\t<ng-container *ngIf="!form.get(\'isUpload\').value && getParamBody?.length > 0">\r\n\t\t\t<p class="font-16px font-PoppinsBold mt-3">Body Parameter</p>\r\n\r\n\t\t\t<div *ngFor="\r\n\t\t\tlet param of getParamBody;\r\n\t\t\tlet paramBodyIndex = index\r\n\t\t"\r\n\t\t\t\tclass="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<mat-label>Parameter {{ paramBodyIndex + 1 }}</mat-label>\r\n\r\n\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\t[placeholder]="\'Parameter \' + (paramBodyIndex + 1)"\r\n\t\t\t\t\t\t[formControl]="param.get(\'name\')" />\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n</form>\r\n',styles:['.asterix--after:after{content:"*";color:red}']})],t)}();!function(t){t.GOOGLE_MAP_API_KEY="AIzaSyCHReBe_RpzAgLTrUC5QIDyeKttQ817wRY",t.MEDIUM_TYPE_WHATSAPP="WHATSAPP",t.MEDIA_TYPE_IMAGE="IMAGE",t.MEDIA_TYPE_VIDEO="VIDEO",t.MEDIA_TYPE_DOCUMENT="DOCUMENT",t.MEDIA_TYPE_LOCATION="LOCATION",t.SCHEDULER_TYPE_NOW="NOW",t.SCHEDULER_TYPE_SINGLE="SINGLE",t.SCHEDULER_TYPE_MULTIPLE="MULTIPLE"}(Ft||(Ft={}));var te=function(){function t(t,n,a,r){this.ngZone=t,this.mapsAPILoader=n,this.apiAdapterService=a,this.toastr=r,this.msgTypeWAOption=[],this.mediaTypeOption=[],this.accountOption=[],this.isHaveNextAccountOption=!0,this.isLoadingAccountOption=!1,this.templateOption=[],this.isHaveNextTemplateOption=!0,this.isLoadingTemplateOption=!1,this.isHaveTemplateParam=!1,this.isShowParameter=!1,this.extFileAccepted="image/*",this.pageNoAccountOption=1,this.pageNoTemplateOption=1,this.subscribers=[],this.updateGeneralInformationForm=new e.EventEmitter}return Object.defineProperty(t.prototype,"isTouchedForm",{set:function(t){var e=this;this.updateGeneralInformationForm&&setTimeout((function(){e.updateGeneralInformationForm.emit(e.form)}))},enumerable:!0,configurable:!0}),t.prototype.ngOnInit=function(){var t,e,n,a,r,i,o;this.msgTypeWAOption=ft,this.mediaTypeOption=yt,this.categoryOption=Rt(rt),this.validationMessages=Vt,this.maps={zoom:15,latitude:null,longitude:null,isDraggable:!0,isDoubleClickZoom:!0},this.initForm(),this.initDisable(),this.initEdit(),this.initValidation(),this.getAccountOptionService("WA"===(null===(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.form)||void 0===n?void 0:n.medium)?null===(o=null===(i=null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===r?void 0:r.form)||void 0===i?void 0:i.from)||void 0===o?void 0:o.name:"")},Object.defineProperty(t.prototype,"getCampaignStorage",{get:function(){return localStorage.getItem("telin.campaign")?JSON.parse(localStorage.getItem("telin.campaign")):{}},enumerable:!0,configurable:!0}),t.prototype.initForm=function(){var t=this;this.form=new m.FormGroup({channel:new m.FormControl(null,m.Validators.required),media:new m.FormControl(null),from:new m.FormControl(null),text:new m.FormControl(null),fileName:new m.FormControl(null),targetURL:new m.FormControl(null),fileType:new m.FormControl(null),file:new m.FormControl(null),latitude:new m.FormControl(null),longitude:new m.FormControl(null),template:new m.FormControl(null),paramHeader:new m.FormArray([],m.Validators.required),paramBody:new m.FormArray([],m.Validators.required),paramButton:new m.FormArray([],m.Validators.required),otpValue:new m.FormControl(""),isUpload:new m.FormControl(!1),fileId:new m.FormControl(""),category:new m.FormControl(null),product:new m.FormControl(null),catalogue:new m.FormControl(null),body:new m.FormControl(null)}),this.form.valueChanges.subscribe((function(){setTimeout((function(){t.updateGeneralInformationForm.emit(t.form)}))}))},t.prototype.initDisable=function(){this.isReadOnlyMode&&this.form.disable()},t.prototype.initEdit=function(){var t,e,n,a,r,i,o,l,s,d,m,c,p,u,g,v,f,h,b,y,x,S,w,C,I;0!==Object.entries(this.getCampaignStorage).length&&"WA"===(null===(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.form)||void 0===n?void 0:n.medium)&&(this.form.get("channel").setValue(null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.generalInformation)||void 0===r?void 0:r.form.channel),this.form.get("media").setValue(null===(o=null===(i=this.getCampaignStorage)||void 0===i?void 0:i.generalInformation)||void 0===o?void 0:o.form.media),this.form.get("from").setValue(null===(s=null===(l=this.getCampaignStorage)||void 0===l?void 0:l.generalInformation)||void 0===s?void 0:s.form.from),this.form.get("text").setValue(null===(m=null===(d=this.getCampaignStorage)||void 0===d?void 0:d.generalInformation)||void 0===m?void 0:m.form.text),this.form.get("targetURL").setValue(null===(p=null===(c=this.getCampaignStorage)||void 0===c?void 0:c.generalInformation)||void 0===p?void 0:p.form.targetURL),this.form.get("fileName").setValue(null!=(v=null===(g=null===(u=this.getCampaignStorage)||void 0===u?void 0:u.generalInformation)||void 0===g?void 0:g.form.fileName)?v:this.form.get("targetURL").value),this.form.get("template").setValue(null===(h=null===(f=this.getCampaignStorage)||void 0===f?void 0:f.generalInformation)||void 0===h?void 0:h.form.template),this.form.get("isUpload").setValue(null===(y=null===(b=this.getCampaignStorage)||void 0===b?void 0:b.generalInformation)||void 0===y?void 0:y.form.isUpload),this.form.get("fileId").setValue(null===(S=null===(x=this.getCampaignStorage)||void 0===x?void 0:x.generalInformation)||void 0===S?void 0:S.form.fileId),this.form.get("otpValue").setValue(null===(C=null===(w=this.getCampaignStorage)||void 0===w?void 0:w.generalInformation)||void 0===C?void 0:C.form.otpValue),this.isHaveTemplateParam=this.form.get("isUpload").value,this.getTemplateOptionService(null,null===(I=this.form.get("template").value)||void 0===I?void 0:I.name))},t.prototype.initValidation=function(){for(var t in this.form.controls)this.form.controls[t].clearValidators(),this.form.controls[t].updateValueAndValidity();this.form.get("channel").setValidators(m.Validators.required),this.getIsText?(this.form.get("from").setValidators(m.Validators.required),this.form.get("text").setValidators(m.Validators.required),this.form.get("from").updateValueAndValidity(),this.form.get("text").updateValueAndValidity()):this.getIsMedia?(this.form.get("media").setValidators(m.Validators.required),this.form.get("from").setValidators(m.Validators.required),this.form.get("fileName").setValidators(m.Validators.required),this.form.get("media").updateValueAndValidity(),this.form.get("from").updateValueAndValidity(),this.form.get("fileName").updateValueAndValidity()):this.getIsTemplate?(this.form.get("from").setValidators(m.Validators.required),this.form.get("template").setValidators(m.Validators.required),this.form.get("paramHeader").setValidators(m.Validators.required),this.form.get("paramBody").setValidators(m.Validators.required),this.form.get("paramButton").setValidators(m.Validators.required),this.form.get("from").updateValueAndValidity(),this.form.get("template").updateValueAndValidity(),this.form.get("paramHeader").updateValueAndValidity(),this.form.get("paramBody").updateValueAndValidity(),this.form.get("paramButton").updateValueAndValidity()):this.getIsCatalogue?(this.form.get("from").setValidators(m.Validators.required),this.form.get("category").setValidators(m.Validators.required),this.form.get("catalogue").setValidators(m.Validators.required),this.form.get("product").setValidators(m.Validators.required),this.form.get("body").setValidators(m.Validators.maxLength(100)),this.form.get("from").updateValueAndValidity(),this.form.get("category").updateValueAndValidity(),this.form.get("catalogue").updateValueAndValidity(),this.form.get("product").updateValueAndValidity(),this.form.get("body").updateValueAndValidity()):(this.form.get("from").setValidators(m.Validators.required),this.form.get("text").setValidators(m.Validators.required),this.form.get("from").updateValueAndValidity(),this.form.get("text").updateValueAndValidity())},t.prototype.formReset=function(t){void 0===t&&(t=!1),t||(this.form.get("media").reset(),this.form.get("from").reset()),this.form.get("text").reset(),this.form.get("fileName").reset(),this.form.get("targetURL").reset(),this.form.get("fileType").reset(),this.form.get("file").reset(),this.form.get("latitude").reset(),this.form.get("longitude").reset(),this.form.get("template").reset(),this.form.get("category").reset(),this.form.get("product").reset(),this.form.get("catalogue").reset(),this.form.get("body").reset(),this.form.get("otpValue").reset(),this.form.get("paramHeader").controls=[],this.form.get("paramHeader").reset(),this.form.get("paramBody").controls=[],this.form.get("paramBody").reset(),this.form.get("paramButton").controls=[],this.form.get("paramButton").reset(),this.initValidation()},t.prototype.initParam=function(t,e,n){return{name:t,value:e,in:"query",type:n}},t.prototype.getAccountOptionService=function(t,e){var n=this;void 0===t&&(t=""),void 0===e&&(e=!1),this.isLoadingAccountOption=!0;var a=[this.initParam("pageNo",this.pageNoAccountOption,"number"),this.initParam("rowPerPage",20,"number"),this.initParam("platform","WA","string"),this.initParam("status","APPROVED","string"),this.initParam("filter",t,"string")],r=this.apiAdapterService.executeApiRequest(a,"/admin/account","GET").subscribe((function(t){t.data&&(n.accountOption=e?Z(n.accountOption,t.data):t.data,n.isHaveNextAccountOption=t.haveNext,n.isLoadingAccountOption=!1)}));this.subscribers.push(r)},t.prototype.getTemplateOptionService=function(t,e,n){var a,r,i,o=this;void 0===t&&(t=null),void 0===e&&(e=""),void 0===n&&(n=!1),this.isLoadingTemplateOption=!0;var l=[this.initParam("pageNo",this.pageNoTemplateOption,"number"),this.initParam("rowPerPage",20,"number"),this.initParam("platform","WA","string"),this.initParam("filter",e,"string"),this.initParam("status","APPROVED","string"),this.initParam("clientId",null===(a=this.form.get("from").value)||void 0===a?void 0:a.clientId,"string"),this.initParam("wabaId",(i=null===(r=this.form.get("from").value)||void 0===r?void 0:r.wabaId,null!=i?i:""),"string")];this.isReadOnlyMode&&l.push(this.initParam("summary",!0,"string"));var s=this.apiAdapterService.executeApiRequest(l,"/message/template","GET").subscribe((function(t){var e;o.templateOption=n?Z(o.templateOption,t.data):t.data,o.isHaveNextTemplateOption=t.haveNext,o.isLoadingTemplateOption=!1;var a=null===(e=o.templateOption)||void 0===e?void 0:e.find((function(t){var e;return t.ID===(null===(e=o.form.get("template").value)||void 0===e?void 0:e.ID)}));if(a&&(o.form.get("template").setValue(a),o.form.get("isUpload").value))return o.updateDownloadCSV(o.form.get("isUpload").value);o.updateTemplate(o.form.get("template").value)}));this.subscribers.push(s)},t.prototype.initParameter=function(t,e){return void 0===t&&(t=!1),void 0===e&&(e=""),t?new m.FormGroup({name:new m.FormArray([],m.Validators.required)}):new m.FormGroup({name:new m.FormControl({value:e,disabled:this.isReadOnlyMode||["$UnsubscribeAccount"].includes(e)},m.Validators.required)})},Object.defineProperty(t.prototype,"getParamHeader",{get:function(){return this.form.get("paramHeader").controls},enumerable:!0,configurable:!0}),t.prototype.addParamHeader=function(t){void 0===t&&(t="");var e=this.initParameter(!1,t);this.form.get("paramHeader").push(e)},Object.defineProperty(t.prototype,"getParamBody",{get:function(){return this.form.get("paramBody").controls},enumerable:!0,configurable:!0}),t.prototype.addParamBody=function(t){void 0===t&&(t="");var e=this.initParameter(!1,t);this.form.get("paramBody").push(e)},Object.defineProperty(t.prototype,"getButton",{get:function(){return this.form.get("paramButton").controls},enumerable:!0,configurable:!0}),t.prototype.getParamButton=function(t){return this.form.get("paramButton").controls[t].get("name").controls},t.prototype.addParamButton=function(){var t=this.initParameter(!0);this.form.get("paramButton").push(t)},Object.defineProperty(t.prototype,"getIsText",{get:function(){var t;return this.form.get("channel").value&&"text"===(null===(t=this.form.get("channel").value)||void 0===t?void 0:t.toLowerCase())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getIsMedia",{get:function(){var t;return this.form.get("channel").value&&"media"===(null===(t=this.form.get("channel").value)||void 0===t?void 0:t.toLowerCase())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getIsTemplate",{get:function(){var t;return this.form.get("channel").value&&"template"===(null===(t=this.form.get("channel").value)||void 0===t?void 0:t.toLowerCase())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getIsCatalogue",{get:function(){var t;return this.form.get("channel").value&&"catalogue"===(null===(t=this.form.get("channel").value)||void 0===t?void 0:t.toLowerCase())},enumerable:!0,configurable:!0}),t.prototype.getNextAccountBatch=function(){this.isHaveNextAccountOption&&(this.pageNoAccountOption+=1,this.getAccountOptionService("",!0))},t.prototype.accountSelectedDisplay=function(t,e){return t&&e&&t.id==e.id?t.name+" ("+t.accountNo+")":""},t.prototype.getNextTemplateBatch=function(){this.isHaveNextTemplateOption&&(this.pageNoTemplateOption+=1,this.getTemplateOptionService(null,"",!0))},t.prototype.templateSelectedDisplay=function(t,e){return t&&e&&t.name==e.name?""+t.name:""},t.prototype.onFileSelected=function(t){var e=t.target.files,n=this.extFileAccepted.split("/"),a=n[0];0!==e.length&&("application/pdf"===this.extFileAccepted&&(a=n[1]),e[0].type.includes(a)?e[0].size>1e7?this.toastr.error("Upload media failed, max size 10mb"):(this.form.get("file").setValue(e[0]),this.form.get("fileType").setValue("image"),this.form.get("fileName").setValue(e[0].name),this.form.get("targetURL").setValidators(m.Validators.required),this.form.get("targetURL").updateValueAndValidity(),e[0].type.indexOf("video")>-1&&this.form.get("fileType").setValue("video"),this.uploadMediaService()):this.toastr.error("Sorry, the file you are uploading is not allowed"))},t.prototype.uploadMediaService=function(){var t=this,e=[{name:"file",value:this.form.get("file").value,in:"formData",type:"object"}],n=this.apiAdapterService.executeApiRequest(e,"/message/media","POST").subscribe((function(e){t.form.get("targetURL").clearValidators(),t.form.get("targetURL").updateValueAndValidity(),t.form.get("targetURL").setValue(e.data.targetURL),t.form.get("file").reset(),t.toastr.success("Upload media success")}));this.subscribers.push(n)},t.prototype.updateTemplate=function(t){var e,n,a,r,i,o,l,s,d,c,p,u,g,v,f,h,b,y,x,S,w,C,I,T,A,O,V,P,M,N,D,L,F,E,R=this;if(this.isShowParameter=!1,t){this.isHaveTemplateParam=(null===(e=t.header.examples)||void 0===e?void 0:e.length)>0||(null===(n=t.body.examples)||void 0===n?void 0:n.length)>0||(null===(a=t.buttons)||void 0===a?void 0:a.length)>0,["image","video","document"].includes(null===(o=null===(i=null===(r=t)||void 0===r?void 0:r.header)||void 0===i?void 0:i.type)||void 0===o?void 0:o.toLowerCase())&&(this.form.get("fileName").setValue(null!=(u=null!=(d=null===(s=null===(l=this.getCampaignStorage)||void 0===l?void 0:l.generalInformation)||void 0===s?void 0:s.form.fileName)?d:null===(p=null===(c=this.getCampaignStorage)||void 0===c?void 0:c.generalInformation)||void 0===p?void 0:p.form.targetURL)?u:t.header.url),this.form.get("targetURL").setValue(null!=(f=null===(v=null===(g=this.getCampaignStorage)||void 0===g?void 0:g.generalInformation)||void 0===v?void 0:v.form.targetURL)?f:t.header.url),this.fileTypeChange(null===(y=null===(b=null===(h=t)||void 0===h?void 0:h.header)||void 0===b?void 0:b.type)||void 0===y?void 0:y.toLowerCase())),(null===(x=t.header.examples)||void 0===x?void 0:x.length)>0?this.form.get("paramHeader").setValidators(m.Validators.required):this.form.get("paramHeader").clearValidators(),(null===(S=t.body.examples)||void 0===S?void 0:S.length)>0?this.form.get("paramBody").setValidators(m.Validators.required):this.form.get("paramBody").clearValidators(),(null===(w=t.buttons)||void 0===w?void 0:w.length)>0?this.form.get("paramButton").setValidators(m.Validators.required):this.form.get("paramButton").clearValidators(),this.form.get("paramHeader").controls=[],this.form.get("paramHeader").reset(),this.form.get("paramHeader").updateValueAndValidity(),this.form.get("paramBody").controls=[],this.form.get("paramBody").reset(),this.form.get("paramBody").updateValueAndValidity(),this.form.get("paramButton").controls=[],this.form.get("paramButton").reset(),this.form.get("paramButton").updateValueAndValidity(),this.form.get("otpValue").setValue(""),this.form.get("otpValue").clearValidators(),this.form.get("otpValue").updateValueAndValidity();var k=null===(I=null===(C=this.getCampaignStorage)||void 0===C?void 0:C.generalInformation)||void 0===I?void 0:I.form;"AUTHENTICATION"===t.category&&(this.form.get("otpValue").setValue(null!=(D=null!=(A=null===(T=k)||void 0===T?void 0:T.otpValue)?A:null===(N=Z(null!=(M=null===(P=null===(V=null===(O=k)||void 0===O?void 0:O.template)||void 0===V?void 0:V.body)||void 0===P?void 0:P.examples)?M:[]))||void 0===N?void 0:N.pop())?D:""),this.form.get("otpValue").setValidators(m.Validators.required),this.form.get("otpValue").updateValueAndValidity()),null===(L=t.header.examples)||void 0===L||L.forEach((function(t,e){var n,a,r,i,o,l,s;R.addParamHeader(null!=(s=null!=(i=null===(r=null===(a=null===(n=k)||void 0===n?void 0:n.paramHeader)||void 0===a?void 0:a[e])||void 0===r?void 0:r.name)?i:null===(l=null===(o=k)||void 0===o?void 0:o.paramHeader)||void 0===l?void 0:l[e])?s:"")})),null===(F=t.body.examples)||void 0===F||F.forEach((function(t,e){var n,a,r,i,o,l,s,d=null!=(s=null!=(i=null===(r=null===(a=null===(n=k)||void 0===n?void 0:n.paramBody)||void 0===a?void 0:a[e])||void 0===r?void 0:r.name)?i:null===(l=null===(o=k)||void 0===o?void 0:o.paramBody)||void 0===l?void 0:l[e])?s:"";["$UnsubscribeAccount"].includes(t)&&(d=t),R.addParamBody(d)})),null===(E=t.buttons)||void 0===E||E.forEach((function(t,e){var n;R.addParamButton();var a=R.getButton;(null===(n=t.examples)||void 0===n?void 0:n.length)>0?t.examples.forEach((function(n,r){var i,o,l,s,d,m,c,p,u,g,v,f,h,b,y,x=null;"FLOW"===t.type?x=R.initParameter(!1,t.flow_id):(R.isShowParameter=!0,x=R.initParameter(!1,null!=(y=null!=(v=null!=(m=null===(d=null===(s=null===(l=null===(o=null===(i=k)||void 0===i?void 0:i.paramButton)||void 0===o?void 0:o[e])||void 0===l?void 0:l.name)||void 0===s?void 0:s[r])||void 0===d?void 0:d.name)?m:null===(g=null===(u=null===(p=null===(c=k)||void 0===c?void 0:c.paramButton)||void 0===p?void 0:p[e])||void 0===u?void 0:u.name)||void 0===g?void 0:g[r])?v:null===(b=null===(h=null===(f=k)||void 0===f?void 0:f.paramButton)||void 0===h?void 0:h[e])||void 0===b?void 0:b[r])?y:"")),a[a.length-1].get("name").push(x)})):(a[a.length-1].get("name").clearValidators(),a[a.length-1].get("name").updateValueAndValidity())}))}},t.prototype.updateMediaType=function(t){t===Ft.MEDIA_TYPE_LOCATION&&this.initMaps,this.formReset(!0),this.fileTypeChange(t.toLowerCase())},t.prototype.fileTypeChange=function(t){this.extFileAccepted="image/*",t===Ft.MEDIA_TYPE_VIDEO.toLowerCase()?this.extFileAccepted="video/*":t===Ft.MEDIA_TYPE_DOCUMENT.toLowerCase()&&(this.extFileAccepted="application/pdf")},t.prototype.updateSearch=function(t){this.pageNoTemplateOption=1,this.getTemplateOptionService(null,t)},t.prototype.updateSearchAccount=function(t){this.pageNoAccountOption=1,this.getAccountOptionService(t)},t.prototype.initMaps=function(){var t=this;this.mapsAPILoader.load().then((function(){t.setCurrentLocation(),t.geoCoder=new google.maps.Geocoder;var e=new google.maps.places.Autocomplete(t.mapSearchRef.nativeElement);e.addListener("place_changed",(function(){t.ngZone.run((function(){var n=e.getPlace();n.geometry&&(t.maps.latitude=n.geometry.location.lat(),t.maps.longitude=n.geometry.location.lng(),t.form.get("latitude").setValue(t.maps.latitude),t.form.get("longitude").setValue(t.maps.longitude))}))}))}))},t.prototype.setCurrentLocation=function(){var t=this;"geolocation"in navigator&&navigator.geolocation.getCurrentPosition((function(e){t.form.get("longitude").value||t.form.get("latitude").value||(t.maps.latitude=e.coords.latitude,t.maps.longitude=e.coords.longitude,t.form.get("latitude").setValue(t.maps.latitude),t.form.get("longitude").setValue(t.maps.longitude))}))},t.prototype.markerDragEnd=function(t){t.latLng&&(this.maps.latitude=t.latLng.lat(),this.maps.longitude=t.latLng.lng(),this.form.get("latitude").setValue(this.maps.latitude),this.form.get("longitude").setValue(this.maps.longitude))},t.prototype.updateDownloadCSV=function(t){if(this.form.get("isUpload").setValue(t),t)return this.form.get("paramHeader").controls=[],this.form.get("paramHeader").reset(),this.form.get("paramBody").controls=[],this.form.get("paramBody").reset(),this.form.get("paramButton").controls=[],this.form.get("paramButton").reset(),this.form.get("paramHeader").clearValidators(),this.form.get("paramBody").clearValidators(),this.form.get("paramButton").clearValidators(),this.form.get("paramHeader").updateValueAndValidity(),this.form.get("paramBody").updateValueAndValidity(),this.form.get("paramButton").updateValueAndValidity(),this.form.get("otpValue").reset(),this.form.get("otpValue").clearValidators(),void this.form.get("otpValue").updateValueAndValidity();this.updateTemplate(this.form.get("template").value)},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:e.NgZone},{type:n.MapsAPILoader},{type:mt},{type:s.ToastrService}]},J([e.Output()],t.prototype,"updateGeneralInformationForm",void 0),J([e.Input()],t.prototype,"isReadOnlyMode",void 0),J([e.Input()],t.prototype,"isTouchedForm",null),J([e.ViewChild("mapSearch")],t.prototype,"mapSearchRef",void 0),t=J([e.Component({selector:"lib-general-information-wa",template:'<form autocomplete="off"\r\n\t[formGroup]="form">\r\n\t<div class="form-group">\r\n\t\t<mat-form-field appearance="outline"\r\n\t\t\tfloatLabel="always"\r\n\t\t\tclass="w-100">\r\n\t\t\t<mat-label class="asterix--after">Message Type</mat-label>\r\n\r\n\t\t\t<mat-select placeholder="Select message type"\r\n\t\t\t\tformControlName="channel">\r\n\t\t\t\t<mat-option *ngFor="let option of msgTypeWAOption"\r\n\t\t\t\t\t[value]="option.code"\r\n\t\t\t\t\t(click)="formReset()">\r\n\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t</mat-option>\r\n\t\t\t</mat-select>\r\n\t\t</mat-form-field>\r\n\r\n\t\t<mat-error align="end"\r\n\t\t\t*ngFor="let validation of validationMessages.channel">\r\n\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t*ngIf="form.get(\'channel\').touched \r\n\t\t\t\t\t&& form.get(\'channel\').hasError(validation.type)">\r\n\t\t\t\t{{ validation.message }}\r\n\t\t\t</p>\r\n\t\t</mat-error>\r\n\r\n\t\t<div *ngIf="!getIsTemplate"\r\n\t\t\trole="alert"\r\n\t\t\tclass="alert alert-warning d-flex align-items-center"\r\n\t\t\tstyle="margin-top: 16px;border:1px solid rgb(243, 124, 44)">\r\n\t\t\t<mat-icon style="margin-right: 10px !important;">error_outline</mat-icon>\r\n\t\t\t<div>\r\n\t\t\t\tIf you select this channel, keep in mind that the message might not be delivered to\r\n\t\t\t\tall selected customers. This is because the customer must have had a conversation\r\n\t\t\t\tpreviously with BSP.\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<ng-container *ngIf="getIsText">\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always"\r\n\t\t\t\tclass="w-100"\r\n\t\t\t\tstyle="margin-bottom: 20;">\r\n\t\t\t\t<mat-label class="asterix--after">From</mat-label>\r\n\r\n\t\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\t\tformControlName="from"\r\n\t\t\t\t\tplaceholder="Select from"\r\n\t\t\t\t\t[complete]="isHaveNextAccountOption === false"\r\n\t\t\t\t\t[compareWith]="accountSelectedDisplay"\r\n\t\t\t\t\t(infiniteScroll)="getNextAccountBatch()">\r\n\t\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t\t[currentValue]="form?.get(\'from\').value?.name"\r\n\t\t\t\t\t\t\t(searchRes)="updateSearchAccount($event)"></lib-search>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<mat-option *ngFor="let option of accountOption"\r\n\t\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t\t{{ option.name + \' (\' + option.accountNo + \')\' }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t<mat-option *ngIf="isLoadingAccountOption">Loading...</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.from">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'from\').touched \r\n\t\t\t\t\t\t&& form.get(\'from\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always">\r\n\t\t\t\t<mat-label class="asterix--after">Text</mat-label>\r\n\r\n\t\t\t\t<textarea matInput\r\n\t\t\t\t\trows="6"\r\n\t\t\t\t\tcols="50"\r\n\t\t\t\t\tcdkTextareaAutosize\r\n\t\t\t\t\tcdkAutosizeMinRows="2"\r\n\t\t\t\t\tcdkAutosizeMaxRows="15"\r\n\t\t\t\t\tformControlName="text"\r\n\t\t\t\t\tplaceholder="Enter text"\r\n\t\t\t\t\t#autosize="cdkTextareaAutosize"></textarea>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.text">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'text\').touched \r\n\t\t\t\t\t\t&& form.get(\'text\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf="getIsMedia">\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always"\r\n\t\t\t\tclass="w-100">\r\n\t\t\t\t<mat-label class="asterix--after">Media Type</mat-label>\r\n\r\n\t\t\t\t<mat-select placeholder="Select media type"\r\n\t\t\t\t\tformControlName="media"\r\n\t\t\t\t\t(selectionChange)="updateMediaType($event.value)">\r\n\t\t\t\t\t<mat-option *ngFor="let option of mediaTypeOption"\r\n\t\t\t\t\t\t[value]="option.code">\r\n\t\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.media">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'media\').touched \r\n\t\t\t\t\t\t&& form.get(\'media\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always"\r\n\t\t\t\tclass="w-100"\r\n\t\t\t\tstyle="margin-bottom: 20;">\r\n\t\t\t\t<mat-label class="asterix--after">From</mat-label>\r\n\r\n\t\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\t\tformControlName="from"\r\n\t\t\t\t\tplaceholder="Select from"\r\n\t\t\t\t\t[complete]="isHaveNextAccountOption === false"\r\n\t\t\t\t\t[compareWith]="accountSelectedDisplay"\r\n\t\t\t\t\t(infiniteScroll)="getNextAccountBatch()">\r\n\t\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t\t[currentValue]="form?.get(\'from\').value?.name"\r\n\t\t\t\t\t\t\t(searchRes)="updateSearchAccount($event)"></lib-search>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<mat-option *ngFor="let option of accountOption"\r\n\t\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t\t{{ option.name + \' (\' + option.accountNo + \')\' }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t<mat-option *ngIf="isLoadingAccountOption">Loading...</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.from">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'from\').touched \r\n\t\t\t\t\t\t&& form.get(\'from\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\r\n\t\t<ng-container *ngIf="form.get(\'media\').value?.toLowerCase() !== \'location\'">\r\n\t\t\t<div class="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<mat-label class="asterix--after">File</mat-label>\r\n\r\n\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\tautocomplete="off"\r\n\t\t\t\t\t\t(click)="filePicker.click()"\r\n\t\t\t\t\t\tformControlName="fileName">\r\n\r\n\t\t\t\t\t<button mat-button\r\n\t\t\t\t\t\tmatSuffix\r\n\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\taria-label="Choose File"\r\n\t\t\t\t\t\t(click)="filePicker.click()">\r\n\t\t\t\t\t\t<mat-icon>attach_file</mat-icon>\r\n\t\t\t\t\t</button>\r\n\r\n\t\t\t\t\t<input #filePicker\r\n\t\t\t\t\t\thidden\r\n\t\t\t\t\t\ttype="file"\r\n\t\t\t\t\t\t[accept]="extFileAccepted"\r\n\t\t\t\t\t\t(change)="onFileSelected($event)" />\r\n\t\t\t\t</mat-form-field>\r\n\r\n\t\t\t\t<mat-error align="end"\r\n\t\t\t\t\t*ngFor="let validation of validationMessages.fileName">\r\n\t\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t\t*ngIf="form.get(\'fileName\').touched \r\n\t\t\t\t\t\t\t&& form.get(\'fileName\').hasError(validation.type)">\r\n\t\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\r\n\t\t<ng-container *ngIf="form.get(\'media\').value?.toLowerCase() === \'location\'">\r\n\t\t\t<div class="w-100">\r\n\t\t\t\t<h4 class="asterix--after">Location</h4>\r\n\r\n\t\t\t\t<div class="w-100">\r\n\t\t\t\t\t<agm-map style="width:100%; height:400px;"\r\n\t\t\t\t\t\t[latitude]="maps.latitude"\r\n\t\t\t\t\t\t[longitude]="maps.longitude"\r\n\t\t\t\t\t\t[disableDoubleClickZoom]="maps.isDoubleClickZoom"\r\n\t\t\t\t\t\t[zoom]="maps.zoom">\r\n\t\t\t\t\t\t<agm-marker [latitude]="maps.latitude"\r\n\t\t\t\t\t\t\t[longitude]="maps.longitude"\r\n\t\t\t\t\t\t\t[markerDraggable]="maps.isDraggable"\r\n\t\t\t\t\t\t\t(dragEnd)="markerDragEnd($event)"></agm-marker>\r\n\t\t\t\t\t</agm-map>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class="form-group">\r\n\t\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t\t<mat-label>Location</mat-label>\r\n\r\n\t\t\t\t\t\t<input #mapSearch\r\n\t\t\t\t\t\t\tmatInput\r\n\t\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\t\tmaxlength="100"\r\n\t\t\t\t\t\t\tplaceholder="Enter location here">\r\n\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf="getIsTemplate">\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always"\r\n\t\t\t\tclass="w-100"\r\n\t\t\t\tstyle="margin-bottom: 20;">\r\n\t\t\t\t<mat-label class="asterix--after">From</mat-label>\r\n\r\n\t\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\t\tformControlName="from"\r\n\t\t\t\t\tplaceholder="Select from"\r\n\t\t\t\t\t[complete]="isHaveNextAccountOption === false"\r\n\t\t\t\t\t[compareWith]="accountSelectedDisplay"\r\n\t\t\t\t\t(infiniteScroll)="getNextAccountBatch()"\r\n\t\t\t\t\t(selectionChange)="getTemplateOptionService($event.value)">\r\n\t\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t\t[currentValue]="form?.get(\'from\').value?.name"\r\n\t\t\t\t\t\t\t(searchRes)="updateSearchAccount($event)"></lib-search>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<mat-option *ngFor="let option of accountOption"\r\n\t\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t\t{{ option.name + \' (\' + option.accountNo + \')\' }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t<mat-option *ngIf="isLoadingAccountOption">Loading...</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.from">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'from\').touched \r\n\t\t\t\t\t\t&& form.get(\'from\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always"\r\n\t\t\t\tclass="w-100">\r\n\t\t\t\t<mat-label class="asterix--after">Template</mat-label>\r\n\r\n\t\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\t\tformControlName="template"\r\n\t\t\t\t\tplaceholder="Select template"\r\n\t\t\t\t\t[complete]="isHaveNextTemplateOption === false"\r\n\t\t\t\t\t[compareWith]="templateSelectedDisplay"\r\n\t\t\t\t\t(infiniteScroll)="getNextTemplateBatch()"\r\n\t\t\t\t\t(selectionChange)="updateTemplate($event.value)">\r\n\t\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t\t[currentValue]="form?.get(\'template\').value?.name"\r\n\t\t\t\t\t\t\t(searchRes)="updateSearch($event)"></lib-search>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<mat-option *ngFor="let option of templateOption"\r\n\t\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t<mat-option *ngIf="isLoadingTemplateOption">Loading...</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.template">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'template\').touched \r\n\t\t\t\t\t\t&& form.get(\'template\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\r\n\t\t<div *ngIf="isHaveTemplateParam"\r\n\t\t\tclass="d-flex justify-content-end">\r\n\t\t\t<mat-checkbox labelPosition="before"\r\n\t\t\t\tformControlName="isUpload"\r\n\t\t\t\t(change)="updateDownloadCSV($event.checked)">\r\n\t\t\t\tUsing Download XLSX\r\n\t\t\t</mat-checkbox>\r\n\t\t</div>\r\n\r\n\t\t<ng-container *ngIf="!form.get(\'isUpload\').value">\r\n\t\t\t<div *ngIf="form.get(\'template\').value?.category === \'AUTHENTICATION\'"\r\n\t\t\t\tclass="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<mat-label> OTP Value </mat-label>\r\n\r\n\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\tformControlName="otpValue">\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\r\n\t\t\t<ng-container *ngIf="getParamHeader?.length > 0">\r\n\t\t\t\t<p class="font-16px font-PoppinsBold">Header Parameter</p>\r\n\r\n\t\t\t\t<div *ngFor="\r\n\t\t\t\t\tlet param of getParamHeader;\r\n\t\t\t\t\tlet paramHeaderIndex = index\r\n\t\t\t\t"\r\n\t\t\t\t\tclass="form-group">\r\n\t\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t\t<mat-label>Parameter {{ paramHeaderIndex + 1 }}</mat-label>\r\n\r\n\t\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\t\t[placeholder]="\'Parameter \' + (paramHeaderIndex + 1)"\r\n\t\t\t\t\t\t\t[formControl]="param.get(\'name\')" />\r\n\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<ng-container *ngIf="getParamBody?.length > 0">\r\n\t\t\t\t<p class="font-16px font-PoppinsBold mt-3">Body Parameter</p>\r\n\r\n\t\t\t\t<div *ngFor="\r\n\t\t\t\t\t\tlet param of getParamBody;\r\n\t\t\t\t\t\tlet paramBodyIndex = index\r\n\t\t\t\t\t"\r\n\t\t\t\t\tclass="form-group">\r\n\t\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t\t<mat-label>Parameter {{ paramBodyIndex + 1 }}</mat-label>\r\n\r\n\t\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\t\t[placeholder]="\'Parameter \' + (paramBodyIndex + 1)"\r\n\t\t\t\t\t\t\t[formControl]="param.get(\'name\')" />\r\n\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t</div>\r\n\t\t\t</ng-container>\r\n\r\n\t\t\t<ng-container *ngIf="isShowParameter">\r\n\t\t\t\t<p class="font-16px font-PoppinsBold mt-3">Button Parameter</p>\r\n\r\n\t\t\t\t<ng-container *ngFor="let button of getButton; let buttonIndex = index">\r\n\t\t\t\t\t<ng-container *ngIf="getParamButton(buttonIndex)?.length > 0">\r\n\t\t\t\t\t\t<p class="font-14px font-PoppinsBold mt-3">Button {{ buttonIndex + 1 }}</p>\r\n\r\n\t\t\t\t\t\t<div *ngFor="let param of getParamButton(buttonIndex); let paramIndex = index"\r\n\t\t\t\t\t\t\tclass="form-group">\r\n\t\t\t\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t\t\t\t<mat-label>Parameter {{ paramIndex + 1 }}</mat-label>\r\n\r\n\t\t\t\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\t\t\t\t[placeholder]="\'Parameter \' + (paramIndex + 1)"\r\n\t\t\t\t\t\t\t\t\t[formControl]="param.get(\'name\')" />\r\n\t\t\t\t\t\t\t</mat-form-field>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</ng-container>\r\n\t\t</ng-container>\r\n\r\n\t\t<ng-container\r\n\t\t\t*ngIf="[\'image\',\'video\',\'document\'].includes(form.get(\'template\').value?.header?.type?.toLowerCase())">\r\n\t\t\t<p class="font-16px font-PoppinsBold mt-3">File</p>\r\n\r\n\t\t\t<div class="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<mat-label class="asterix--after">File</mat-label>\r\n\r\n\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\tautocomplete="off"\r\n\t\t\t\t\t\t(click)="filePicker.click()"\r\n\t\t\t\t\t\tformControlName="fileName">\r\n\r\n\t\t\t\t\t<button mat-button\r\n\t\t\t\t\t\tmatSuffix\r\n\t\t\t\t\t\tmat-icon-button\r\n\t\t\t\t\t\taria-label="Choose File"\r\n\t\t\t\t\t\t(click)="filePicker.click()">\r\n\t\t\t\t\t\t<mat-icon>attach_file</mat-icon>\r\n\t\t\t\t\t</button>\r\n\r\n\t\t\t\t\t<input #filePicker\r\n\t\t\t\t\t\thidden\r\n\t\t\t\t\t\ttype="file"\r\n\t\t\t\t\t\t[accept]="extFileAccepted"\r\n\t\t\t\t\t\t(change)="onFileSelected($event)" />\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n\r\n\t<ng-container *ngIf="getIsCatalogue">\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always"\r\n\t\t\t\tclass="w-100"\r\n\t\t\t\tstyle="margin-bottom: 20;">\r\n\t\t\t\t<mat-label class="asterix--after">From</mat-label>\r\n\r\n\t\t\t\t<mat-select matSelectInfiniteScroll\r\n\t\t\t\t\tformControlName="from"\r\n\t\t\t\t\tplaceholder="Select from"\r\n\t\t\t\t\t[complete]="isHaveNextAccountOption === false"\r\n\t\t\t\t\t[compareWith]="accountSelectedDisplay"\r\n\t\t\t\t\t(infiniteScroll)="getNextAccountBatch()">\r\n\t\t\t\t\t<div style="margin: 20px">\r\n\t\t\t\t\t\t<lib-search [placeholder]="\'Search\'"\r\n\t\t\t\t\t\t\t[currentValue]="form?.get(\'from\').value?.name"\r\n\t\t\t\t\t\t\t(searchRes)="updateSearchAccount($event)"></lib-search>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<mat-option *ngFor="let option of accountOption"\r\n\t\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t\t{{ option.name + \' (\' + option.accountNo + \')\' }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t<mat-option *ngIf="isLoadingAccountOption">Loading...</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.from">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'from\').touched \r\n\t\t\t\t\t\t&& form.get(\'from\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always"\r\n\t\t\t\tclass="w-100"\r\n\t\t\t\tstyle="margin-bottom: 20;">\r\n\t\t\t\t<mat-label class="asterix--after">Category</mat-label>\r\n\r\n\t\t\t\t<mat-select formControlName="category"\r\n\t\t\t\t\tplaceholder="Select category">\r\n\t\t\t\t\t<mat-option *ngFor="let option of categoryOption"\r\n\t\t\t\t\t\t[value]="option.value">\r\n\t\t\t\t\t\t{{ option.label }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.category">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'category\').touched \r\n\t\t\t\t\t\t&& form.get(\'category\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\r\n\t\t<div class="form-group">\r\n\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\tfloatLabel="always"\r\n\t\t\t\tclass="w-100"\r\n\t\t\t\tstyle="margin-bottom: 20;">\r\n\t\t\t\t<mat-label class="asterix--after">Catalog</mat-label>\r\n\r\n\t\t\t\t<mat-select formControlName="catalogue"\r\n\t\t\t\t\tplaceholder="Select catalog">\r\n\t\t\t\t\t<mat-option *ngFor="let option of accountOption"\r\n\t\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t\t</mat-option>\r\n\t\t\t\t</mat-select>\r\n\t\t\t</mat-form-field>\r\n\r\n\t\t\t<mat-error align="end"\r\n\t\t\t\t*ngFor="let validation of validationMessages.catalogue">\r\n\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t*ngIf="form.get(\'catalogue\').touched \r\n\t\t\t\t\t\t&& form.get(\'catalogue\').hasError(validation.type)">\r\n\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t</p>\r\n\t\t\t</mat-error>\r\n\t\t</div>\r\n\r\n\t\t<div *ngIf="form.get(\'category\').value === \'product\'"\r\n\t\t\tstyle="padding: 8px;border-radius: 8px;border: 1px solid #6177c4;">\r\n\r\n\t\t\t<div class="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<mat-label class="asterix--after">Product</mat-label>\r\n\r\n\t\t\t\t\t<mat-select formControlName="product"\r\n\t\t\t\t\t\tplaceholder="Select product">\r\n\t\t\t\t\t\t<mat-option *ngFor="let option of accountOption"\r\n\t\t\t\t\t\t\t[value]="option">\r\n\t\t\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t</mat-select>\r\n\t\t\t\t</mat-form-field>\r\n\r\n\t\t\t\t<mat-error align="end"\r\n\t\t\t\t\t*ngFor="let validation of validationMessages.product">\r\n\t\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t\t*ngIf="form.get(\'product\').touched \r\n\t\t\t\t\t\t\t&& form.get(\'product\').hasError(validation.type)">\r\n\t\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class="form-group">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<mat-label>Body</mat-label>\r\n\r\n\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\tmaxlength="100"\r\n\t\t\t\t\t\tformControlName="body"\r\n\t\t\t\t\t\tplaceholder="Enter body">\r\n\t\t\t\t</mat-form-field>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</ng-container>\r\n</form>\r\n',styles:['.asterix--after:after{content:"*";color:red}']})],t)}();var ee=function(){function t(t){this.apiAdapterService=t,this.isHaveNextTemplateOption=$({},It),this.isLoadingTemplateOption=$({},Ct),this.templateOption=$({},At),this.isLoadingAccountOption=$({},Ct),this.isHaveNextAccountOption=$({},It),this.accountOption=$({},At),this.subscribers=[],this.pageNoTemplateOption=$({},Tt),this.pageNoAccountOption=$({},Tt),this.failover=new e.EventEmitter}return t.prototype.ngOnInit=function(){var t=this;this.validationMessages=Dt,this.channelOption=Z(vt).filter((function(e){var n,a,r;return!["LINE",null===(r=null===(a=null===(n=t.getCampaignStorage)||void 0===n?void 0:n.generalInformation)||void 0===a?void 0:a.form)||void 0===r?void 0:r.medium].includes(e.value)})),this.initForm(),this.initDisable(),this.initEdit(),this.failover.emit(this.form)},Object.defineProperty(t.prototype,"getCampaignStorage",{get:function(){return localStorage.getItem("telin.campaign")?JSON.parse(localStorage.getItem("telin.campaign")):{}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"interval",{get:function(){return this.form.get("interval")},enumerable:!0,configurable:!0}),t.prototype.initForm=function(){var t=this;this.form=new m.FormGroup({active:new m.FormControl(!1,m.Validators.required),type:new m.FormControl(""),interval:new m.FormControl(null),accounts:new m.FormArray([])}),this.form.valueChanges.subscribe((function(){t.interval.touched&&0===t.interval.value&&t.form.get("interval").setErrors({intervalTime:!0}),t.failover.emit(t.form)}))},t.prototype.initDisable=function(){this.isReadOnlyMode&&this.form.disable()},t.prototype.initEdit=function(){var t,e,n,a,r,i,o,l,s,d,m;0!==Object.entries(this.getCampaignStorage).length&&(null===(t=this.getCampaignStorage)||void 0===t?void 0:t.failover)&&(this.form.get("active").setValue(null===(n=null===(e=this.getCampaignStorage)||void 0===e?void 0:e.failover)||void 0===n?void 0:n.active),this.form.get("type").setValue(null!=(i=null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.failover)||void 0===r?void 0:r.type)?i:""),this.form.get("interval").setValue(null!=(s=null===(l=null===(o=this.getCampaignStorage)||void 0===o?void 0:o.failover)||void 0===l?void 0:l.interval)?s:null),this.activeChange(null===(m=null===(d=this.getCampaignStorage)||void 0===d?void 0:d.failover)||void 0===m?void 0:m.active),this.validationAccount())},t.prototype.initAccount=function(t,e){var n,a,r,i,o,l,s,d,c,p,u,g,v;return void 0===t&&(t=null),void 0===e&&(e=null),new m.FormGroup({channel:new m.FormControl(e),platform:new m.FormControl(null===(n=e)||void 0===n?void 0:n.value),accountId:new m.FormControl({value:(null===(a=t)||void 0===a?void 0:a.accountId)&&"string"==typeof(null===(r=t)||void 0===r?void 0:r.accountId)?{id:null===(i=t)||void 0===i?void 0:i.accountId,name:null===(o=t)||void 0===o?void 0:o.accountName}:(s=null===(l=t)||void 0===l?void 0:l.accountId,null!=s?s:""),disabled:this.isReadOnlyMode},m.Validators.required),accountName:new m.FormControl((c=null===(d=t)||void 0===d?void 0:d.accountName,null!=c?c:"")),subject:new m.FormControl({value:(u=null===(p=t)||void 0===p?void 0:p.subject,null!=u?u:""),disabled:this.isReadOnlyMode}),template:new m.FormControl({value:(v=null===(g=t)||void 0===g?void 0:g.template,null!=v?v:""),disabled:this.isReadOnlyMode}),paramBody:new m.FormArray([])})},Object.defineProperty(t.prototype,"getAccount",{get:function(){return this.form.get("accounts").controls},enumerable:!0,configurable:!0}),t.prototype.addAccount=function(t,e){var n,a,r,i,o,l;void 0===t&&(t=null),void 0===e&&(e=null);var s=this.initAccount(t,e);this.form.get("accounts").push(s),this.getAccountOptionService(null===(n=e)||void 0===n?void 0:n.value,null!=(r=null===(a=t)||void 0===a?void 0:a.accountName)?r:""),this.getTemplateOptionService(null===(i=e)||void 0===i?void 0:i.value,{},null===(l=null===(o=t)||void 0===o?void 0:o.template)||void 0===l?void 0:l.name)},t.prototype.initParameter=function(){return new m.FormGroup({name:new m.FormControl("",m.Validators.required)})},t.prototype.getParamBody=function(t){return t.get("paramBody").controls},t.prototype.addParamBody=function(t){var e=this.initParameter();t.get("paramBody").push(e)},t.prototype.deleteParamBody=function(t,e){t.get("paramBody").removeAt(e)},t.prototype.initParam=function(t,e,n){return{name:t,value:e,in:"query",type:n}},t.prototype.getAccountOptionService=function(t,e,n){var a=this;void 0===e&&(e=""),void 0===n&&(n=!1),this.isLoadingAccountOption[t]=!0;var r=[this.initParam("pageNo",this.pageNoAccountOption[t],"number"),this.initParam("rowPerPage",20,"number"),this.initParam("status","APPROVED","string"),this.initParam("platform",t,"string"),this.initParam("filter",e,"string")],i=this.apiAdapterService.executeApiRequest(r,"/admin/account","GET").subscribe((function(e){e.data&&(a.accountOption[t]=n?Z(a.accountOption[t],e.data):e.data,a.isHaveNextAccountOption[t]=e.haveNext,a.isLoadingAccountOption[t]=!1)}));this.subscribers.push(i)},t.prototype.getTemplateOptionService=function(t,e,n,a){var r,i,o,l,s=this;void 0===n&&(n=""),void 0===a&&(a=!1),this.isLoadingTemplateOption[t]=!0;var d=[this.initParam("pageNo",this.pageNoTemplateOption[t],"number"),this.initParam("rowPerPage",20,"number"),this.initParam("platform",t,"string"),this.initParam("filter",n,"string"),this.initParam("clientId",(i=null===(r=e)||void 0===r?void 0:r.clientId,null!=i?i:""),"string"),this.initParam("wabaId",(l=null===(o=e)||void 0===o?void 0:o.wabaId,null!=l?l:""),"string")];"WA"===t&&d.push(this.initParam("status","APPROVED","string"));var m=this.apiAdapterService.executeApiRequest(d,"/message/template","GET").subscribe((function(e){s.templateOption[t]=a?Z(s.templateOption[t],e.data):e.data,s.isHaveNextTemplateOption[t]=e.haveNext,s.isLoadingTemplateOption[t]=!1}));this.subscribers.push(m)},t.prototype.getNextAccountBatch=function(t){this.isHaveNextAccountOption[t]&&(this.pageNoAccountOption[t]+=1,this.getAccountOptionService(t,"",!0))},t.prototype.accountSelectedDisplay=function(t,e){return t&&e&&t.id==e.id?t.name+" ("+t.accountNo+")":""},t.prototype.templateSelectedDisplay=function(t,e){return t&&e&&t.name==e.name?""+t.name:""},t.prototype.getNextTemplateBatch=function(t,e){this.isHaveNextTemplateOption[t]&&(this.pageNoTemplateOption[t]+=1,this.getTemplateOptionService(t,e,"",!0))},t.prototype.updateSearch=function(t,e,n){this.pageNoTemplateOption[e]=1,this.getTemplateOptionService(e,n,t)},t.prototype.updateSearchAccount=function(t,e){this.pageNoAccountOption[e]=1,this.getAccountOptionService(e,t)},t.prototype.activeChange=function(t){var e,n,a,r,i,o,l=this;if(this.form.get("type").setValue(null!=(a=null===(n=null===(e=this.getCampaignStorage)||void 0===e?void 0:e.failover)||void 0===n?void 0:n.type)?a:""),this.form.get("type").setValidators(m.Validators.required),this.form.get("type").updateValueAndValidity(),t){var s=null===(o=null===(i=null===(r=this.getCampaignStorage)||void 0===r?void 0:r.failover)||void 0===i?void 0:i.accounts)||void 0===o?void 0:o.filter((function(t){var e,n,a;return t.platform!==(null===(a=null===(n=null===(e=l.getCampaignStorage)||void 0===e?void 0:e.generalInformation)||void 0===n?void 0:n.form)||void 0===a?void 0:a.medium)}));return s?(s.map((function(t){return l.addAccount(t,l.channelOption.find((function(e){return e.value===t.platform})))})),void this.channelOption.filter((function(t){return!s.find((function(e){return e.platform===t.value}))})).map((function(t){return l.addAccount({},t)}))):void this.channelOption.map((function(t){return l.addAccount({},t)}))}this.form.get("type").clearValidators(),this.form.get("type").updateValueAndValidity(),this.form.get("accounts").controls=[],this.form.get("accounts").reset(),this.form.get("accounts").updateValueAndValidity(),this.typeChange("Status")},t.prototype.typeChange=function(t){var e,n,a;if("Time"===t)return this.form.get("interval").setValue(null!=(a=null===(n=null===(e=this.getCampaignStorage)||void 0===e?void 0:e.failover)||void 0===n?void 0:n.interval)?a:null),this.form.get("interval").setValidators([m.Validators.required,function(t){if(!t.value)return null;var e=Number(t.value);return Number.isNaN(e)||e%1!=0||e<1?{intervalTime:!0}:null}]),void this.form.get("interval").updateValueAndValidity();this.form.get("interval").clearValidators(),this.form.get("interval").updateValueAndValidity()},t.prototype.validationAccount=function(t,e){var n,a,r;void 0===t&&(t=null),void 0===e&&(e=null),null===(n=e)||void 0===n||n.get("accountName").setValue(null!=(r=null===(a=this.accountOption[e.get("platform").value].find((function(e){var n;return e.id===(null===(n=t)||void 0===n?void 0:n.id)})))||void 0===a?void 0:a.name)?r:"");var i=this.getAccount.filter((function(t){return t.get("accountId").value}));this.getAccount.forEach((function(t){var e;t.get("accountId").setValidators(m.Validators.required),t.get("subject").setValidators(m.Validators.required),t.get("template").setValidators(m.Validators.required),!t.get("accountId").value&&(null===(e=i)||void 0===e?void 0:e.length)>0?(t.get("accountId").clearValidators(),t.get("subject").setValue(""),t.get("subject").clearValidators(),t.get("template").setValue(""),t.get("template").clearValidators()):["WA","SMS","VOICE"].includes(t.get("platform").value)&&t.get("subject").clearValidators(),t.get("accountId").updateValueAndValidity(),t.get("subject").updateValueAndValidity(),t.get("template").updateValueAndValidity()})),e&&this.getTemplateOptionService(e.get("platform").value,e.get("accountId").value)},t.prototype.drop=function(t){d.moveItemInArray(this.getAccount,t.previousIndex,t.currentIndex),this.failover.emit(this.form)},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:mt}]},J([e.Output()],t.prototype,"failover",void 0),J([e.Input()],t.prototype,"isReadOnlyMode",void 0),t=J([e.Component({selector:"lib-failover-mechanism",template:'<form [formGroup]="form"\r\n class="failover-mechanism">\r\n <mat-slide-toggle class="failover-activated mb-3"\r\n formControlName="active"\r\n (change)="activeChange($event.checked)">\r\n <p class="font-18px font-PoppinsBold mb-0">Failover Mechanism</p>\r\n </mat-slide-toggle>\r\n\r\n <ng-container *ngIf="form.get(\'active\').value">\r\n <p>Switch to a backup communication channel if the primary channel experiences interference or failure.</p>\r\n\r\n <p class="font-16px font-PoppinsBold asterix--after mt-4 mb-1">Main Rules</p>\r\n\r\n <p>Set rule for failover main trigger</p>\r\n\r\n <div class=\'d-flex\'>\r\n <mat-radio-group class="main-rule-type"\r\n formControlName="type"\r\n (change)="typeChange($event.value)">\r\n <mat-radio-button value="Status">Delivery Status</mat-radio-button>\r\n <mat-radio-button value="Time">Waiting Time</mat-radio-button>\r\n </mat-radio-group>\r\n\r\n <div class=\'information\'>\r\n <mat-icon svgIcon="information"\r\n class="mr-2">\r\n </mat-icon>\r\n <ol class="tooltip-rules">\r\n <li class="mb-3">\r\n If <strong>Delivery Status</strong> is selected, failover messages will be triggered if the\r\n previous message has failed to deliver.\r\n </li>\r\n\r\n <li>\r\n If <strong>Waiting Time</strong> is selected, failover messages will be triggered according to\r\n the configured time. Counting will start when a message is sent. If the time is reached before\r\n the message is delivered/read, then a failover message will be triggered.\r\n </li>\r\n </ol>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n\r\n <div *ngIf="form.get(\'type\').value === \'Time\'"\r\n class="form-group w-25 my-3">\r\n <div class=\'d-flex align-items-baseline gap-2\'>\r\n <mat-form-field appearance="outline"\r\n floatLabel="always"\r\n class="w-100">\r\n <mat-label class="asterix--after">Interval Time</mat-label>\r\n\r\n <input matInput\r\n type="number"\r\n class="text-right"\r\n formControlName="interval"\r\n placeholder="Enter Interval Time">\r\n\r\n </mat-form-field>\r\n minute(s)\r\n </div>\r\n\r\n <mat-error align="start"\r\n *ngFor="let validation of validationMessages.interval">\r\n <p class="font-12px mb-0"\r\n *ngIf="form.get(\'interval\').touched\r\n\t\t\t\t\t\t\t&& form.get(\'interval\').hasError(validation.type)">\r\n {{ validation.message }}\r\n </p>\r\n </mat-error>\r\n </div>\r\n\r\n <div *ngIf="form.get(\'active\').value"\r\n cdkDropList\r\n class="mt-3"\r\n formArrayName="accounts"\r\n (cdkDropListDropped)="drop($event)">\r\n <div *ngFor="let account of getAccount; let accountIndex = index"\r\n cdkDrag\r\n cdkDragHandle>\r\n <div *ngIf="account.get(\'channel\').value"\r\n class="d-flex align-items-center gap-2">\r\n <div class="accounts-card w-50 mb-3 px-3 pt-3">\r\n <div class="form-group w-75">\r\n <mat-form-field appearance="outline"\r\n floatLabel="always"\r\n class="account-option w-100">\r\n <mat-label class="asterix--after">\r\n {{ account.get(\'channel\').value?.label }}\r\n </mat-label>\r\n\r\n <mat-icon class="icon-menu"\r\n [svgIcon]="account.get(\'channel\').value?.inputSvgIcon"></mat-icon>\r\n\r\n <mat-select matSelectInfiniteScroll\r\n placeholder="--- Select Account ---"\r\n [formControl]="account.get(\'accountId\')"\r\n [complete]="isHaveNextAccountOption[account.get(\'platform\').value] === false"\r\n [compareWith]="accountSelectedDisplay"\r\n (infiniteScroll)="getNextAccountBatch(account.get(\'platform\').value)"\r\n (selectionChange)="validationAccount($event.value, account)">\r\n <div style="margin: 20px">\r\n <lib-search [placeholder]="\'Search\'"\r\n [currentValue]="account?.get(\'accountId\').value?.name"\r\n (searchRes)="updateSearchAccount($event, account.get(\'platform\').value)"></lib-search>\r\n </div>\r\n\r\n <mat-option value=""> --- Select Account --- </mat-option>\r\n <mat-option *ngFor="let option of accountOption[account.get(\'platform\').value]"\r\n [value]="option">\r\n {{ option.name + \' (\' + option.accountNo + \')\' }}\r\n </mat-option>\r\n\r\n <mat-option *ngIf="isLoadingAccountOption[account.get(\'platform\').value]">Loading...</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-error align="start"\r\n *ngFor="let validation of validationMessages.accountId">\r\n <p class="font-12px mb-0"\r\n *ngIf="account.get(\'accountId\').touched\r\n && account.get(\'accountId\').hasError(validation.type)">\r\n {{ validation.message }}\r\n </p>\r\n </mat-error>\r\n </div>\r\n\r\n <ng-container *ngIf="account.get(\'accountId\').value">\r\n <div *ngIf="account.get(\'platform\').value === \'EMAIL\'"\r\n class="form-group w-75">\r\n <mat-form-field appearance="outline"\r\n floatLabel="always"\r\n class="w-100">\r\n <mat-label class="asterix--after">Subject</mat-label>\r\n\r\n <input matInput\r\n type="text"\r\n placeholder="Enter Subject"\r\n [formControl]="account.get(\'subject\')">\r\n </mat-form-field>\r\n\r\n <mat-error align="start"\r\n *ngFor="let validation of validationMessages.subject">\r\n <p class="font-12px mb-0"\r\n *ngIf="account.get(\'subject\').touched\r\n && account.get(\'subject\').hasError(validation.type)">\r\n {{ validation.message }}\r\n </p>\r\n </mat-error>\r\n </div>\r\n\r\n <div *ngIf="[\'WA\', \'SMS\', \'EMAIL\'].includes(account.get(\'platform\').value)"\r\n class="form-group w-75">\r\n <mat-form-field appearance="outline"\r\n floatLabel="always"\r\n class="w-100">\r\n <mat-label class="asterix--after">Template</mat-label>\r\n\r\n <mat-select matSelectInfiniteScroll\r\n placeholder="Select template"\r\n [formControl]="account.get(\'template\')"\r\n [complete]="isHaveNextTemplateOption[account.get(\'platform\').value] === false"\r\n [compareWith]="templateSelectedDisplay"\r\n (infiniteScroll)="getNextTemplateBatch(account.get(\'platform\').value, account.get(\'accountId\').value)">\r\n <div style="margin: 20px">\r\n <lib-search [placeholder]="\'Search\'"\r\n [currentValue]="account.get(\'template\').value?.name"\r\n (searchRes)="updateSearch($event, account.get(\'platform\').value, account.get(\'accountId\').value)"></lib-search>\r\n </div>\r\n\r\n <mat-option *ngFor="let option of templateOption[account.get(\'platform\').value]"\r\n [value]="option">\r\n {{ option.name }}\r\n </mat-option>\r\n <mat-option *ngIf="isLoadingTemplateOption[account.get(\'platform\').value]">Loading...</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-error align="start"\r\n *ngFor="let validation of validationMessages.subject">\r\n <p class="font-12px mb-0"\r\n *ngIf="account.get(\'template\').touched\r\n && account.get(\'template\').hasError(validation.type)">\r\n {{ validation.message }}\r\n </p>\r\n </mat-error>\r\n </div>\r\n\r\n <ng-container *ngIf="account.get(\'platform\').value === \'VOICE\'">\r\n <div class="form-group w-75">\r\n <mat-form-field appearance="outline"\r\n floatLabel="always"\r\n class="w-100">\r\n <mat-label class="asterix--after">Template</mat-label>\r\n\r\n <input matInput\r\n type="text"\r\n placeholder="Enter Template"\r\n [formControl]="account.get(\'template\')">\r\n </mat-form-field>\r\n\r\n <mat-error align="start"\r\n *ngFor="let validation of validationMessages.subject">\r\n <p class="font-12px mb-0"\r\n *ngIf="account.get(\'template\').touched\r\n && account.get(\'template\').hasError(validation.type)">\r\n {{ validation.message }}\r\n </p>\r\n </mat-error>\r\n </div>\r\n\r\n <div class="w-75 text-right mb-2">\r\n <button class="btn btn-sm color-blue2"\r\n (click)="addParamBody(account)">\r\n + Add Parameter\r\n </button>\r\n </div>\r\n\r\n <ng-container *ngIf="getParamBody(account)?.length > 0">\r\n <p class="font-16px font-PoppinsBold mt-3">Body Parameter</p>\r\n\r\n <div *ngFor="let param of getParamBody(account); let paramBodyIndex = index"\r\n class="form-group d-flex align-items-center gap-1 w-75">\r\n <mat-form-field appearance="outline"\r\n floatLabel="always"\r\n class="w-100">\r\n <mat-label>Parameter {{ paramBodyIndex + 1 }}</mat-label>\r\n\r\n <input matInput\r\n type="text"\r\n [placeholder]="\'Parameter \' + (paramBodyIndex + 1)"\r\n [formControl]="param.get(\'name\')" />\r\n </mat-form-field>\r\n\r\n <div class="action-icon pointer"\r\n (click)="deleteParamBody(account, paramBodyIndex)"\r\n title="Delete">\r\n <mat-icon class="icon-menu"\r\n svgIcon="icon_delete"></mat-icon>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n <mat-icon class="ml-2"\r\n svgIcon="drag-handle"></mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n',styles:['.failover-mechanism .accounts-card{border:1px solid #e2e2e2;border-radius:16px}.failover-mechanism .information{position:relative;cursor:pointer;margin-left:20px}.failover-mechanism .information .tooltip-rules{position:absolute;top:-100px;left:30px;width:400px;padding:30px 30px 14px;background-color:#fff3cd;font-size:12px;border-radius:5px;z-index:10;opacity:0;transition:.35s}.failover-mechanism .information:hover .tooltip-rules{opacity:1}.asterix--after:after{content:"*";color:red}::ng-deep .mat-form-field.account-option .mat-form-field-infix{display:flex;align-items:center;gap:10px}::ng-deep .mat-slide-toggle.failover-activated .mat-slide-toggle-bar{width:40px;height:20px;border-radius:13px}::ng-deep .mat-slide-toggle.failover-activated .mat-slide-toggle-thumb-container{width:18px;height:18px;top:1px;left:1px}::ng-deep .mat-slide-toggle.failover-activated .mat-slide-toggle-thumb{width:18px;height:18px;border-radius:50%}::ng-deep .mat-slide-toggle.failover-activated.mat-checked .mat-slide-toggle-bar{background-color:#2bca3b}::ng-deep .mat-slide-toggle.failover-activated.mat-checked .mat-slide-toggle-thumb-container{left:4px}::ng-deep .mat-slide-toggle.failover-activated.mat-checked .mat-slide-toggle-thumb{background-color:#fff}::ng-deep .mat-radio-group.main-rule-type .mat-radio-button.mat-radio-checked .mat-radio-outer-circle{border-color:#4285f4}::ng-deep .mat-radio-group.main-rule-type .mat-radio-button.mat-radio-checked .mat-radio-inner-circle{background-color:#4285f4}::ng-deep .mat-radio-group.main-rule-type .mat-radio-button~.mat-radio-button{margin-left:25px}']})],t)}(),ne=function(){function t(t){var n=this;this.sanitizer=t,this.isTouchedWAForm=!1,this.isTouchedSMSForm=!1,this.isTouchedEmailForm=!1,this.isShowMore=!1,this.twilioResultCounter={segments:0,characters:0,encoding:"",fulltext:"Encode - / Chars 0 / Segment 1"},this.onCheckTwilioCounter=function(){var t,e,a,r,i,o=null===(t=n.generalInformationForm)||void 0===t?void 0:t.getRawValue();if("TEXT"===(null===(e=o)||void 0===e?void 0:e.channel)){var l={segments:(d=new j.SegmentedMessage(n.getBodyString)).segmentsCount,encoding:d.encodingName,characters:d.numberOfUnicodeScalars};n.twilioResultCounter=$($({},l),{fulltext:"Encode "+l.encoding+" / Chars "+l.characters+" / Segment "+l.segments})}else{var s=n.getBodyString;Array.from((null===(i=null===(r=null===(a=o)||void 0===a?void 0:a.template)||void 0===r?void 0:r.body)||void 0===i?void 0:i.examples)||[]).map((function(t,e){var n,a="{{"+t+"}}",r=null===(n=o.paramBody[e])||void 0===n?void 0:n.name;s=s.split(a).join(r)}));var d;l={segments:(d=new j.SegmentedMessage(s)).segmentsCount,encoding:d.encodingName,characters:d.numberOfUnicodeScalars};n.twilioResultCounter=$($({},l),{fulltext:"Encode "+l.encoding+" / Chars "+l.characters+" / Segment "+l.segments})}},this.generalInformation=new e.EventEmitter}return t.prototype.ngOnInit=function(){this.channelOption=vt,this.validationMessages=Ot,this.maps={zoom:15,latitude:null,longitude:null,isDraggable:!0,isDoubleClickZoom:!0},this.initForm(),this.initEdit(),this.initDisable()},t.prototype.initForm=function(){var t=this;this.form=new m.FormGroup({id:new m.FormControl(null),campaignName:new m.FormControl(null,[m.Validators.required,m.Validators.maxLength(100)]),medium:new m.FormControl(null,[m.Validators.required])}),this.form.valueChanges.subscribe((function(){t.isTouchedWAForm=!t.isTouchedWAForm,t.isTouchedSMSForm=!t.isTouchedSMSForm,t.isTouchedEmailForm=!t.isTouchedEmailForm,t.generalInformation.emit({parent:t.form,child:t.generalInformationForm})})),setInterval((function(){t.onCheckTwilioCounter()}),400)},t.prototype.initEdit=function(){var t,e,n,a,r,i,o=localStorage.getItem("telin.campaign")?JSON.parse(localStorage.getItem("telin.campaign")):{};0!==Object.entries(o).length&&(this.form.get("id").setValue(null===(e=null===(t=o)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.id),this.form.get("campaignName").setValue(null===(a=null===(n=o)||void 0===n?void 0:n.generalInformation)||void 0===a?void 0:a.form.campaignName),this.form.get("medium").setValue(null===(i=null===(r=o)||void 0===r?void 0:r.generalInformation)||void 0===i?void 0:i.form.medium))},t.prototype.initDisable=function(){this.isReadOnlyMode&&this.form.disable()},t.prototype.updateGeneralInformationForm=function(t){this.generalInformationForm=t,this.isShowMore=!1,this.generalInformation.emit({parent:this.form,child:this.generalInformationForm}),"LOCATION"===this.getMedia&&this.getLocation()},Object.defineProperty(t.prototype,"getHeader",{get:function(){var t,e,n;return(null===(n=null===(e=null===(t=this.generalInformationForm)||void 0===t?void 0:t.getRawValue())||void 0===e?void 0:e.from)||void 0===n?void 0:n.name)||""},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getBodyString",{get:function(){var t,e,n,a,r,i,o,l,s,d,m;return null!=(m=null===(d=(null===(e=null===(t=this.generalInformationForm)||void 0===t?void 0:t.getRawValue())||void 0===e?void 0:e.text)||(null===(i=null===(r=null===(a=null===(n=this.generalInformationForm)||void 0===n?void 0:n.getRawValue())||void 0===a?void 0:a.template)||void 0===r?void 0:r.body)||void 0===i?void 0:i.text)||(null===(s=null===(l=null===(o=this.generalInformationForm)||void 0===o?void 0:o.getRawValue())||void 0===l?void 0:l.body)||void 0===s?void 0:s.text))||void 0===d?void 0:d.split(/\\n|\n/).join("<br />").split(/\\t|\t/).join(" "))?m:""},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getBody",{get:function(){var t,e,n,a,r,i,o,l,s,d,m,c=(null===(e=null===(t=this.generalInformationForm)||void 0===t?void 0:t.getRawValue())||void 0===e?void 0:e.text)||(null===(i=null===(r=null===(a=null===(n=this.generalInformationForm)||void 0===n?void 0:n.getRawValue())||void 0===a?void 0:a.template)||void 0===r?void 0:r.body)||void 0===i?void 0:i.text)||(null===(s=null===(l=null===(o=this.generalInformationForm)||void 0===o?void 0:o.getRawValue())||void 0===l?void 0:l.body)||void 0===s?void 0:s.text);return this.sanitizer.bypassSecurityTrustHtml(this.fixGeneratedHtml(null!=(m=null===(d=c)||void 0===d?void 0:d.split(/\\n|\n/).join("<br />").split(/\\t|\t/).join(" "))?m:""))},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getMedia",{get:function(){var t,e;return(null===(e=null===(t=this.generalInformationForm)||void 0===t?void 0:t.getRawValue())||void 0===e?void 0:e.media)||""},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getTemplate",{get:function(){var t,e;return(null===(e=null===(t=this.generalInformationForm)||void 0===t?void 0:t.getRawValue())||void 0===e?void 0:e.template)||{}},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getTemplateButton",{get:function(){var t,e,n,a,r,i=!this.isShowMore&&(null===(e=null===(t=this.getTemplate)||void 0===t?void 0:t.buttons)||void 0===e?void 0:e.length)>3?2:null===(a=null===(n=this.getTemplate)||void 0===n?void 0:n.buttons)||void 0===a?void 0:a.length;return Z(null===(r=this.getTemplate)||void 0===r?void 0:r.buttons).splice(0,i)||[]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"displayFile",{get:function(){var t,e,n,a,r,i,o,l;return null!=(l=null===(o=(null===(e=null===(t=this.generalInformationForm)||void 0===t?void 0:t.getRawValue())||void 0===e?void 0:e.targetURL)||(null===(i=null===(r=null===(a=null===(n=this.generalInformationForm)||void 0===n?void 0:n.getRawValue())||void 0===a?void 0:a.template)||void 0===r?void 0:r.header)||void 0===i?void 0:i.url))||void 0===o?void 0:o.replace("adlsandbox.com","adlsandbox.net"))?l:""},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isText",{get:function(){var t,e;return"TEXT"===(null===(e=null===(t=this.generalInformationForm)||void 0===t?void 0:t.getRawValue())||void 0===e?void 0:e.channel)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isJSON",{get:function(){var t,e;return null===(e=null===(t=this.generalInformationForm)||void 0===t?void 0:t.getRawValue())||void 0===e?void 0:e.isJSON},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"getTemplateLine",{get:function(){var t,e,n,a,r,i,o,l;return this.isJSON?JSON.parse(null===(a=null===(n=null===(e=null===(t=this.generalInformationForm)||void 0===t?void 0:t.getRawValue())||void 0===e?void 0:e.template)||void 0===n?void 0:n.body)||void 0===a?void 0:a.text):null===(l=null===(o=null===(i=null===(r=this.generalInformationForm)||void 0===r?void 0:r.getRawValue())||void 0===i?void 0:i.template)||void 0===o?void 0:o.body)||void 0===l?void 0:l.text},enumerable:!0,configurable:!0}),t.prototype.getLocation=function(){var t,e,n,a;this.maps.latitude=null===(e=null===(t=this.generalInformationForm)||void 0===t?void 0:t.getRawValue())||void 0===e?void 0:e.latitude,this.maps.longitude=null===(a=null===(n=this.generalInformationForm)||void 0===n?void 0:n.getRawValue())||void 0===a?void 0:a.longitude},t.prototype.fixGeneratedHtml=function(t){return t.replaceAll(/div src="http/g,'img src="http').replaceAll(/div src="data:image/g,'img src="data:image').replaceAll(/Drag and drop your image here/g,"")},t.ctorParameters=function(){return[{type:H.DomSanitizer}]},J([e.Output()],t.prototype,"generalInformation",void 0),J([e.Input()],t.prototype,"isReadOnlyMode",void 0),t=J([e.Component({selector:"lib-new-campaign-general-information",template:'<form autocomplete="off"\r\n\t[formGroup]="form">\r\n\t<div class="campaign-info">\r\n\t\t<div class="campaign-info-child">\r\n\t\t\t<mat-card>\r\n\t\t\t\t<mat-card-content>\r\n\t\t\t\t\t<h3 class="font-22px font-PoppinsBold mb-4">General Information</h3>\r\n\r\n\t\t\t\t\t<div class="form-group">\r\n\t\t\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t\t\t<mat-label class="asterix--after">Broadcast Name</mat-label>\r\n\r\n\t\t\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\t\t\ttype="text"\r\n\t\t\t\t\t\t\t\tformControlName="campaignName"\r\n\t\t\t\t\t\t\t\tplaceholder="Enter Broadcast name">\r\n\r\n\t\t\t\t\t\t</mat-form-field>\r\n\r\n\t\t\t\t\t\t<div class="d-flex justify-content-between align-items-center w-100">\r\n\t\t\t\t\t\t\t<mat-hint align="start">\r\n\t\t\t\t\t\t\t\t{{form.get(\'campaignName\').value?.length || 0}}/100\r\n\t\t\t\t\t\t\t</mat-hint>\r\n\r\n\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t<mat-error align="end"\r\n\t\t\t\t\t\t\t\t\t*ngFor="let validation of validationMessages.campaignName">\r\n\t\t\t\t\t\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t\t\t\t\t\t*ngIf="form.get(\'campaignName\').touched\r\n\t\t\t\t\t\t\t\t\t\t&& form.get(\'campaignName\').hasError(validation.type)">\r\n\t\t\t\t\t\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t</mat-error>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class="form-group">\r\n\t\t\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t\t\t<mat-label class="asterix--after">Channel</mat-label>\r\n\r\n\t\t\t\t\t\t\t<mat-select placeholder="Select channel"\r\n\t\t\t\t\t\t\t\tformControlName="medium">\r\n\t\t\t\t\t\t\t\t<mat-option *ngFor="let option of channelOption"\r\n\t\t\t\t\t\t\t\t\t[value]="option.value">\r\n\t\t\t\t\t\t\t\t\t{{ option.label }}\r\n\t\t\t\t\t\t\t\t</mat-option>\r\n\t\t\t\t\t\t\t</mat-select>\r\n\t\t\t\t\t\t</mat-form-field>\r\n\r\n\t\t\t\t\t\t<mat-error align="end"\r\n\t\t\t\t\t\t\t*ngFor="let validation of validationMessages.medium">\r\n\t\t\t\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t\t\t\t*ngIf="form.get(\'medium\').touched\r\n\t\t\t\t\t\t\t\t\t\t&& form.get(\'medium\').hasError(validation.type)">\r\n\t\t\t\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t</mat-error>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<ng-container *ngIf="form.get(\'medium\').value === \'WA\'">\r\n\t\t\t\t\t\t<lib-general-information-wa [isTouchedForm]="isTouchedWAForm"\r\n\t\t\t\t\t\t\t[isReadOnlyMode]="isReadOnlyMode"\r\n\t\t\t\t\t\t\t(updateGeneralInformationForm)="updateGeneralInformationForm($event)"></lib-general-information-wa>\r\n\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t<ng-container *ngIf="form.get(\'medium\').value === \'LINE\'">\r\n\t\t\t\t\t\t<lib-general-information-line [isTouchedForm]="isTouchedSMSForm"\r\n\t\t\t\t\t\t\t[isReadOnlyMode]="isReadOnlyMode"\r\n\t\t\t\t\t\t\t(updateGeneralInformationForm)="updateGeneralInformationForm($event)"></lib-general-information-line>\r\n\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t<ng-container *ngIf="form.get(\'medium\').value === \'SMS\'">\r\n\t\t\t\t\t\t<lib-general-information-sms [isTouchedForm]="isTouchedSMSForm"\r\n\t\t\t\t\t\t\t[isReadOnlyMode]="isReadOnlyMode"\r\n\t\t\t\t\t\t\t(updateGeneralInformationForm)="updateGeneralInformationForm($event)"></lib-general-information-sms>\r\n\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t<ng-container *ngIf="form.get(\'medium\').value === \'EMAIL\'">\r\n\t\t\t\t\t\t<lib-general-information-email [isTouchedForm]="isTouchedEmailForm"\r\n\t\t\t\t\t\t\t[isReadOnlyMode]="isReadOnlyMode"\r\n\t\t\t\t\t\t\t(updateGeneralInformationForm)="updateGeneralInformationForm($event)"></lib-general-information-email>\r\n\t\t\t\t\t</ng-container>\r\n\t\t\t\t</mat-card-content>\r\n\t\t\t</mat-card>\r\n\t\t</div>\r\n\r\n\t\t<div class="campaign-info-child pl-20px">\r\n\t\t\t<h3 class="font-22px font-PoppinsBold">Broadcast Content</h3>\r\n\r\n\t\t\t<div\r\n\t\t\t\t[ngClass]="form.get(\'medium\').value === \'SMS\' || form.get(\'medium\').value === \'EMAIL\' ? \'campaign-border-preview\' : \'campaign-preview\'">\r\n\t\t\t\t<section *ngIf="form.get(\'medium\').value === \'SMS\' || form.get(\'medium\').value === \'EMAIL\'">\r\n\t\t\t\t\t<p *ngIf="getBody"\r\n\t\t\t\t\t\tclass="body my-2"\r\n\t\t\t\t\t\tstyle="max-width: 500px;word-wrap: break-word;"\r\n\t\t\t\t\t\t[innerHTML]="getBody"></p>\r\n\t\t\t\t</section>\r\n\r\n\t\t\t\t<section *ngIf="form.get(\'medium\').value === \'WA\'"\r\n\t\t\t\t\tclass="campaign-preview__wa">\r\n\t\t\t\t\t<div class="header-preview">\r\n\t\t\t\t\t\t<div class="heading">\r\n\t\t\t\t\t\t\t{{ getHeader }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class="body-preview">\r\n\t\t\t\t\t\t<section *ngIf="getBody || getMedia || displayFile">\r\n\t\t\t\t\t\t\t<div class="chat"\r\n\t\t\t\t\t\t\t\t[ngClass]="{\'no-bottom-border\': getTemplate?.buttons?.length > 0}">\r\n\t\t\t\t\t\t\t\t<img *ngIf="(getMedia === \'IMAGE\' || getTemplate?.header?.type?.toLowerCase() === \'image\') && displayFile"\r\n\t\t\t\t\t\t\t\t\tstyle="max-width: 100%;"\r\n\t\t\t\t\t\t\t\t\talt="image"\r\n\t\t\t\t\t\t\t\t\t[src]="displayFile" />\r\n\r\n\t\t\t\t\t\t\t\t<video\r\n\t\t\t\t\t\t\t\t\t*ngIf="(getMedia === \'VIDEO\' || getTemplate?.header?.type?.toLowerCase() === \'video\') && displayFile"\r\n\t\t\t\t\t\t\t\t\tid="video"\r\n\t\t\t\t\t\t\t\t\tstyle="width: 100%;"\r\n\t\t\t\t\t\t\t\t\t[src]="displayFile"\r\n\t\t\t\t\t\t\t\t\tcontrols></video>\r\n\r\n\t\t\t\t\t\t\t\t<div *ngIf="getMedia === \'DOCUMENT\'"\r\n\t\t\t\t\t\t\t\t\tstyle="display: flex;">\r\n\t\t\t\t\t\t\t\t\t<img style="width: 13px; height: 18px;"\r\n\t\t\t\t\t\t\t\t\t\talt="document"\r\n\t\t\t\t\t\t\t\t\t\tsrc="../../../../../assets/images/icon-file.png">\r\n\r\n\t\t\t\t\t\t\t\t\t<span style="margin-left: 10px;">Document</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t<ng-container *ngIf="getMedia === \'LOCATION\'">\r\n\t\t\t\t\t\t\t\t\t<agm-map style="width:100%;height:200px;"\r\n\t\t\t\t\t\t\t\t\t\t[disableDefaultUI]="true"\r\n\t\t\t\t\t\t\t\t\t\t[latitude]="maps.latitude"\r\n\t\t\t\t\t\t\t\t\t\t[longitude]="maps.longitude"\r\n\t\t\t\t\t\t\t\t\t\t[zoom]="maps.zoom">\r\n\t\t\t\t\t\t\t\t\t\t<agm-marker [latitude]="maps.latitude"\r\n\t\t\t\t\t\t\t\t\t\t\t[longitude]="maps.longitude"\r\n\t\t\t\t\t\t\t\t\t\t\t[markerDraggable]="false"></agm-marker>\r\n\t\t\t\t\t\t\t\t\t</agm-map>\r\n\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t[href]="\'https://www.google.com/maps/search/?api=1&query=\'+ maps.latitude + \',\' + maps.longitude">\r\n\t\t\t\t\t\t\t\t\t\thttps://www.google.com/maps/search/?api=1&query={{maps.latitude}},{{maps.longitude}}\r\n\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t</ng-container>\r\n\r\n\t\t\t\t\t\t\t\t<p *ngIf="getBody"\r\n\t\t\t\t\t\t\t\t\tclass="body my-2"\r\n\t\t\t\t\t\t\t\t\t[innerHTML]="getBody"></p>\r\n\r\n\t\t\t\t\t\t\t\t<p *ngIf="getTemplate?.footer"\r\n\t\t\t\t\t\t\t\t\tclass="mb-2"\r\n\t\t\t\t\t\t\t\t\tstyle="color: rgb(160, 160, 160);">\r\n\t\t\t\t\t\t\t\t\t{{ getTemplate.footer }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</section>\r\n\t\t\t\t\t\t<section *ngIf="getTemplate?.buttons?.length > 0">\r\n\t\t\t\t\t\t\t<div *ngFor="let button of getTemplateButton"\r\n\t\t\t\t\t\t\t\tclass="params-btn pb-0 pointer">\r\n\t\t\t\t\t\t\t\t<p class="mb-0">\r\n\t\t\t\t\t\t\t\t\t{{ button?.text || button?.type }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div *ngIf="getTemplate?.buttons?.length > 3"\r\n\t\t\t\t\t\t\t\tclass="params-btn pb-0 pointer"\r\n\t\t\t\t\t\t\t\t(click)="isShowMore = !isShowMore">\r\n\t\t\t\t\t\t\t\t<p class="mb-0">\r\n\t\t\t\t\t\t\t\t\t<mat-icon>list</mat-icon> See all options\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</section>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</section>\r\n\r\n\t\t\t\t<section *ngIf="form.get(\'medium\').value === \'LINE\'"\r\n\t\t\t\t\tclass="campaign-preview__line">\r\n\t\t\t\t\t<div class="header-preview">\r\n\t\t\t\t\t\t<div class="heading">\r\n\t\t\t\t\t\t\t{{ getHeader }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class="body-preview">\r\n\t\t\t\t\t\t\x3c!-- Template Line Text --\x3e\r\n\t\t\t\t\t\t<section *ngIf="isText || !isJSON"\r\n\t\t\t\t\t\t\tclass="chat">\r\n\t\t\t\t\t\t\t<p class="body my-2"\r\n\t\t\t\t\t\t\t\t[innerHTML]="getBody"></p>\r\n\t\t\t\t\t\t</section>\r\n\r\n\t\t\t\t\t\t\x3c!-- Template Line Button | Confirmation --\x3e\r\n\t\t\t\t\t\t<section *ngIf="[\'buttons\', \'confirm\'].includes(getTemplateLine?.type)"\r\n\t\t\t\t\t\t\tclass="chat"\r\n\t\t\t\t\t\t\t[ngClass]="{\'no-bottom-border\': getTemplateLine?.actions?.length > 0}">\r\n\t\t\t\t\t\t\t<img *ngIf="getTemplateLine?.thumbnailImageUrl"\r\n\t\t\t\t\t\t\t\tstyle="max-width: 100%;"\r\n\t\t\t\t\t\t\t\tclass="mb-1"\r\n\t\t\t\t\t\t\t\t[src]="getTemplateLine?.thumbnailImageUrl" />\r\n\r\n\t\t\t\t\t\t\t<p *ngIf="getTemplateLine?.title"\r\n\t\t\t\t\t\t\t\tclass="font-PoppinsBold mb-1"\r\n\t\t\t\t\t\t\t\t[innerHTML]="getTemplateLine?.title"> </p>\r\n\r\n\t\t\t\t\t\t\t<p *ngIf="getTemplateLine?.text"\r\n\t\t\t\t\t\t\t\tclass="mb-0"\r\n\t\t\t\t\t\t\t\t[innerHTML]="getTemplateLine?.text"> </p>\r\n\t\t\t\t\t\t</section>\r\n\r\n\t\t\t\t\t\t\x3c!-- Template Line Carousel --\x3e\r\n\t\t\t\t\t\t<div *ngIf="[\'carousel\'].includes(getTemplateLine?.type)"\r\n\t\t\t\t\t\t\tclass="d-flex gap-2 overflow-auto">\r\n\t\t\t\t\t\t\t<div *ngFor="let column of getTemplateLine?.columns">\r\n\t\t\t\t\t\t\t\t<section class="chat w-100"\r\n\t\t\t\t\t\t\t\t\t[ngClass]="{\'no-bottom-border\': column?.actions?.length > 0}">\r\n\t\t\t\t\t\t\t\t\t<img *ngIf="column.thumbnailImageUrl"\r\n\t\t\t\t\t\t\t\t\t\tstyle="max-width: 100%;"\r\n\t\t\t\t\t\t\t\t\t\tclass="mb-1"\r\n\t\t\t\t\t\t\t\t\t\t[src]="column.thumbnailImageUrl" />\r\n\r\n\t\t\t\t\t\t\t\t\t<p *ngIf="column.title"\r\n\t\t\t\t\t\t\t\t\t\tclass="font-PoppinsBold mb-1"\r\n\t\t\t\t\t\t\t\t\t\t[innerHTML]="column.title"> </p>\r\n\r\n\t\t\t\t\t\t\t\t\t<p *ngIf="column.text"\r\n\t\t\t\t\t\t\t\t\t\tclass="mb-0"\r\n\t\t\t\t\t\t\t\t\t\t[innerHTML]="column.text"> </p>\r\n\t\t\t\t\t\t\t\t</section>\r\n\t\t\t\t\t\t\t\t<section *ngIf="column?.actions?.length > 0">\r\n\t\t\t\t\t\t\t\t\t<div *ngFor="let button of column?.actions"\r\n\t\t\t\t\t\t\t\t\t\tclass="params-btn mw-100 pb-0 pointer">\r\n\t\t\t\t\t\t\t\t\t\t<p class="mb-0">\r\n\t\t\t\t\t\t\t\t\t\t\t{{ button?.text }}\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</section>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\x3c!-- Template Line Image Carousel --\x3e\r\n\t\t\t\t\t\t<div *ngIf="[\'image_carousel\'].includes(getTemplateLine?.type)"\r\n\t\t\t\t\t\t\tclass="d-flex gap-2 overflow-auto">\r\n\t\t\t\t\t\t\t<div *ngFor="let column of getTemplateLine?.columns">\r\n\t\t\t\t\t\t\t\t<div class="image-container">\r\n\t\t\t\t\t\t\t\t\t<img [src]="column.imageUrl"\r\n\t\t\t\t\t\t\t\t\t\talt="image">\r\n\r\n\t\t\t\t\t\t\t\t\t<div class="d-flex justify-content-center">\r\n\t\t\t\t\t\t\t\t\t\t<p class="font-13px overlay-text">{{ column.action.label }}</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\x3c!-- Button Line --\x3e\r\n\t\t\t\t\t\t<section *ngIf="getTemplateLine?.type !== \'confirm\' && getTemplateLine?.actions?.length > 0">\r\n\t\t\t\t\t\t\t<div *ngFor="let button of getTemplateLine?.actions"\r\n\t\t\t\t\t\t\t\tclass="params-btn pb-0 pointer">\r\n\t\t\t\t\t\t\t\t<p class="mb-0">\r\n\t\t\t\t\t\t\t\t\t{{ button?.text }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</section>\r\n\t\t\t\t\t\t<section *ngIf="getTemplateLine?.type === \'confirm\' && getTemplateLine?.actions?.length > 0"\r\n\t\t\t\t\t\t\tclass="d-flex justify-content-around mw-70 bg-white">\r\n\t\t\t\t\t\t\t<div *ngFor="let button of getTemplateLine?.actions"\r\n\t\t\t\t\t\t\t\tclass="params-btn flex pb-0 pointer">\r\n\t\t\t\t\t\t\t\t<p class="mb-0">\r\n\t\t\t\t\t\t\t\t\t{{ button?.text }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</section>\r\n\t\t\t\t\t\t\x3c!-- ./ Button Line --\x3e\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</section>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class="d-flex"\r\n\t\t\t\tstyle="flex-direction: column;">\r\n\t\t\t\t<span *ngIf="form.get(\'medium\').value === \'SMS\'"\r\n\t\t\t\t\tstyle="text-align: right;width: 100%;">\r\n\t\t\t\t\t{{ twilioResultCounter.fulltext }}\r\n\t\t\t\t</span>\r\n\t\t\t\t<span style="text-align: right;width: 100%;color: red"\r\n\t\t\t\t\t*ngIf="twilioResultCounter.segments > 10 && form.get(\'medium\').value === \'SMS\'">\r\n\t\t\t\t\tMaximum Segment is 10\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</form>\r\n\r\n<ng-template #isSpinner>\r\n\t<div class="text-center my-auto">\r\n\t\t<img src="../../../../../assets/images/spinner.svg">\r\n\t</div>\r\n</ng-template>\r\n',styles:['.campaign-info{display:flex}.campaign-info-child{flex:1}.campaign-info .asterix--after:after{content:"*";color:red}.campaign-info .pl-20px{padding-left:20px}.campaign-info .mw-70{max-width:70%}.campaign-info .campaign-preview{width:75%}.campaign-info .campaign-preview .header-preview{padding:15px;min-height:60px;border-radius:10px 10px 0 0}.campaign-info .campaign-preview .header-preview .heading{width:100%;color:#e0e0e0;margin-left:5px;font-size:20px}.campaign-info .campaign-preview .body-preview{padding:15px;min-height:470px}.campaign-info .campaign-preview .body-preview .chat{width:70%;padding:11px;font-size:14px;line-height:22px;color:#494949;border-radius:8px;background:#fff;overflow-wrap:break-word;white-space:pre-line;box-shadow:12px 12px 20px rgba(44,59,113,.04)}.campaign-info .campaign-preview .body-preview .chat .body{max-height:400px;overflow-y:auto;overscroll-behavior-y:contain}.campaign-info .campaign-preview .body-preview .chat.no-bottom-border{border-bottom-left-radius:0;border-bottom-right-radius:0}.campaign-info .campaign-preview__wa .header-preview{background:#065f54}.campaign-info .campaign-preview__wa .body-preview{border-bottom-left-radius:8px;border-bottom-right-radius:8px;background-image:url(../../../../assets/svg/whatsapp-bg.svg);background-position:center;background-repeat:no-repeat;background-size:cover}.campaign-info .campaign-preview__wa .body-preview .params-btn{width:auto;max-width:70%;color:#34b7f1;background:#fff;box-shadow:12px 12px 20px rgba(44,59,113,.04);border-radius:0;font-size:16px;line-height:43px;padding:0;text-align:center;font-family:Poppins;overflow-wrap:break-word}.campaign-info .campaign-preview__wa .body-preview .params-btn b{font-family:PoppinsBold}.campaign-info .campaign-preview__line .header-preview{background:#273046}.campaign-info .campaign-preview__line .body-preview{background:#7692bf;border-bottom-left-radius:8px;border-bottom-right-radius:8px}.campaign-info .campaign-preview__line .body-preview .params-btn{width:auto;max-width:70%;color:#34b7f1;background:#fff;box-shadow:12px 12px 20px rgba(44,59,113,.04);border-radius:0;font-size:16px;line-height:43px;padding:0;text-align:center;font-family:Poppins;overflow-wrap:break-word}.campaign-info .campaign-preview__line .body-preview .params-btn b{font-family:PoppinsBold}.campaign-info .campaign-preview__line .body-preview .image-container{position:relative;width:200px;height:200px}.campaign-info .campaign-preview__line .body-preview .image-container img{display:block;width:100%;height:100%}.campaign-info .campaign-preview__line .body-preview .image-container .overlay-text{top:170px;position:absolute;padding:2px 5px;color:#fff;background-color:rgba(49,57,60,.62);border-radius:10px}.campaign-info .campaign-border-preview{width:100%;min-height:100px;padding:32px;border:1px solid #e2e2e2;border-radius:8px}']})],t)}(),ae=function(){function t(t,n){this.apiAdapterService=t,this.toastr=n,this.isUpload=!1,this.isLoading=!1,this.isShowUploadCSV=!1,this.categorySelected=[],this.selection=new W.SelectionModel(!0,[]),this.extFileAccepted=["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".csv"],this.fileSelected=null,this.subscribers=[],this.targetAudience=new e.EventEmitter}return t.prototype.ngOnInit=function(){var t,e,n,a,r,i,o;this.categoryParam=new st,this.initTable(),this.getCategoryList(),this.targetAudience.emit({targetAudience:[],numberCount:0,isUpload:null===(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.form)||void 0===n?void 0:n.isUpload,file:{name:null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.targetAudienceFile)||void 0===r?void 0:r.name,targetURL:null===(o=null===(i=this.getCampaignStorage)||void 0===i?void 0:i.targetAudienceFile)||void 0===o?void 0:o.targetURL}})},t.prototype.initTable=function(){this.table=new ut,this.table.labels=["select","Category","No. Of Customer","Created Date","Updated Date"],this.table.columns=["select","name","totalMembers","createdDate","updatedDate"]},Object.defineProperty(t.prototype,"getCampaignStorage",{get:function(){return localStorage.getItem("telin.campaign")?JSON.parse(localStorage.getItem("telin.campaign")):{}},enumerable:!0,configurable:!0}),t.prototype.initEdit=function(){var t,e,n,a,r,i,o,l,s=this;0!==Object.entries(this.getCampaignStorage).length&&(this.isShowUploadCSV=null===(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.form)||void 0===n?void 0:n.isUpload,this.fileSelected={name:null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.targetAudienceFile)||void 0===r?void 0:r.name,targetURL:null===(o=null===(i=this.getCampaignStorage)||void 0===i?void 0:i.targetAudienceFile)||void 0===o?void 0:o.targetURL},null===(l=this.table.dataSource.data)||void 0===l||l.forEach((function(t){var e,n;(null===(n=null===(e=s.getCampaignStorage)||void 0===e?void 0:e.targetAudience)||void 0===n?void 0:n.includes(t.id))&&s.onChecked(!0,t)})))},t.prototype.getCategoryList=function(t){var e,n,a,r,i,o,l,s,d,m,c=this;void 0===t&&(t=""),this.isLoading=!0,this.isReadOnlyMode&&(this.categoryParam.pageSize=1e3);var p=[this.initParam("pageNo",this.categoryParam.pageNo,"number"),this.initParam("rowPerPage",this.categoryParam.pageSize,"number"),this.initParam("filter",t,"string"),this.initParam("platform",null===(a=null===(n=null===(e=this.getCampaignStorage)||void 0===e?void 0:e.generalInformation)||void 0===n?void 0:n.form)||void 0===a?void 0:a.medium,"string")];"LINE"===(null===(o=null===(i=null===(r=this.getCampaignStorage)||void 0===r?void 0:r.generalInformation)||void 0===i?void 0:i.form)||void 0===o?void 0:o.medium)&&p.push(this.initParam("accountId",null===(m=null===(d=null===(s=null===(l=this.getCampaignStorage)||void 0===l?void 0:l.generalInformation)||void 0===s?void 0:s.form)||void 0===d?void 0:d.from)||void 0===m?void 0:m.id,"string")),this.isReadOnlyMode&&p.push(this.initParam("summary",!0,"string"));var u=this.apiAdapterService.executeApiRequest(p,"/admin/category","GET").subscribe((function(t){var e;if(c.isReadOnlyMode)return c.table.dataSource.data=null===(e=t.data)||void 0===e?void 0:e.filter((function(t){var e,n;return null===(n=null===(e=c.getCampaignStorage)||void 0===e?void 0:e.targetAudience)||void 0===n?void 0:n.includes(t.id)})),c.categorySelected=c.table.dataSource.data,c.isLoading=!1,void c.initEdit();c.table.dataSource.data=t.data,c.table.setNextPage(t.haveNext),c.isLoading=!1,c.initEdit()}));this.subscribers.push(u)},t.prototype.initParam=function(t,e,n){return{name:t,value:e,in:"query",type:n}},t.prototype.updateSearch=function(t){this.table.resetPage(),this.categoryParam.pageNo=this.table.page,this.getCategoryList(t)},t.prototype.updatePage=function(t){var e,n,a,r;this.table.pageSize!==(null===(e=t)||void 0===e?void 0:e.pageSize)&&this.table.resetPage(),this.table.page=this.table.pageSize!==(null===(n=t)||void 0===n?void 0:n.pageSize)?this.table.page:(null===(a=t)||void 0===a?void 0:a.pageIndex)+1,this.table.pageSize=null===(r=t)||void 0===r?void 0:r.pageSize,this.categoryParam.pageNo=this.table.page,this.categoryParam.pageSize=this.table.pageSize,this.getCategoryList()},t.prototype.sort=function(){this.table.dataSource.sort=this.matSort},t.prototype.checkboxLabel=function(t){return t?(this.selection.isSelected(t)?"deselect":"select")+" row "+(t.name+1):(this.isAllSelected()?"deselect":"select")+" all"},t.prototype.isAllSelected=function(){var t,e,n,a,r=this.selection.selected.length,i=null!=(a=null===(n=this.table.dataSource.data)||void 0===n?void 0:n.length)?a:0;if(this.table.dataSource.data&&this.table.dataSource.data.length>0&&this.selection.selected&&this.selection.selected.length>0){var o=function(t){return l.selection.selected.filter((function(e){return e.id===t.id})).length>0?"continue":{value:!1}},l=this;try{for(var s=Y(this.table.dataSource.data),d=s.next();!d.done;d=s.next()){var m=o(d.value);if("object"==typeof m)return m.value}}catch(e){t={error:e}}finally{try{d&&!d.done&&(e=s.return)&&e.call(s)}finally{if(t)throw t.error}}}return r===i},t.prototype.masterToggle=function(t){var e,n,a,r,i,o,l,s,d;if(!t)return this.selection.clear(),this.categorySelected=[],void this.targetAudience.emit({targetAudience:[],numberCount:0,isUpload:this.isShowUploadCSV,file:{name:null===(a=null===(n=this.getCampaignStorage)||void 0===n?void 0:n.targetAudienceFile)||void 0===a?void 0:a.name,targetURL:null===(i=null===(r=this.getCampaignStorage)||void 0===r?void 0:r.targetAudienceFile)||void 0===i?void 0:i.targetURL}});(e=this.selection).select.apply(e,Z(this.table.dataSource.data)),this.categorySelected=this.selection.selected,this.targetAudience.emit({targetAudience:this.categorySelected.map((function(t){return t.id})),numberCount:this.categorySelected.reduce((function(t,e){return t+e.totalMembers}),0),isUpload:this.isShowUploadCSV,file:{name:null===(l=null===(o=this.getCampaignStorage)||void 0===o?void 0:o.targetAudienceFile)||void 0===l?void 0:l.name,targetURL:null===(d=null===(s=this.getCampaignStorage)||void 0===s?void 0:s.targetAudienceFile)||void 0===d?void 0:d.targetURL}})},t.prototype.onChecked=function(t,e){var n,a,r,i,o,l,s,d,m;if(!t)return(n=this.selection).deselect.apply(n,Z(this.selection.selected.filter((function(t){return t.id===e.id})))),this.categorySelected=this.selection.selected,void this.targetAudience.emit({targetAudience:this.categorySelected.map((function(t){return t.id})),numberCount:this.categorySelected.reduce((function(t,e){return t+e.totalMembers}),0),isUpload:this.isShowUploadCSV,file:{name:null===(r=null===(a=this.getCampaignStorage)||void 0===a?void 0:a.targetAudienceFile)||void 0===r?void 0:r.name,targetURL:null===(o=null===(i=this.getCampaignStorage)||void 0===i?void 0:i.targetAudienceFile)||void 0===o?void 0:o.targetURL}});this.selection.select(e),this.categorySelected=this.selection.selected,this.targetAudience.emit({targetAudience:this.categorySelected.map((function(t){return t.id})),numberCount:this.categorySelected.reduce((function(t,e){return t+e.totalMembers}),0),isUpload:this.isShowUploadCSV,file:{name:null===(s=null===(l=this.getCampaignStorage)||void 0===l?void 0:l.targetAudienceFile)||void 0===s?void 0:s.name,targetURL:null===(m=null===(d=this.getCampaignStorage)||void 0===d?void 0:d.targetAudienceFile)||void 0===m?void 0:m.targetURL}})},t.prototype.isChecked=function(t){return!!this.selection.selected.find((function(e){return e.id===t.id}))},t.prototype.onDownloadSampleService=function(){var t,e,n,a,r,i,o,l,s,d,m,c,p,u,g=[this.initParam("platform",null===(a=null===(n=null===(e=null===(t=this.getCampaignStorage)||void 0===t?void 0:t.generalInformation)||void 0===e?void 0:e.form)||void 0===n?void 0:n.template)||void 0===a?void 0:a.platform,"string"),this.initParam("templateName",null===(l=null===(o=null===(i=null===(r=this.getCampaignStorage)||void 0===r?void 0:r.generalInformation)||void 0===i?void 0:i.form)||void 0===o?void 0:o.template)||void 0===l?void 0:l.name,"string"),this.initParam("templateLang",null===(c=null===(m=null===(d=null===(s=this.getCampaignStorage)||void 0===s?void 0:s.generalInformation)||void 0===d?void 0:d.form)||void 0===m?void 0:m.template)||void 0===c?void 0:c.lang,"string"),this.initParam("category",(u=null===(p=this.categorySelected)||void 0===p?void 0:p.map((function(t){return t.id})).join(),null!=u?u:[]),"string")],v=this.apiAdapterService.executeApiRequest(g,"/message/bulkupload/template","GET",!0).subscribe((function(t){!function(t,e){void 0===e&&(e="file.csv");var n=URL.createObjectURL(t),a=document.createElement("a");a.href=n,a.download=e,document.body.appendChild(a),a.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window})),document.body.removeChild(a)}(t,"Sample-UploadParameter.xlsx")}));this.subscribers.push(v)},t.prototype.onFileSelected=function(t){var e=t.target.files;0!==e.length&&(e[0].size>31457280?this.toastr.error("Upload media failed, max size 30mb"):this.getPresignedUrlService(e[0]))},t.prototype.getPresignedUrlService=function(t){var e=this;this.isUpload=!0;var n=[{name:"fileName",value:t.name,in:"query",type:"string"},{name:"fileType",value:t.type,in:"query",type:"string"}],a=this.apiAdapterService.executeApiRequest(n,"/campaign/upload/pre-signed-url","GET").subscribe((function(n){n&&n.data&&e.uploadToS3Service(t,n.data.url,n.data.fileName)}),(function(){return e.isUpload=!1}));this.subscribers.push(a)},t.prototype.uploadToS3Service=function(t,e,n){var a=this;this.apiAdapterService.uploadFileToS3(e,t).subscribe((function(){a.finalizeTargetFileService(n)}),(function(t){a.toastr.error("Failed uploading to S3 storage"),a.isUpload=!1,console.error("S3 Upload Error:",t)}))},t.prototype.finalizeTargetFileService=function(t){var e,n,a=this,r=null===(n=null===(e=this.getCampaignStorage)||void 0===e?void 0:e.generalInformation)||void 0===n?void 0:n.id,i=[{name:"body",value:{fileName:t},in:"body",type:"object",withoutKeyData:!0}],o=this.apiAdapterService.executeApiRequest(i,"/campaign/"+r+"/targetfile","POST").subscribe((function(e){var n;e&&(a.toastr.info("Upload XLSX has been uploaded successfully"),a.isUpload=!1,a.targetAudience.emit({targetAudience:a.categorySelected.map((function(t){return t.id})),numberCount:a.categorySelected.reduce((function(t,e){return t+e.totalMembers}),0),isUpload:!0,file:{name:t,targetURL:(null===(n=e.data)||void 0===n?void 0:n.targetURL)||""}}))}),(function(){return a.isUpload=!1}));this.subscribers.push(o)},t.prototype.ngOnDestroy=function(){this.subscribers.forEach((function(t){return t.unsubscribe()}))},t.ctorParameters=function(){return[{type:mt},{type:s.ToastrService}]},J([e.Output()],t.prototype,"targetAudience",void 0),J([e.Input()],t.prototype,"isReadOnlyMode",void 0),J([e.ViewChild(O.MatSort)],t.prototype,"matSort",void 0),t=J([e.Component({selector:"lib-new-number-bases",template:'<h3 class="font-20px font-PoppinsBold asterix--after mb-2"\r\n\t[ngClass]="{ \'mb-3\': !isReadOnlyMode }">\r\n\tTarget Audience\r\n</h3>\r\n<div *ngIf="!isReadOnlyMode"\r\n\tclass="d-flex justify-content-between">\r\n\t<p>Select your target audience (category)</p>\r\n\t<div *ngIf="isShowUploadCSV">\r\n\t\t<button mat-stroked-button\r\n\t\t\tcolor="primary-telin"\r\n\t\t\tclass="telin-font-color mr-2"\r\n\t\t\t(click)="onDownloadSampleService()">\r\n\t\t\tDownload Template\r\n\t\t</button>\r\n\r\n\t\t<button mat-flat-button\r\n\t\t\tcolor="primary-telin-blue2"\r\n\t\t\t[disabled]="isUpload"\r\n\t\t\t(click)="filePicker.click()">\r\n\t\t\tUpload XLSX\r\n\t\t</button>\r\n\r\n\t\t<input #filePicker\r\n\t\t\thidden\r\n\t\t\ttype="file"\r\n\t\t\t[accept]="extFileAccepted.join()"\r\n\t\t\t(change)="onFileSelected($event)" />\r\n\t</div>\r\n</div>\r\n\r\n<p *ngIf="!isReadOnlyMode && (getCampaignStorage?.targetAudienceFile?.name ||\r\ngetCampaignStorage?.targetAudienceFile?.targetURL)"\r\n\tclass="text-right my-2">\r\n\t<span class="fw-bold">Filename:</span> {{ getCampaignStorage?.targetAudienceFile?.name ||\r\n\tgetCampaignStorage?.targetAudienceFile?.targetURL }}\r\n</p>\r\n\r\n<div *ngIf="!isReadOnlyMode || !fileSelected?.name"\r\n\tclass="row align-items-center mb-3">\r\n\t<div class="col-md-4 col-12">\r\n\t\t<lib-search *ngIf="!isReadOnlyMode"\r\n\t\t\t[placeholder]="\'Search\'"\r\n\t\t\t(searchRes)="updateSearch($event)"></lib-search>\r\n\t</div>\r\n\t<div class="col-md-8 col-12">\r\n\t\t<p class="text-right mb-0">\r\n\t\t\tCategory Selected:\r\n\t\t\t<span class="font-bold">\r\n\t\t\t\t{{ categorySelected?.length || 0 }}\r\n\t\t\t</span>\r\n\t\t</p>\r\n\t</div>\r\n</div>\r\n\r\n<ng-container *ngIf="!isReadOnlyMode || !fileSelected?.name; else isShowFile">\r\n\t<table *ngIf="!isLoading; else isSpinner"\r\n\t\tmat-table\r\n\t\tmatSort\r\n\t\tmatSortDisableClear\r\n\t\tclass="table w-100 mb-2"\r\n\t\t[dataSource]="table.dataSource"\r\n\t\t(matSortChange)="sort()">\r\n\t\t<ng-container matColumnDef="select">\r\n\t\t\t<th *matHeaderCellDef>\r\n\t\t\t\t<ng-container *ngIf="!isReadOnlyMode">\r\n\t\t\t\t\t<mat-checkbox [aria-label]="checkboxLabel()"\r\n\t\t\t\t\t\t[checked]="selection.hasValue() && isAllSelected()"\r\n\t\t\t\t\t\t[indeterminate]="selection.hasValue() && !isAllSelected()"\r\n\t\t\t\t\t\t(change)="masterToggle($event.checked)">\r\n\t\t\t\t\t</mat-checkbox>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</th>\r\n\t\t\t<td *matCellDef="let row">\r\n\t\t\t\t<ng-container *ngIf="!isReadOnlyMode">\r\n\t\t\t\t\t<mat-checkbox [aria-label]="checkboxLabel(row)"\r\n\t\t\t\t\t\t[checked]="isChecked(row)"\r\n\t\t\t\t\t\t(change)="onChecked($event.checked, row)">\r\n\t\t\t\t\t</mat-checkbox>\r\n\t\t\t\t</ng-container>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\r\n\t\t<ng-container *ngFor="let index of [1, 2, 3, 4]"\r\n\t\t\t[matColumnDef]="table.columns[index]">\r\n\t\t\t<th *matHeaderCellDef\r\n\t\t\t\t[mat-sort-header]="table.columns[index]">\r\n\t\t\t\t{{ table.labels[index] }}\r\n\t\t\t</th>\r\n\r\n\t\t\t<td *matCellDef="let row">\r\n\t\t\t\t<ng-container *ngIf="[1, 2].includes(index)">\r\n\t\t\t\t\t{{ row[table.columns[index]] }}\r\n\t\t\t\t</ng-container>\r\n\t\t\t\t<ng-container *ngIf="[3, 4].includes(index)">\r\n\t\t\t\t\t{{ row[table.columns[index]] | date : \' d MMM y\' }}\r\n\t\t\t\t</ng-container>\r\n\t\t\t</td>\r\n\t\t</ng-container>\r\n\r\n\t\t<ng-container matColumnDef="no-content">\r\n\t\t\t<th class="text-center"\r\n\t\t\t\t*matHeaderCellDef\r\n\t\t\t\t[colSpan]="table.columns.length">\r\n\t\t\t\tData Not Available\r\n\t\t\t</th>\r\n\t\t</ng-container>\r\n\r\n\t\t<tr mat-header-row\r\n\t\t\t*matHeaderRowDef="table.columns"></tr>\r\n\r\n\t\t<tr mat-header-row\r\n\t\t\tclass="no-content"\r\n\t\t\t*matHeaderRowDef="[\'no-content\']"\r\n\t\t\t[style.display]="table.dataSource?.data?.length === 0 ? \'table-row\' : \'none\'"></tr>\r\n\r\n\t\t<tr mat-row\r\n\t\t\t*matRowDef="let row; columns: table.columns"></tr>\r\n\t</table>\r\n\r\n\t<mat-paginator *ngIf="!isReadOnlyMode"\r\n\t\tclass="campaign-paginator"\r\n\t\t[length]="table.totalData"\r\n\t\t[pageSize]="table.pageSize"\r\n\t\t[pageIndex]="table.getPageIndex()"\r\n\t\t[pageSizeOptions]="[10, 25, 50, 100, 250]"\r\n\t\t(page)="updatePage($event)"></mat-paginator>\r\n\r\n\t<ng-template #isSpinner>\r\n\t\t<div class="text-center my-auto">\r\n\t\t\t<img src="../../../../../assets/images/spinner.svg" />\r\n\t\t</div>\r\n\t</ng-template>\r\n</ng-container>\r\n\r\n<ng-template #isShowFile>\r\n\t<p class="font-PoppinsBold font-14px">\r\n\t\tFile: <a [href]="fileSelected?.targetURL"\r\n\t\t\ttarget="_blank">{{ fileSelected?.name }}</a>\r\n\t</p>\r\n</ng-template>\r\n',styles:["::ng-deep .mat-paginator.campaign-paginator .mat-paginator-container{align-items:normal}::ng-deep .mat-paginator.campaign-paginator .mat-tab-body{background-color:#fff}::ng-deep .mat-paginator.campaign-paginator .mat-form-field-underline{bottom:0}"]})],t)}(),re=function(){function t(t){this.toastr=t,this.datePipe=new a.DatePipe("en-US"),this.scheduler=new e.EventEmitter}return t.prototype.ngOnInit=function(){this.validationMessages=Lt,this.minDate=new Date,this.initForm(),this.initEdit(),this.initDisable()},t.prototype.initForm=function(){var t=this;this.form=new m.FormGroup({schedulerType:new m.FormControl(null,m.Validators.required),startDate:new m.FormControl(null),startTime:new m.FormControl(null),isRepeat:new m.FormControl(!1),delivery:new m.FormControl(null)}),this.form.valueChanges.subscribe((function(){t.scheduler.emit(t.form)}))},t.prototype.initDisable=function(){this.isReadOnlyMode&&this.form.disable()},t.prototype.initEdit=function(t){var e,n,a,r,i,o,l,s,d,m;void 0===t&&(t=!0);var c=localStorage.getItem("telin.campaign")?JSON.parse(localStorage.getItem("telin.campaign")):{};0!==Object.entries(c).length&&(t&&this.form.get("schedulerType").setValue(null===(n=null===(e=c)||void 0===e?void 0:e.scheduler)||void 0===n?void 0:n.schedulerType),this.form.get("startDate").setValue(null===(r=null===(a=c)||void 0===a?void 0:a.scheduler)||void 0===r?void 0:r.startDate),this.form.get("startTime").setValue(null===(o=null===(i=c)||void 0===i?void 0:i.scheduler)||void 0===o?void 0:o.startTime),this.form.get("isRepeat").setValue(null===(s=null===(l=c)||void 0===l?void 0:l.scheduler)||void 0===s?void 0:s.isRepeat),this.form.get("delivery").setValue(this.capitalizeFirstLetter(null===(m=null===(d=c)||void 0===d?void 0:d.scheduler)||void 0===m?void 0:m.delivery)))},t.prototype.capitalizeFirstLetter=function(t){var e,n,a;return t?null!=(a=(null===(e=t)||void 0===e?void 0:e.charAt(0).toUpperCase())+(null===(n=t)||void 0===n?void 0:n.slice(1).toLowerCase()))?a:"":""},t.prototype.updateSchedulerType=function(t){if(this.form.get("schedulerType").setValue(t),"NOW"===this.form.get("schedulerType").value)return this.form.get("startDate").setValue(null),this.form.get("startDate").clearValidators(),this.form.get("startDate").updateValueAndValidity(),this.form.get("startTime").setValue(null),this.form.get("startTime").clearValidators(),this.form.get("startTime").updateValueAndValidity(),this.form.get("delivery").setValue(null),this.form.get("delivery").clearValidators(),this.form.get("delivery").updateValueAndValidity(),void this.form.get("isRepeat").setValue(!1);this.form.get("startDate").setValidators(m.Validators.required),this.form.get("startDate").updateValueAndValidity(),this.form.get("startTime").setValidators(m.Validators.required),this.form.get("startTime").updateValueAndValidity(),this.initEdit(!1)},t.prototype.updateTime=function(){this.form.get("startDate").value&&((new Date).getTime()>new Date(this.datePipe.transform(this.form.get("startDate").value,"yyyy-MM-dd")+" "+this.form.get("startTime").value).getTime()&&(this.form.get("startTime").setValue(null),this.toastr.error("Selected time has been surpassed")))},t.prototype.updateRepeat=function(t){if(t)return this.form.get("delivery").setValidators(m.Validators.required),void this.form.get("delivery").updateValueAndValidity();this.form.get("isRepeat").setValue(null),this.form.get("delivery").setValue(null),this.form.get("delivery").clearValidators(),this.form.get("delivery").updateValueAndValidity()},t.ctorParameters=function(){return[{type:s.ToastrService}]},J([e.Output()],t.prototype,"scheduler",void 0),J([e.Input()],t.prototype,"isReadOnlyMode",void 0),t=J([e.Component({selector:"lib-new-campaign-scheduler",template:'<h3 class="font-20px font-PoppinsBold mb-4"\r\n\t[ngClass]="{ \'asterix--after\': !isReadOnlyMode }">\r\n\tScheduler\r\n</h3>\r\n\r\n<form [formGroup]="form"\r\n\tautocomplete="off"\r\n\tclass="scheduler">\r\n\t<div class="d-flex gap-4">\r\n\t\t<mat-card class="grid-cards pointer"\r\n\t\t\t[ngClass]="{\r\n active: form.get(\'schedulerType\').value === \'NOW\',\r\n \'d-none\': form.get(\'schedulerType\').value !== \'NOW\' && isReadOnlyMode\r\n }"\r\n\t\t\t(click)="updateSchedulerType(\'NOW\')">\r\n\t\t\t<mat-card-title>\r\n\t\t\t\t<div class="d-flex justify-content-between align-items-center">\r\n\t\t\t\t\t<div class="font-16px font-PoppinsBold">Broadcast Now</div>\r\n\r\n\t\t\t\t\t<mat-radio-button *ngIf="!isReadOnlyMode"\r\n\t\t\t\t\t\tclass="scheduler-type"\r\n\t\t\t\t\t\t[checked]="form.get(\'schedulerType\').value === \'NOW\'"\r\n\t\t\t\t\t\t(click)="updateSchedulerType(\'NOW\')">\r\n\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t</div>\r\n\t\t\t</mat-card-title>\r\n\t\t\t<mat-card-content class="mb-0">\r\n\t\t\t\t<img src="../../../../../assets/svg/broadcast-now.svg" />\r\n\t\t\t</mat-card-content>\r\n\t\t\t<mat-card-actions>\r\n\t\t\t\t<p class="px-2 py-3 mb-0">\r\n\t\t\t\t\tBroadcast now to ensure the message is delivered directly to the customer!\r\n\t\t\t\t</p>\r\n\t\t\t</mat-card-actions>\r\n\t\t</mat-card>\r\n\r\n\t\t<mat-card class="grid-cards pointer"\r\n\t\t\t[ngClass]="{\r\n active: form.get(\'schedulerType\').value === \'ONE_TIME\',\r\n \'d-none\': form.get(\'schedulerType\').value !== \'ONE_TIME\' && isReadOnlyMode\r\n }"\r\n\t\t\t(click)="updateSchedulerType(\'ONE_TIME\')">\r\n\t\t\t<mat-card-title>\r\n\t\t\t\t<div class="d-flex justify-content-between align-items-center">\r\n\t\t\t\t\t<div class="font-16px font-PoppinsBold">Frequently Scheduler</div>\r\n\r\n\t\t\t\t\t<mat-radio-button *ngIf="!isReadOnlyMode"\r\n\t\t\t\t\t\tclass="scheduler-type"\r\n\t\t\t\t\t\t[checked]="form.get(\'schedulerType\').value === \'ONE_TIME\'"\r\n\t\t\t\t\t\t(click)="updateSchedulerType(\'ONE_TIME\')">\r\n\t\t\t\t\t</mat-radio-button>\r\n\t\t\t\t</div>\r\n\t\t\t</mat-card-title>\r\n\t\t\t<mat-card-content class="mb-0">\r\n\t\t\t\t<img src="../../../../../assets/svg/broadcast-schedule.svg" />\r\n\t\t\t</mat-card-content>\r\n\t\t\t<mat-card-actions>\r\n\t\t\t\t<p class="px-2 py-3 mb-0">\r\n\t\t\t\t\tCreate a broadcast schedule and organize it based on your needs, with a date range.\r\n\t\t\t\t</p>\r\n\t\t\t</mat-card-actions>\r\n\t\t</mat-card>\r\n\t</div>\r\n\r\n\t<ng-container *ngIf="form.get(\'schedulerType\').value === \'ONE_TIME\'">\r\n\t\t<p class="font-14px font-PoppinsBold asterix--after py-3 mb-0">Select Date and Time</p>\r\n\r\n\t\t<div class="row mb-3">\r\n\t\t\t<div class="col-md-3 col-12">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="w-100">\r\n\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\tclass="mat-datepicker-input"\r\n\t\t\t\t\t\tplaceholder="Select Date"\r\n\t\t\t\t\t\tformControlName="startDate"\r\n\t\t\t\t\t\t[min]="minDate"\r\n\t\t\t\t\t\t[matDatepicker]="startDatePicker"\r\n\t\t\t\t\t\t(dateChange)="updateTime()" />\r\n\r\n\t\t\t\t\t<mat-datepicker-toggle class="scheduler-date-toggle"\r\n\t\t\t\t\t\tmatSuffix\r\n\t\t\t\t\t\t[for]="startDatePicker">\r\n\t\t\t\t\t\t<mat-icon class="d-flex"\r\n\t\t\t\t\t\t\tsvgIcon="icon-date-grey"\r\n\t\t\t\t\t\t\tmatDatepickerToggleIcon></mat-icon>\r\n\t\t\t\t\t</mat-datepicker-toggle>\r\n\t\t\t\t\t<mat-datepicker #startDatePicker></mat-datepicker>\r\n\t\t\t\t</mat-form-field>\r\n\r\n\t\t\t\t<mat-error align="end"\r\n\t\t\t\t\t*ngFor="let validation of validationMessages.startDate">\r\n\t\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t\t*ngIf="form.get(\'startDate\').touched && form.get(\'startDate\').hasError(validation.type)">\r\n\t\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class="col-md-3 col-12">\r\n\t\t\t\t<mat-form-field appearance="outline"\r\n\t\t\t\t\tfloatLabel="always"\r\n\t\t\t\t\tclass="scheduler-time">\r\n\t\t\t\t\t<input matInput\r\n\t\t\t\t\t\ttype="time"\r\n\t\t\t\t\t\tstep="1"\r\n\t\t\t\t\t\tmin="00:00"\r\n\t\t\t\t\t\tmax="23:59"\r\n\t\t\t\t\t\tformControlName="startTime"\r\n\t\t\t\t\t\tclass="scheduler-time-input"\r\n\t\t\t\t\t\tplaceholder="Select Time"\r\n\t\t\t\t\t\t(change)="updateTime()" />\r\n\t\t\t\t</mat-form-field>\r\n\r\n\t\t\t\t<mat-error align="end"\r\n\t\t\t\t\t*ngFor="let validation of validationMessages.startTime">\r\n\t\t\t\t\t<p class="font-12px mb-0"\r\n\t\t\t\t\t\t*ngIf="form.get(\'startTime\').touched && form.get(\'startTime\').hasError(validation.type)">\r\n\t\t\t\t\t\t{{ validation.message }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<mat-slide-toggle class="repeat-broadcast mb-3"\r\n\t\t\tformControlName="isRepeat"\r\n\t\t\t(change)="updateRepeat($event.checked)">\r\n\t\t\t<p class="font-14px font-PoppinsBold mb-0">Repeat Broadcast</p>\r\n\t\t</mat-slide-toggle>\r\n\r\n\t\t<ng-container *ngIf="form.get(\'isRepeat\').value">\r\n\t\t\t<p class="font-14px">The broadcast will be repeat based on the date and time you select</p>\r\n\r\n\t\t\t<div class="row">\r\n\t\t\t\t<div class="col-12">\r\n\t\t\t\t\t<div class="d-flex gap-2">\r\n\t\t\t\t\t\t<ng-container *ngFor="let item of [\'Daily\', \'Weekly\', \'Monthly\']">\r\n\t\t\t\t\t\t\t<button *ngIf="form.get(\'delivery\').value !== item"\r\n\t\t\t\t\t\t\t\tmat-stroked-button\r\n\t\t\t\t\t\t\t\tstyle="min-width: 80px"\r\n\t\t\t\t\t\t\t\t[disabled]="isReadOnlyMode"\r\n\t\t\t\t\t\t\t\t(click)="form.get(\'delivery\').setValue(item)">\r\n\t\t\t\t\t\t\t\t{{ item }}\r\n\t\t\t\t\t\t\t</button>\r\n\r\n\t\t\t\t\t\t\t<button *ngIf="form.get(\'delivery\').value === item"\r\n\t\t\t\t\t\t\t\tmat-flat-button\r\n\t\t\t\t\t\t\t\tcolor="primary-telin-blue2"\r\n\t\t\t\t\t\t\t\tstyle="min-width: 80px"\r\n\t\t\t\t\t\t\t\t[disabled]="isReadOnlyMode"\r\n\t\t\t\t\t\t\t\t(click)="form.get(\'delivery\').setValue(item)">\r\n\t\t\t\t\t\t\t\t{{ item }}\r\n\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-container>\r\n\t</ng-container>\r\n</form>\r\n',styles:['.scheduler .grid-cards{width:280px;padding:1em;border:1px solid #e2e2e2;border-radius:10px;box-shadow:none}.scheduler .grid-cards.active{background-color:#f8fbff;border:1px solid #4285f4}.scheduler .alert-primary{height:52px;display:flex;align-items:center;background-color:#f3f7fd;border-color:#1369eb;border-radius:8px;color:#231f20}.scheduler .scheduler-time-input::-webkit-calendar-picker-indicator{width:24px;height:24px;margin-top:-5px;filter:invert(43%) sepia(6%) saturate(188%) hue-rotate(187deg) brightness(97%) contrast(93%)}.asterix--after:after{content:"*";color:red}::ng-deep .mat-radio-button.scheduler-type.mat-radio-checked .mat-radio-outer-circle{border-color:#4285f4}::ng-deep .mat-radio-button.scheduler-type.mat-radio-checked .mat-radio-inner-circle{background-color:#4285f4}::ng-deep .mat-datepicker-toggle.scheduler-date-toggle .mat-icon-button{display:flex!important}::ng-deep .mat-datepicker-toggle.scheduler-date-toggle .mat-icon-button .mat-icon{height:100%}::ng-deep .mat-form-field.scheduler-time .mat-form-field-infix{padding:.8em 0}::ng-deep .mat-slide-toggle.repeat-broadcast .mat-slide-toggle-bar{width:40px;height:20px;border-radius:13px}::ng-deep .mat-slide-toggle.repeat-broadcast .mat-slide-toggle-thumb-container{width:18px;height:18px;top:1px;left:1px}::ng-deep .mat-slide-toggle.repeat-broadcast .mat-slide-toggle-thumb{width:18px;height:18px;border-radius:50%}::ng-deep .mat-slide-toggle.repeat-broadcast.mat-checked .mat-slide-toggle-bar{background-color:#2bca3b}::ng-deep .mat-slide-toggle.repeat-broadcast.mat-checked .mat-slide-toggle-thumb-container{left:4px}::ng-deep .mat-slide-toggle.repeat-broadcast.mat-checked .mat-slide-toggle-thumb{background-color:#fff}']})],t)}(),ie=function(){function t(){}return J([e.Input()],t.prototype,"isShowLabel",void 0),t=J([e.Component({selector:"lib-new-campaign-summary",template:'<h3 *ngIf="!isShowLabel"\r\n\tclass="font-20px font-PoppinsBold asterix--after mb-4">Summary</h3>\r\n\r\n<div class="mb-4">\r\n\t<lib-new-campaign-general-information [isReadOnlyMode]="true">\r\n\t</lib-new-campaign-general-information>\r\n</div>\r\n\r\n<div class="mb-4">\r\n\t<lib-new-number-bases [isReadOnlyMode]="true"></lib-new-number-bases>\r\n</div>\r\n\r\n<lib-new-campaign-scheduler [isReadOnlyMode]="true"></lib-new-campaign-scheduler>\r\n',styles:[""]})],t)}(),oe=function(){function t(){this.positionWizard=1,this.dataWizard=[]}return t.prototype.ngOnInit=function(){},J([e.Input()],t.prototype,"positionWizard",void 0),J([e.Input()],t.prototype,"dataWizard",void 0),t=J([e.Component({selector:"lib-wizard",template:"<div *ngFor=\"let name of dataWizard; let i = index;\"\r\n\tstyle=\"flex-direction: row; display: flex;\">\r\n\t<div [ngClass]=\"{\r\n\t\t\t\t'circle-active': positionWizard === i + 1,\r\n\t\t\t\t'circle-success': positionWizard > i + 1,\r\n\t\t\t\t'circle-inactive': positionWizard < i + 1\r\n\t\t\t}\">\r\n\t\t<span [ngClass]=\"{\r\n\t\t\t\t'number-active': positionWizard === i + 1,\r\n\t\t\t\t'number-success': positionWizard > i + 1,\r\n\t\t\t\t'number-inactive': positionWizard < i + 1\r\n\t\t\t}\">\r\n\t\t\t{{ i + 1 }}\r\n\t\t</span>\r\n\t</div>\r\n\t<div style=\"align-self: center;\"\r\n\t\tclass=\"ml-2\">\r\n\t\t<span [ngClass]=\"{\r\n\t\t\t\t'active-text': positionWizard === i + 1,\r\n\t\t\t\t'success-text': positionWizard > i + 1,\r\n\t\t\t\t'inactive-text': positionWizard < i + 1\r\n\t\t\t}\">\r\n\t\t\t{{ name }}\r\n\t\t</span>\r\n\t</div>\r\n\t<div *ngIf=\"i + 1 !== dataWizard.length\"\r\n\t\t[ngClass]=\"{\r\n\t\t\t'line': positionWizard < i + 2,\r\n\t\t\t'line-active': positionWizard === i + 2,\r\n\t\t\t'line-complete': positionWizard > i + 2,\r\n\t\t\t'w-50px': dataWizard.length === 5\r\n\t\t}\"></div>\r\n</div>\r\n",styles:[".active-text{font-family:Poppins;font-style:normal;font-weight:500}.success-text{font-family:Poppins;font-style:normal}.inactive-text{color:#848484}.circle-active{padding:9px 16px;border-radius:50%;background-color:#ed1c24}.circle-success{padding:9px 16px;border-radius:50%;background-color:#2bca3b}.circle-inactive{padding:9px 16px;border-radius:50%;background-color:#dde0e2}.number-inactive{color:#848484}.number-success{color:#fff}.number-active{color:#fff;font-family:PoppinsBold}.line{border-bottom:1px solid #e2e2e2;width:120px;position:relative;bottom:20px;margin:0 20px}.line.w-50px{width:50px}.line-complete{border-bottom:1px solid #2bca3b;width:120px;position:relative;bottom:20px;margin:0 20px}.line-active{border-bottom:1px solid #ed1c24;width:120px;position:relative;bottom:20px;margin:0 20px}.line-section{border-bottom:1px solid #dbdfeb;display:flex;position:relative;width:103.2%;right:1.6%}"]})],t)}(),le=function(){function t(){}return t=J([e.NgModule({declarations:[it,oe,Xt,ne,re,ie,ae,Kt,te,Qt,Zt,zt,ee],imports:[a.CommonModule,n.AgmCoreModule.forRoot({apiKey:"AIzaSyCHReBe_RpzAgLTrUC5QIDyeKttQ817wRY",libraries:["places"]}),_t,c.MatAutocompleteModule,m.FormsModule,m.ReactiveFormsModule,b.MatFormFieldModule,S.MatInputModule,T.MatSelectModule,I.MatRadioModule,w.MatListModule,u.MatButtonModule,l.NgxEchartsModule.forRoot({echarts:L}),x.MatIconModule,M.PickerModule,N.AngularEditorModule,f.MatDialogModule,P.MatTabsModule,p.MatBadgeModule,D.NgbDropdownModule,D.NgbPaginationModule,i.MatCardModule,V.MatTableModule,g.MatCheckboxModule,o.MatPaginatorModule,y.MatGridListModule,v.MatDatepickerModule,O.MatSortModule,et,h.MatDividerModule,C.MatProgressSpinnerModule,A.MatSlideToggleModule,d.DragDropModule,Ht],exports:[it,ie],entryComponents:[zt],providers:[a.DatePipe]})],t)}(),se=function(){function t(){}return t=J([e.NgModule({declarations:[Q],imports:[a.CommonModule,n.AgmCoreModule.forRoot({apiKey:"AIzaSyCHReBe_RpzAgLTrUC5QIDyeKttQ817wRY",libraries:["places"]}),le,l.NgxEchartsModule,i.MatCardModule,r.HttpClientModule,s.ToastrModule.forRoot()],exports:[Q],providers:[{provide:o.MatPaginatorIntl,useClass:Et}]})],t)}(),de=function(){function t(){}return t=J([e.NgModule({declarations:[Ut],imports:[a.CommonModule,f.MatDialogModule,u.MatButtonModule],exports:[Ut]})],t)}();t.AdlCampaignManagementLibraryInternalComponent=Q,t.AdlCampaignManagementLibraryInternalModule=se,t.CampaignIndexModule=Ht,t.CampaignManagementComponent=it,t.CampaignManagementModule=le,t.ConfirmationComponent=Ut,t.ConfirmationModule=de,t.DashboardModule=_t,t.SearchModule=et,t.ɵa=oe,t.ɵb=Xt,t.ɵc=ne,t.ɵd=re,t.ɵe=ie,t.ɵf=ae,t.ɵg=Kt,t.ɵh=te,t.ɵi=Qt,t.ɵj=Zt,t.ɵk=zt,t.ɵl=ee,t.ɵm=Wt,t.ɵn=mt,t.ɵo=tt,t.ɵp=jt,t.ɵq=kt,t.ɵr=gt,t.ɵs=mt,t.ɵt=ot,t.ɵu=Et,t.ɵv=Ut,t.ɵw=qt,t.ɵx=Bt,Object.defineProperty(t,"__esModule",{value:!0})}));
16
+ //# sourceMappingURL=adlfe-campaign-management-library.umd.min.js.map