@adlfe/campaign-management-library 2.10.2 → 2.10.4
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.
- package/README.md +0 -43
- package/adlfe-campaign-management-library.d.ts +25 -0
- package/adlfe-campaign-management-library.metadata.json +1 -0
- package/bundles/adlfe-campaign-management-library.umd.js +5872 -0
- package/bundles/adlfe-campaign-management-library.umd.js.map +1 -0
- package/bundles/adlfe-campaign-management-library.umd.min.js +16 -0
- package/bundles/adlfe-campaign-management-library.umd.min.js.map +1 -0
- package/environments/environment.d.ts +4 -0
- package/esm2015/adlfe-campaign-management-library.js +26 -0
- package/esm2015/environments/environment.js +41 -0
- package/esm2015/lib/adl-campaign-management-library-internal.component.js +16 -0
- package/esm2015/lib/adl-campaign-management-library-internal.module.js +35 -0
- package/esm2015/lib/campaign-management/campaign-management.component.js +40 -0
- package/esm2015/lib/campaign-management/campaign-management.module.js +115 -0
- package/esm2015/lib/campaign-management/models/campaign-count-final-response-dto.model.js +1 -0
- package/esm2015/lib/campaign-management/models/contact-category-dto.model.js +1 -0
- package/esm2015/lib/campaign-management/models/failover-req.model.js +42 -0
- package/esm2015/lib/campaign-management/models/general-information-wa-req.model.js +73 -0
- package/esm2015/lib/campaign-management/models/index.js +4 -0
- package/esm2015/lib/campaign-management/models/scheduler-req.model.js +27 -0
- package/esm2015/lib/campaign-management/models/template-wa.model.js +1 -0
- package/esm2015/lib/campaign-management/models/whatsapp-account.js +1 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/campaign-index.component.js +123 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/campaign-index.module.js +72 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +143 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.js +159 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +168 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/models/campaign-response-dto.model.js +1 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/models/campaign-table-config.const.js +37 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/models/campaigns-list.model.js +48 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/models/client-dto.model.js +1 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/models/conversation-chart-response-dto.model.js +1 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/models/index.js +4 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/models/performance-chart-response-dto.model.js +1 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/models/performance-chart-sereies-response-dto.model.js +1 -0
- package/esm2015/lib/campaign-management/modules/campaign-index/models/table.model.js +48 -0
- package/esm2015/lib/campaign-management/modules/dashboard/dashboard.component.js +243 -0
- package/esm2015/lib/campaign-management/modules/dashboard/dashboard.module.js +54 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.js +291 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-email/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.js +277 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-line/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.js +289 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-sms/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +591 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/components/general-information-wa/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.js +320 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/failover-mechanism/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +196 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/general-information/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/new-campaign.component.js +438 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/new-number-bases/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.js +323 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/scheduler/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.js +122 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/summary/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/new-campaign/summary/summary.component.js +16 -0
- package/esm2015/lib/campaign-management/modules/wizard/index.js +2 -0
- package/esm2015/lib/campaign-management/modules/wizard/wizard.component.js +24 -0
- package/esm2015/lib/campaign-management/util/enums.js +16 -0
- package/esm2015/lib/core/const/constants.const.js +172 -0
- package/esm2015/lib/core/const/create-package-service.const.js +10 -0
- package/esm2015/lib/core/const/failover.const.js +29 -0
- package/esm2015/lib/core/const/form-validators.js +23 -0
- package/esm2015/lib/core/const/index.js +6 -0
- package/esm2015/lib/core/const/rate-card-table-config.js +21 -0
- package/esm2015/lib/core/const/validation-message.const.js +56 -0
- package/esm2015/lib/core/directives/index.js +2 -0
- package/esm2015/lib/core/directives/mat-select-infinite-scroll.js +94 -0
- package/esm2015/lib/core/enums/constant.enum.js +27 -0
- package/esm2015/lib/core/enums/http-verb.enum.js +9 -0
- package/esm2015/lib/core/enums/index.js +3 -0
- package/esm2015/lib/core/enums/main-area.enum.js +9 -0
- package/esm2015/lib/core/models/Package.js +139 -0
- package/esm2015/lib/core/models/base-option.model.js +3 -0
- package/esm2015/lib/core/models/billing-param-req.component.js +16 -0
- package/esm2015/lib/core/models/country.model.js +24 -0
- package/esm2015/lib/core/models/create-package-param.model.js +137 -0
- package/esm2015/lib/core/models/http-body-resp.model.js +21 -0
- package/esm2015/lib/core/models/index.js +8 -0
- package/esm2015/lib/core/models/util/api-adapter-service-models/index.js +1 -0
- package/esm2015/lib/core/models/util/api-adapter-service-models/parameter.model.js +1 -0
- package/esm2015/lib/core/models/util/api-adapter-service-models/server-in-built-error.model.js +1 -0
- package/esm2015/lib/core/models/util/api-dto/request-models/app-request.js +1 -0
- package/esm2015/lib/core/models/util/api-dto/response-models/app-response-adl.js +1 -0
- package/esm2015/lib/core/models/util/api-dto/response-models/app-response.js +1 -0
- package/esm2015/lib/core/models/util/api-dto/response-models/error.js +1 -0
- package/esm2015/lib/core/models/util/api-dto/response-models/index.js +1 -0
- package/esm2015/lib/core/models/util/api-dto/response-models/meta.js +1 -0
- package/esm2015/lib/core/models/util/api-dto/response-models/paging.js +1 -0
- package/esm2015/lib/core/models/util/http-body-req/http-body-req-pagination-global-var.model.js +13 -0
- package/esm2015/lib/core/models/util/http-body-req/http-body-req-pagination.model.js +13 -0
- package/esm2015/lib/core/models/util/http-body-req/index.js +3 -0
- package/esm2015/lib/core/models/util/index.js +4 -0
- package/esm2015/lib/core/services/api-adapter-service.service.js +116 -0
- package/esm2015/lib/core/services/index.js +2 -0
- package/esm2015/lib/core/util/custom-paginator.js +26 -0
- package/esm2015/lib/core/util/download-blob-file.js +14 -0
- package/esm2015/lib/core/util/enum-to-option-generator.js +24 -0
- package/esm2015/lib/core/util/http-param-generator.js +15 -0
- package/esm2015/lib/core/util/index.js +5 -0
- package/esm2015/lib/global/confirmation/confirmation/confirmation.component.js +28 -0
- package/esm2015/lib/global/confirmation/confirmation/index.js +2 -0
- package/esm2015/lib/global/confirmation/confirmation.module.js +17 -0
- package/esm2015/lib/global/confirmation/shared/model/confirmation.model.js +3 -0
- package/esm2015/lib/global/confirmation/shared/model/index.js +2 -0
- package/esm2015/lib/global/confirmation/shared/shared-services.service.js +23 -0
- package/esm2015/lib/global/search/search/search.component.js +43 -0
- package/esm2015/lib/global/search/search.module.js +30 -0
- package/esm2015/public-api.js +19 -0
- package/esm5/adlfe-campaign-management-library.js +26 -0
- package/esm5/environments/environment.js +41 -0
- package/esm5/lib/adl-campaign-management-library-internal.component.js +15 -0
- package/esm5/lib/adl-campaign-management-library-internal.module.js +38 -0
- package/esm5/lib/campaign-management/campaign-management.component.js +41 -0
- package/esm5/lib/campaign-management/campaign-management.module.js +118 -0
- package/esm5/lib/campaign-management/models/campaign-count-final-response-dto.model.js +1 -0
- package/esm5/lib/campaign-management/models/contact-category-dto.model.js +1 -0
- package/esm5/lib/campaign-management/models/failover-req.model.js +47 -0
- package/esm5/lib/campaign-management/models/general-information-wa-req.model.js +77 -0
- package/esm5/lib/campaign-management/models/index.js +4 -0
- package/esm5/lib/campaign-management/models/scheduler-req.model.js +29 -0
- package/esm5/lib/campaign-management/models/template-wa.model.js +1 -0
- package/esm5/lib/campaign-management/models/whatsapp-account.js +1 -0
- package/esm5/lib/campaign-management/modules/campaign-index/campaign-index.component.js +127 -0
- package/esm5/lib/campaign-management/modules/campaign-index/campaign-index.module.js +75 -0
- package/esm5/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.js +146 -0
- package/esm5/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/index.js +2 -0
- package/esm5/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/index.js +2 -0
- package/esm5/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.js +164 -0
- package/esm5/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/index.js +2 -0
- package/esm5/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.js +174 -0
- package/esm5/lib/campaign-management/modules/campaign-index/models/campaign-response-dto.model.js +1 -0
- package/esm5/lib/campaign-management/modules/campaign-index/models/campaign-table-config.const.js +37 -0
- package/esm5/lib/campaign-management/modules/campaign-index/models/campaigns-list.model.js +52 -0
- package/esm5/lib/campaign-management/modules/campaign-index/models/client-dto.model.js +1 -0
- package/esm5/lib/campaign-management/modules/campaign-index/models/conversation-chart-response-dto.model.js +1 -0
- package/esm5/lib/campaign-management/modules/campaign-index/models/index.js +4 -0
- package/esm5/lib/campaign-management/modules/campaign-index/models/performance-chart-response-dto.model.js +1 -0
- package/esm5/lib/campaign-management/modules/campaign-index/models/performance-chart-sereies-response-dto.model.js +1 -0
- package/esm5/lib/campaign-management/modules/campaign-index/models/table.model.js +50 -0
- package/esm5/lib/campaign-management/modules/dashboard/dashboard.component.js +269 -0
- package/esm5/lib/campaign-management/modules/dashboard/dashboard.module.js +57 -0
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.js +319 -0
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-email/index.js +2 -0
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.js +308 -0
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-line/index.js +2 -0
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.js +317 -0
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-sms/index.js +2 -0
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.js +645 -0
- package/esm5/lib/campaign-management/modules/new-campaign/components/general-information-wa/index.js +2 -0
- package/esm5/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.js +346 -0
- package/esm5/lib/campaign-management/modules/new-campaign/failover-mechanism/index.js +2 -0
- package/esm5/lib/campaign-management/modules/new-campaign/general-information/general-information.component.js +239 -0
- package/esm5/lib/campaign-management/modules/new-campaign/general-information/index.js +2 -0
- package/esm5/lib/campaign-management/modules/new-campaign/index.js +2 -0
- package/esm5/lib/campaign-management/modules/new-campaign/new-campaign.component.js +455 -0
- package/esm5/lib/campaign-management/modules/new-campaign/new-number-bases/index.js +2 -0
- package/esm5/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.js +353 -0
- package/esm5/lib/campaign-management/modules/new-campaign/scheduler/index.js +2 -0
- package/esm5/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.js +125 -0
- package/esm5/lib/campaign-management/modules/new-campaign/summary/index.js +2 -0
- package/esm5/lib/campaign-management/modules/new-campaign/summary/summary.component.js +19 -0
- package/esm5/lib/campaign-management/modules/wizard/index.js +2 -0
- package/esm5/lib/campaign-management/modules/wizard/wizard.component.js +25 -0
- package/esm5/lib/campaign-management/util/enums.js +16 -0
- package/esm5/lib/core/const/constants.const.js +172 -0
- package/esm5/lib/core/const/create-package-service.const.js +10 -0
- package/esm5/lib/core/const/failover.const.js +29 -0
- package/esm5/lib/core/const/form-validators.js +23 -0
- package/esm5/lib/core/const/index.js +6 -0
- package/esm5/lib/core/const/rate-card-table-config.js +21 -0
- package/esm5/lib/core/const/validation-message.const.js +56 -0
- package/esm5/lib/core/directives/index.js +2 -0
- package/esm5/lib/core/directives/mat-select-infinite-scroll.js +98 -0
- package/esm5/lib/core/enums/constant.enum.js +27 -0
- package/esm5/lib/core/enums/http-verb.enum.js +9 -0
- package/esm5/lib/core/enums/index.js +3 -0
- package/esm5/lib/core/enums/main-area.enum.js +9 -0
- package/esm5/lib/core/models/Package.js +143 -0
- package/esm5/lib/core/models/base-option.model.js +7 -0
- package/esm5/lib/core/models/billing-param-req.component.js +20 -0
- package/esm5/lib/core/models/country.model.js +28 -0
- package/esm5/lib/core/models/create-package-param.model.js +139 -0
- package/esm5/lib/core/models/http-body-resp.model.js +25 -0
- package/esm5/lib/core/models/index.js +8 -0
- package/esm5/lib/core/models/util/api-adapter-service-models/index.js +1 -0
- package/esm5/lib/core/models/util/api-adapter-service-models/parameter.model.js +1 -0
- package/esm5/lib/core/models/util/api-adapter-service-models/server-in-built-error.model.js +1 -0
- package/esm5/lib/core/models/util/api-dto/request-models/app-request.js +1 -0
- package/esm5/lib/core/models/util/api-dto/response-models/app-response-adl.js +1 -0
- package/esm5/lib/core/models/util/api-dto/response-models/app-response.js +1 -0
- package/esm5/lib/core/models/util/api-dto/response-models/error.js +1 -0
- package/esm5/lib/core/models/util/api-dto/response-models/index.js +1 -0
- package/esm5/lib/core/models/util/api-dto/response-models/meta.js +1 -0
- package/esm5/lib/core/models/util/api-dto/response-models/paging.js +1 -0
- package/esm5/lib/core/models/util/http-body-req/http-body-req-pagination-global-var.model.js +15 -0
- package/esm5/lib/core/models/util/http-body-req/http-body-req-pagination.model.js +15 -0
- package/esm5/lib/core/models/util/http-body-req/index.js +3 -0
- package/esm5/lib/core/models/util/index.js +4 -0
- package/esm5/lib/core/services/api-adapter-service.service.js +119 -0
- package/esm5/lib/core/services/index.js +2 -0
- package/esm5/lib/core/util/custom-paginator.js +29 -0
- package/esm5/lib/core/util/download-blob-file.js +15 -0
- package/esm5/lib/core/util/enum-to-option-generator.js +24 -0
- package/esm5/lib/core/util/http-param-generator.js +15 -0
- package/esm5/lib/core/util/index.js +5 -0
- package/esm5/lib/global/confirmation/confirmation/confirmation.component.js +29 -0
- package/esm5/lib/global/confirmation/confirmation/index.js +2 -0
- package/esm5/lib/global/confirmation/confirmation.module.js +20 -0
- package/esm5/lib/global/confirmation/shared/model/confirmation.model.js +7 -0
- package/esm5/lib/global/confirmation/shared/model/index.js +2 -0
- package/esm5/lib/global/confirmation/shared/shared-services.service.js +24 -0
- package/esm5/lib/global/search/search/search.component.js +45 -0
- package/esm5/lib/global/search/search.module.js +33 -0
- package/esm5/public-api.js +19 -0
- package/fesm2015/adlfe-campaign-management-library.js +5290 -0
- package/fesm2015/adlfe-campaign-management-library.js.map +1 -0
- package/fesm5/adlfe-campaign-management-library.js +5663 -0
- package/fesm5/adlfe-campaign-management-library.js.map +1 -0
- package/lib/adl-campaign-management-library-internal.component.d.ts +2 -0
- package/lib/adl-campaign-management-library-internal.module.d.ts +2 -0
- package/lib/campaign-management/campaign-management.component.d.ts +7 -0
- package/lib/campaign-management/campaign-management.module.d.ts +2 -0
- package/lib/campaign-management/models/campaign-count-final-response-dto.model.d.ts +11 -0
- package/lib/campaign-management/models/contact-category-dto.model.d.ts +7 -0
- package/lib/campaign-management/models/failover-req.model.d.ts +25 -0
- package/lib/campaign-management/models/general-information-wa-req.model.d.ts +44 -0
- package/lib/campaign-management/models/scheduler-req.model.d.ts +10 -0
- package/lib/campaign-management/models/template-wa.model.d.ts +41 -0
- package/lib/campaign-management/models/whatsapp-account.d.ts +20 -0
- package/lib/campaign-management/modules/campaign-index/campaign-index.component.d.ts +29 -0
- package/lib/campaign-management/modules/campaign-index/campaign-index.module.d.ts +2 -0
- package/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.d.ts +36 -0
- package/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.d.ts +29 -0
- package/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/index.d.ts +1 -0
- package/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.d.ts +22 -0
- package/lib/campaign-management/modules/campaign-index/models/campaign-response-dto.model.d.ts +48 -0
- package/lib/campaign-management/modules/campaign-index/models/campaign-table-config.const.d.ts +2 -0
- package/lib/campaign-management/modules/campaign-index/models/campaigns-list.model.d.ts +17 -0
- package/lib/campaign-management/modules/campaign-index/models/client-dto.model.d.ts +13 -0
- package/lib/campaign-management/modules/campaign-index/models/conversation-chart-response-dto.model.d.ts +5 -0
- package/lib/campaign-management/modules/campaign-index/models/performance-chart-response-dto.model.d.ts +5 -0
- package/lib/campaign-management/modules/campaign-index/models/performance-chart-sereies-response-dto.model.d.ts +4 -0
- package/lib/campaign-management/modules/campaign-index/models/table.model.d.ts +17 -0
- package/lib/campaign-management/modules/dashboard/dashboard.component.d.ts +40 -0
- package/lib/campaign-management/modules/dashboard/dashboard.module.d.ts +2 -0
- package/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.d.ts +47 -0
- package/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.d.ts +47 -0
- package/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.d.ts +47 -0
- package/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.d.ts +84 -0
- package/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.d.ts +86 -0
- package/lib/campaign-management/modules/new-campaign/general-information/general-information.component.d.ts +53 -0
- package/lib/campaign-management/modules/new-campaign/new-campaign.component.d.ts +60 -0
- package/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.d.ts +53 -0
- package/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.d.ts +21 -0
- package/lib/campaign-management/modules/new-campaign/summary/summary.component.d.ts +3 -0
- package/lib/campaign-management/modules/wizard/wizard.component.d.ts +7 -0
- package/lib/campaign-management/util/enums.d.ts +11 -0
- package/lib/core/const/constants.const.d.ts +80 -0
- package/lib/core/const/create-package-service.const.d.ts +4 -0
- package/lib/core/const/failover.const.d.ts +29 -0
- package/lib/core/const/form-validators.d.ts +3 -0
- package/lib/core/const/index.d.ts +5 -0
- package/lib/core/const/rate-card-table-config.d.ts +2 -0
- package/lib/core/const/validation-message.const.d.ts +142 -0
- package/lib/core/directives/mat-select-infinite-scroll.d.ts +23 -0
- package/lib/core/enums/constant.enum.d.ts +23 -0
- package/lib/core/enums/http-verb.enum.d.ts +7 -0
- package/lib/core/enums/main-area.enum.d.ts +7 -0
- package/lib/core/models/Package.d.ts +43 -0
- package/lib/core/models/base-option.model.d.ts +4 -0
- package/lib/core/models/billing-param-req.component.d.ts +8 -0
- package/lib/core/models/country.model.d.ts +9 -0
- package/lib/core/models/create-package-param.model.d.ts +35 -0
- package/lib/core/models/http-body-resp.model.d.ts +8 -0
- package/lib/core/models/index.d.ts +7 -0
- package/lib/core/models/util/api-adapter-service-models/parameter.model.d.ts +8 -0
- package/lib/core/models/util/api-adapter-service-models/server-in-built-error.model.d.ts +7 -0
- package/lib/core/models/util/api-dto/request-models/app-request.d.ts +3 -0
- package/lib/core/models/util/api-dto/response-models/app-response-adl.d.ts +6 -0
- package/lib/core/models/util/api-dto/response-models/app-response.d.ts +14 -0
- package/lib/core/models/util/api-dto/response-models/paging.d.ts +5 -0
- package/lib/core/models/util/http-body-req/http-body-req-pagination-global-var.model.d.ts +6 -0
- package/lib/core/models/util/http-body-req/http-body-req-pagination.model.d.ts +6 -0
- package/lib/core/models/util/http-body-req/index.d.ts +2 -0
- package/lib/core/models/util/index.d.ts +1 -0
- package/lib/core/services/api-adapter-service.service.d.ts +12 -0
- package/lib/core/util/custom-paginator.d.ts +5 -0
- package/lib/core/util/download-blob-file.d.ts +1 -0
- package/lib/core/util/enum-to-option-generator.d.ts +2 -0
- package/lib/core/util/http-param-generator.d.ts +2 -0
- package/lib/global/confirmation/confirmation/confirmation.component.d.ts +8 -0
- package/lib/global/confirmation/confirmation.module.d.ts +2 -0
- package/lib/global/confirmation/shared/model/confirmation.model.d.ts +7 -0
- package/lib/global/confirmation/shared/shared-services.service.d.ts +7 -0
- package/lib/global/search/search/search.component.d.ts +13 -0
- package/lib/global/search/search.module.d.ts +2 -0
- package/package.json +31 -94
- package/public-api.d.ts +15 -0
- package/.editorconfig +0 -13
- package/.nvmrc +0 -1
- package/.prettierrc +0 -7
- package/.vscode/settings.json +0 -1
- package/Dockerfile +0 -5
- package/Jenkinsfile-dev +0 -50
- package/angular.json +0 -210
- package/default.conf +0 -45
- package/invariant/CHANGELOG.md +0 -69
- package/invariant/LICENSE +0 -21
- package/invariant/README.md +0 -37
- package/invariant/browser.js +0 -49
- package/invariant/invariant.js +0 -51
- package/invariant/invariant.js.flow +0 -7
- package/invariant/package.json +0 -74
- package/projects/adl-campaign-management-library-internal/README.md +0 -1
- package/projects/adl-campaign-management-library-internal/karma.conf.js +0 -32
- package/projects/adl-campaign-management-library-internal/ng-package.json +0 -11
- package/projects/adl-campaign-management-library-internal/package.json +0 -10
- package/projects/adl-campaign-management-library-internal/src/assets/business/external.json +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/flowbuilder/flowbuilder.js +0 -4588
- package/projects/adl-campaign-management-library-internal/src/assets/flowbuilder/index.html +0 -738
- package/projects/adl-campaign-management-library-internal/src/assets/images/1.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/5.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/55.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/6.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/8.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/New folder/calendar.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/New folder/megaphone.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/New folder/schedule(1).png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/New folder/schedule.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/amin1.jpg +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/amin2.jpg +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/amin3.jpg +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/amin4.jpg +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/amin5.jpg +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/amin6.jpg +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/background-login.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/bell.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/bg.jpg +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/carbon_warning.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/account.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/alert.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/appoinment.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/delivery.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/group.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/problem.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/reply.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/screenwafooter.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/telegramButton.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/telegramScreen.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/tiket.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/wallet.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/category/whatsappScreen.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/check.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/contact.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/copy.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/cs.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/dash.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/dashboard.jpeg +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/default-image-chat.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/images/default.jpeg +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/default.jpg +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/down.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/email.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/error.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/flowb.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/flowbuilder.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/forms.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/icon-file.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/info.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/iphone.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/logo-ada-white.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/logo-white.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/logout.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/map-preview.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/map.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/multi.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/multichat/broklyn.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/multichat/jane-cooper.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/multichat/rober-fox.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/multichat/savvanah.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/multichat-empty-chat.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/multichat.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/new.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/nowa.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/otp.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/plus.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/queue-multichat.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/remove.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/setup2fa.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/socmeds/instagram.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/socmeds/line.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/socmeds/messenger.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/socmeds/telegram.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/socmeds/viber.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/socmeds/whatsapp.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/spinner.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/images/switch.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/tg.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/up.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/wa.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/wadash.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/images/welcome.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/static-pages/signup.html +0 -59
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Arrow - Right 2.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Arrow-Down.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Arrow-Right.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Arrow-Up.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/ArrowBack.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Condition.svg +0 -15
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Download.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/End.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/HTTP-REQUEST.svg +0 -22
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Icon-Account.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/IconsList.ts +0 -126
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Info.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Note-Down.svg +0 -7
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Search.svg +0 -14
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Send-Email.svg +0 -8
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Send-WhatsApp-Button.svg +0 -19
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Send-WhatsApp-List.svg +0 -9
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Send-WhatsApp-Message.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Start.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Time Circle.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Time-Circle.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/User-flow-rafiki.svg +0 -469
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Userflow.svg +0 -469
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Vector.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/Wait-Response.svg +0 -21
- package/projects/adl-campaign-management-library-internal/src/assets/svg/X.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/account.svg +0 -20
- package/projects/adl-campaign-management-library-internal/src/assets/svg/action/delete.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/action/edit.svg +0 -9
- package/projects/adl-campaign-management-library-internal/src/assets/svg/action/setup.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/action/upload.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/arrow-detail.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/arrow-flow.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/arrow-left.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/arrow-multichat.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/arrow-right2.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/audio.svg +0 -1
- package/projects/adl-campaign-management-library-internal/src/assets/svg/billing-active.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/billing-inactive.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/bold.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/branch.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/business-active.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/business-inactive.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/call 1.svg +0 -15
- package/projects/adl-campaign-management-library-internal/src/assets/svg/call.svg +0 -15
- package/projects/adl-campaign-management-library-internal/src/assets/svg/cancel.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/catalog-flow.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/chat 1.svg +0 -11
- package/projects/adl-campaign-management-library-internal/src/assets/svg/chat-agent.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/chat-agents.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/chat.svg +0 -11
- package/projects/adl-campaign-management-library-internal/src/assets/svg/checklist-package-white.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/checklist-package.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/checklist1-wa.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/checklist1.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/checklist2-wa.svg +0 -12
- package/projects/adl-campaign-management-library-internal/src/assets/svg/checklist2.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/checklist3-wa.svg +0 -12
- package/projects/adl-campaign-management-library-internal/src/assets/svg/close-ticket.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/communicate.svg +0 -164
- package/projects/adl-campaign-management-library-internal/src/assets/svg/contact.svg +0 -9
- package/projects/adl-campaign-management-library-internal/src/assets/svg/copy2.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/credential-active.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/customer-service-agent (1) 1.svg +0 -18
- package/projects/adl-campaign-management-library-internal/src/assets/svg/customer-service-agent.svg +0 -18
- package/projects/adl-campaign-management-library-internal/src/assets/svg/datepicker.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/document.svg +0 -1
- package/projects/adl-campaign-management-library-internal/src/assets/svg/dot-icon.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/dot-red-icon.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/download-image-green1.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/download_image.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/email (1) 1.svg +0 -15
- package/projects/adl-campaign-management-library-internal/src/assets/svg/email-lite.svg +0 -10
- package/projects/adl-campaign-management-library-internal/src/assets/svg/email.svg +0 -15
- package/projects/adl-campaign-management-library-internal/src/assets/svg/email2.svg +0 -10
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/action.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/actionblue.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/actionorange.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/arrow.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/checkoff.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/checkon.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/close.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/closeleft.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/database.svg +0 -13
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/databaseorange.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/dropdown.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/error.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/errorblue.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/errorred.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/eye.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/eyeblue.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/flowy.css +0 -49
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/flowy.js +0 -645
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/grabme.svg +0 -8
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/heart.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/log.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/logred.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/meta.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/more.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/search.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/tile.png +0 -0
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/time.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/timeblue.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/timecircle.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/twitter.svg +0 -10
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-builder/twitterorange.svg +0 -10
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-receive-order.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-receive-product-inquery.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/flow-variable.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/forgot-password.svg +0 -15
- package/projects/adl-campaign-management-library-internal/src/assets/svg/forgot.svg +0 -15
- package/projects/adl-campaign-management-library-internal/src/assets/svg/foto-header.svg +0 -9
- package/projects/adl-campaign-management-library-internal/src/assets/svg/happy.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/https 1.svg +0 -22
- package/projects/adl-campaign-management-library-internal/src/assets/svg/https.svg +0 -22
- package/projects/adl-campaign-management-library-internal/src/assets/svg/icon-bot-multichat.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/icon-down-arrow.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/icon-history.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/icon-inbox.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/icon-myticket.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/icon-up-arrow.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/icons-download-green.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/icons-download-white.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/info-blue.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/information.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/instagram.svg +0 -25
- package/projects/adl-campaign-management-library-internal/src/assets/svg/interaction.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/interactive 1.svg +0 -31
- package/projects/adl-campaign-management-library-internal/src/assets/svg/interactive.svg +0 -31
- package/projects/adl-campaign-management-library-internal/src/assets/svg/italic.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/keyword 1.svg +0 -17
- package/projects/adl-campaign-management-library-internal/src/assets/svg/keyword.svg +0 -17
- package/projects/adl-campaign-management-library-internal/src/assets/svg/left-parenthesis.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/line.svg +0 -10
- package/projects/adl-campaign-management-library-internal/src/assets/svg/link 1.svg +0 -20
- package/projects/adl-campaign-management-library-internal/src/assets/svg/link.svg +0 -20
- package/projects/adl-campaign-management-library-internal/src/assets/svg/login-user.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/login.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/messenger.svg +0 -11
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/account-active.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/account.svg +0 -11
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/admin-active.svg +0 -11
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/admin.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/channel-active.svg +0 -28
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/channel.svg +0 -28
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/contact-book-active.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/contact-book.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/dashboard-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/dashboard.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/flow-builder-active.svg +0 -7
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/flow-builder.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/invoice-active.svg +0 -15
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/invoice.svg +0 -15
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/multichat-active.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/multichat.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/report-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/report.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/telegram-active.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/telegram.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/welcome.svg +0 -106
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/whatsapp-active.svg +0 -11
- package/projects/adl-campaign-management-library-internal/src/assets/svg/navigation/whatsapp.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/open-ticket.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/pen.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/pencil-profile.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/pencil-small.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/pencil.svg +0 -9
- package/projects/adl-campaign-management-library-internal/src/assets/svg/pensil.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/points.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/reply-all.svg +0 -11
- package/projects/adl-campaign-management-library-internal/src/assets/svg/reset.svg +0 -9
- package/projects/adl-campaign-management-library-internal/src/assets/svg/right-parenthesis.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/robot-bot.svg +0 -9
- package/projects/adl-campaign-management-library-internal/src/assets/svg/row-top.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/send.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/sendLocation.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/setting.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/sign-up.svg +0 -18
- package/projects/adl-campaign-management-library-internal/src/assets/svg/sorting.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/subflow.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/switch.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/telegram.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/terms-and-conditions 1.svg +0 -15
- package/projects/adl-campaign-management-library-internal/src/assets/svg/terms-and-conditions.svg +0 -15
- package/projects/adl-campaign-management-library-internal/src/assets/svg/three-dot.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/total-agents.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/trash.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/upload.svg +0 -3
- package/projects/adl-campaign-management-library-internal/src/assets/svg/users.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/viber.svg +0 -20
- package/projects/adl-campaign-management-library-internal/src/assets/svg/video.svg +0 -1
- package/projects/adl-campaign-management-library-internal/src/assets/svg/wa-email.svg +0 -8
- package/projects/adl-campaign-management-library-internal/src/assets/svg/wa-media.svg +0 -9
- package/projects/adl-campaign-management-library-internal/src/assets/svg/wa-template.svg +0 -16
- package/projects/adl-campaign-management-library-internal/src/assets/svg/warning.svg +0 -5
- package/projects/adl-campaign-management-library-internal/src/assets/svg/welcome.svg +0 -106
- package/projects/adl-campaign-management-library-internal/src/assets/svg/whatsapp-bg.svg +0 -9
- package/projects/adl-campaign-management-library-internal/src/assets/svg/whatsapp-lite.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/assets/svg/whatsapp-template.svg +0 -16
- package/projects/adl-campaign-management-library-internal/src/assets/svg/whatsapp1.svg +0 -4
- package/projects/adl-campaign-management-library-internal/src/assets/svg/whatsapp2.svg +0 -6
- package/projects/adl-campaign-management-library-internal/src/environments/environment.dev.ts +0 -4
- package/projects/adl-campaign-management-library-internal/src/environments/environment.prod.ts +0 -4
- package/projects/adl-campaign-management-library-internal/src/environments/environment.stagin.ts +0 -4
- package/projects/adl-campaign-management-library-internal/src/environments/environment.ts +0 -44
- package/projects/adl-campaign-management-library-internal/src/flowy.js.bkp +0 -979
- package/projects/adl-campaign-management-library-internal/src/lib/adl-campaign-management-library-internal.component.spec.ts +0 -26
- package/projects/adl-campaign-management-library-internal/src/lib/adl-campaign-management-library-internal.component.ts +0 -11
- package/projects/adl-campaign-management-library-internal/src/lib/adl-campaign-management-library-internal.module.ts +0 -30
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/campaign-management.component.html +0 -10
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/campaign-management.component.ts +0 -39
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/campaign-management.module.ts +0 -113
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/models/campaign-count-final-response-dto.model.ts +0 -11
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/models/contact-category-dto.model.ts +0 -7
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/models/failover-req.model.ts +0 -63
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/models/general-information-wa-req.model.ts +0 -120
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/models/number-response-dto.ts +0 -6
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/models/paging-response-dto.model.ts +0 -5
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/models/product-dto.model.ts +0 -6
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/models/scheduler-req.model.ts +0 -39
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/models/template-wa.model.ts +0 -41
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/models/whatsapp-account.ts +0 -20
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/campaign-index.component.html +0 -138
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/campaign-index.component.scss +0 -101
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/campaign-index.component.ts +0 -184
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/campaign-index.module.ts +0 -70
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.html +0 -163
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.scss +0 -23
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.ts +0 -178
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.html +0 -148
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.scss +0 -57
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.ts +0 -191
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.html +0 -53
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.scss +0 -23
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.ts +0 -217
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/models/campaign-response-dto.model.ts +0 -48
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/models/campaign-table-config.const.ts +0 -37
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/models/campaigns-list.model.ts +0 -63
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/models/client-dto.model.ts +0 -13
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/models/conversation-chart-response-dto.model.ts +0 -8
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/models/paging-response-dto.model.ts +0 -5
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/models/performance-chart-response-dto.model.ts +0 -8
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/models/performance-chart-sereies-response-dto.model.ts +0 -5
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/models/table.model.ts +0 -63
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/dashboard/dashboard.component.html +0 -123
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/dashboard/dashboard.component.scss +0 -74
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/dashboard/dashboard.component.ts +0 -301
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/dashboard/dashboard.module.ts +0 -49
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.html +0 -162
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.scss +0 -4
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.ts +0 -390
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.html +0 -153
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.scss +0 -4
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.ts +0 -368
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.html +0 -163
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.scss +0 -4
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.spec.ts +0 -24
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.ts +0 -390
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.html +0 -574
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.scss +0 -4
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.spec.ts +0 -24
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.ts +0 -732
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.html +0 -253
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.scss +0 -97
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.ts +0 -454
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/general-information/general-information.component.html +0 -302
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/general-information/general-information.component.scss +0 -141
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/general-information/general-information.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/general-information/general-information.component.ts +0 -262
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/new-campaign.component.html +0 -116
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/new-campaign.component.scss +0 -50
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/new-campaign.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/new-campaign.component.ts +0 -598
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.html +0 -140
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.scss +0 -13
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.ts +0 -419
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.html +0 -160
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.scss +0 -100
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.ts +0 -143
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/summary/summary.component.html +0 -13
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/summary/summary.component.scss +0 -0
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/summary/summary.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/summary/summary.component.ts +0 -10
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/wizard/wizard.component.html +0 -33
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/wizard/wizard.component.scss +0 -69
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/wizard/wizard.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/wizard/wizard.component.ts +0 -15
- package/projects/adl-campaign-management-library-internal/src/lib/campaign-management/util/enums.ts +0 -17
- package/projects/adl-campaign-management-library-internal/src/lib/core/const/billing-service-path.const.ts +0 -5
- package/projects/adl-campaign-management-library-internal/src/lib/core/const/billing-table-config.ts +0 -17
- package/projects/adl-campaign-management-library-internal/src/lib/core/const/constants.const.ts +0 -215
- package/projects/adl-campaign-management-library-internal/src/lib/core/const/create-package-service.const.ts +0 -11
- package/projects/adl-campaign-management-library-internal/src/lib/core/const/failover.const.ts +0 -57
- package/projects/adl-campaign-management-library-internal/src/lib/core/const/form-validators.ts +0 -37
- package/projects/adl-campaign-management-library-internal/src/lib/core/const/index.ts +0 -6
- package/projects/adl-campaign-management-library-internal/src/lib/core/const/rate-card-table-config.ts +0 -22
- package/projects/adl-campaign-management-library-internal/src/lib/core/const/validation-message.const.ts +0 -61
- package/projects/adl-campaign-management-library-internal/src/lib/core/directives/mat-select-infinite-scroll.ts +0 -102
- package/projects/adl-campaign-management-library-internal/src/lib/core/enums/constant.enum.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/core/enums/http-request-param-type.enum.ts +0 -7
- package/projects/adl-campaign-management-library-internal/src/lib/core/enums/http-verb.enum.ts +0 -7
- package/projects/adl-campaign-management-library-internal/src/lib/core/enums/main-area.enum.ts +0 -7
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/Package.ts +0 -180
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/base-option.model.ts +0 -4
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/billing-param-req.component.ts +0 -21
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/country.model.ts +0 -31
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/create-package-param.model.ts +0 -168
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/http-body-req/model/http-body-req-pagination.model.ts +0 -16
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/http-body-req/model/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/http-body-resp.model.ts +0 -27
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/index.ts +0 -8
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-adapter-service-models/api-request.model.ts +0 -18
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-adapter-service-models/endPointPipe.model.ts +0 -3
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-adapter-service-models/parameter.model.ts +0 -10
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-adapter-service-models/server-in-built-error.model.ts +0 -7
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-dto/request-models/app-request.ts +0 -4
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-dto/response-models/app-response-adl.ts +0 -10
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-dto/response-models/app-response.ts +0 -16
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-dto/response-models/paging.ts +0 -6
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/http-body-req/http-body-req-pagination-global-var.model.ts +0 -16
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/http-body-req/http-body-req-pagination.model.ts +0 -16
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/http-body-req/index.ts +0 -3
- package/projects/adl-campaign-management-library-internal/src/lib/core/models/util/index.ts +0 -3
- package/projects/adl-campaign-management-library-internal/src/lib/core/services/api-adapter-service.service.ts +0 -131
- package/projects/adl-campaign-management-library-internal/src/lib/core/util/custom-paginator.ts +0 -24
- package/projects/adl-campaign-management-library-internal/src/lib/core/util/download-blob-file.ts +0 -20
- package/projects/adl-campaign-management-library-internal/src/lib/core/util/enum-to-option-generator.ts +0 -28
- package/projects/adl-campaign-management-library-internal/src/lib/core/util/http-param-generator.ts +0 -19
- package/projects/adl-campaign-management-library-internal/src/lib/global/confirmation/confirmation/confirmation.component.html +0 -37
- package/projects/adl-campaign-management-library-internal/src/lib/global/confirmation/confirmation/confirmation.component.scss +0 -7
- package/projects/adl-campaign-management-library-internal/src/lib/global/confirmation/confirmation/confirmation.component.ts +0 -21
- package/projects/adl-campaign-management-library-internal/src/lib/global/confirmation/confirmation/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal/src/lib/global/confirmation/confirmation.module.ts +0 -12
- package/projects/adl-campaign-management-library-internal/src/lib/global/confirmation/shared/model/confirmation.model.ts +0 -7
- package/projects/adl-campaign-management-library-internal/src/lib/global/confirmation/shared/model/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal/src/lib/global/confirmation/shared/shared-services.service.ts +0 -20
- package/projects/adl-campaign-management-library-internal/src/lib/global/search/search/search.component.html +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/global/search/search/search.component.scss +0 -7
- package/projects/adl-campaign-management-library-internal/src/lib/global/search/search/search.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal/src/lib/global/search/search/search.component.ts +0 -45
- package/projects/adl-campaign-management-library-internal/src/lib/global/search/search.module.ts +0 -26
- package/projects/adl-campaign-management-library-internal/src/polyfills.ts +0 -89
- package/projects/adl-campaign-management-library-internal/src/public-api.ts +0 -14
- package/projects/adl-campaign-management-library-internal/src/styles/abstracts/_color.scss +0 -121
- package/projects/adl-campaign-management-library-internal/src/styles/abstracts/_font.scss +0 -43
- package/projects/adl-campaign-management-library-internal/src/styles/abstracts/_layout.scss +0 -3
- package/projects/adl-campaign-management-library-internal/src/styles/abstracts/_spacing.scss +0 -39
- package/projects/adl-campaign-management-library-internal/src/styles/abstracts/_variables.scss +0 -4
- package/projects/adl-campaign-management-library-internal/src/styles/base/_background.scss +0 -12
- package/projects/adl-campaign-management-library-internal/src/styles/base/_border.scss +0 -43
- package/projects/adl-campaign-management-library-internal/src/styles/base/_cursor.scss +0 -7
- package/projects/adl-campaign-management-library-internal/src/styles/base/_font.scss +0 -238
- package/projects/adl-campaign-management-library-internal/src/styles/base/_layout.scss +0 -80
- package/projects/adl-campaign-management-library-internal/src/styles/base/_spacing.scss +0 -50
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_accordion.scss +0 -118
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_alert.scss +0 -57
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_badge.scss +0 -29
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_breadcrumb.scss +0 -28
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_button-group.scss +0 -139
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_buttons.scss +0 -112
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_card.scss +0 -216
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_carousel.scss +0 -229
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_close.scss +0 -40
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_containers.scss +0 -41
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_dropdown.scss +0 -240
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_forms.scss +0 -9
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_functions.scss +0 -302
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_grid.scss +0 -33
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_helpers.scss +0 -9
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_images.scss +0 -42
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_list-group.scss +0 -174
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_mixins.scss +0 -43
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_modal.scss +0 -209
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_nav.scss +0 -139
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_navbar.scss +0 -335
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_offcanvas.scss +0 -83
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_pagination.scss +0 -64
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_placeholders.scss +0 -51
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_popover.scss +0 -158
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_progress.scss +0 -48
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_reboot.scss +0 -625
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_root.scss +0 -54
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_spinners.scss +0 -69
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_tables.scss +0 -151
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_toasts.scss +0 -51
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_tooltip.scss +0 -115
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_transitions.scss +0 -27
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_type.scss +0 -104
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_utilities.scss +0 -630
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/_variables.scss +0 -1641
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/bootstrap-grid.scss +0 -67
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/bootstrap-reboot.scss +0 -13
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/bootstrap-utilities.scss +0 -18
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/bootstrap.scss +0 -53
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/forms/_floating-labels.scss +0 -63
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/forms/_form-check.scss +0 -152
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/forms/_form-control.scss +0 -219
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/forms/_form-range.scss +0 -91
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/forms/_form-select.scss +0 -72
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/forms/_form-text.scss +0 -11
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/forms/_input-group.scss +0 -121
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/forms/_labels.scss +0 -36
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/forms/_validation.scss +0 -12
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/helpers/_clearfix.scss +0 -3
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/helpers/_colored-links.scss +0 -12
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/helpers/_position.scss +0 -30
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/helpers/_ratio.scss +0 -26
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/helpers/_stacks.scss +0 -15
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/helpers/_stretched-link.scss +0 -15
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/helpers/_text-truncation.scss +0 -7
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/helpers/_visually-hidden.scss +0 -8
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/helpers/_vr.scss +0 -8
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_alert.scss +0 -11
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_backdrop.scss +0 -14
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_border-radius.scss +0 -78
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_box-shadow.scss +0 -18
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_breakpoints.scss +0 -127
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_buttons.scss +0 -133
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_caret.scss +0 -64
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_clearfix.scss +0 -9
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_color-scheme.scss +0 -7
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_container.scss +0 -9
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_deprecate.scss +0 -10
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_forms.scss +0 -144
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_gradients.scss +0 -47
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_grid.scss +0 -150
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_image.scss +0 -16
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_list-group.scss +0 -24
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_lists.scss +0 -7
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_pagination.scss +0 -31
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_reset-text.scss +0 -17
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_resize.scss +0 -6
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_table-variants.scss +0 -21
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_text-truncate.scss +0 -8
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_transition.scss +0 -26
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_utilities.scss +0 -89
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/mixins/_visually-hidden.scss +0 -29
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/utilities/_api.scss +0 -47
- package/projects/adl-campaign-management-library-internal/src/styles/bootstrap/vendor/_rfs.scss +0 -354
- package/projects/adl-campaign-management-library-internal/src/styles/component/_button.scss +0 -134
- package/projects/adl-campaign-management-library-internal/src/styles/component/_filter.scss +0 -69
- package/projects/adl-campaign-management-library-internal/src/styles/component/_flow-builder.scss +0 -15
- package/projects/adl-campaign-management-library-internal/src/styles/component/_input.scss +0 -203
- package/projects/adl-campaign-management-library-internal/src/styles/component/_multichat.scss +0 -391
- package/projects/adl-campaign-management-library-internal/src/styles/component/_pagination.scss +0 -44
- package/projects/adl-campaign-management-library-internal/src/styles/component/_sidenav.scss +0 -164
- package/projects/adl-campaign-management-library-internal/src/styles/component/_slide-toggle.scss +0 -29
- package/projects/adl-campaign-management-library-internal/src/styles/component/_table.scss +0 -129
- package/projects/adl-campaign-management-library-internal/src/styles/component/_toastr.scss +0 -26
- package/projects/adl-campaign-management-library-internal/src/styles/component/_toolbar.scss +0 -68
- package/projects/adl-campaign-management-library-internal/src/styles/customize-material.scss +0 -57
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.eot +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.ijmap +0 -1
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.svg +0 -2373
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.woff +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.woff2 +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/MaterialIcons/codepoints +0 -932
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/MaterialIcons/material-icons.css +0 -36
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/OFL.txt +0 -93
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-Black.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-BlackItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-Bold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-BoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-ExtraBold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-ExtraBoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-ExtraLight.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-ExtraLightItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-Italic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-Light.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-LightItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-Medium.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-MediumItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-Regular.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-SemiBold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-SemiBoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-Thin.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Poppins/Poppins-ThinItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/LICENSE.txt +0 -202
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-Black.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-Bold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-Italic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-Light.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-Medium.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-Regular.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-Thin.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/OFL.txt +0 -93
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/TitilliumWeb-Black.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/TitilliumWeb-Bold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/TitilliumWeb-BoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/TitilliumWeb-ExtraLight.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/TitilliumWeb-ExtraLightItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/TitilliumWeb-Italic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/TitilliumWeb-Light.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/TitilliumWeb-LightItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/TitilliumWeb-Regular.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/TitilliumWeb-SemiBold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/fonts/Titillium/TitilliumWeb-SemiBoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal/src/styles/themes/_theme.scss +0 -22
- package/projects/adl-campaign-management-library-internal/src/test.ts +0 -26
- package/projects/adl-campaign-management-library-internal/tsconfig.lib.json +0 -25
- package/projects/adl-campaign-management-library-internal/tsconfig.lib.prod.json +0 -6
- package/projects/adl-campaign-management-library-internal/tsconfig.spec.json +0 -17
- package/projects/adl-campaign-management-library-internal/tslint.json +0 -17
- package/projects/adl-campaign-management-library-internal/typings.d.ts +0 -4
- package/projects/adl-campaign-management-library-internal-test/browserslist +0 -12
- package/projects/adl-campaign-management-library-internal-test/e2e/protractor.conf.js +0 -32
- package/projects/adl-campaign-management-library-internal-test/e2e/src/app.e2e-spec.ts +0 -23
- package/projects/adl-campaign-management-library-internal-test/e2e/src/app.po.ts +0 -11
- package/projects/adl-campaign-management-library-internal-test/e2e/tsconfig.json +0 -13
- package/projects/adl-campaign-management-library-internal-test/karma.conf.js +0 -32
- package/projects/adl-campaign-management-library-internal-test/src/app/app.component.css +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/app/app.component.html +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/app/app.component.spec.ts +0 -31
- package/projects/adl-campaign-management-library-internal-test/src/app/app.component.ts +0 -18
- package/projects/adl-campaign-management-library-internal-test/src/app/app.module.ts +0 -27
- package/projects/adl-campaign-management-library-internal-test/src/app/base.service.ts +0 -227
- package/projects/adl-campaign-management-library-internal-test/src/app/icon.service.ts +0 -30
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/header/header.component.html +0 -69
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/header/header.component.scss +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/header/header.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/header/header.component.ts +0 -129
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/header/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/menu-list-item/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/menu-list-item/menu-list-item.component.html +0 -34
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/menu-list-item/menu-list-item.component.scss +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/menu-list-item/menu-list-item.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/menu-list-item/menu-list-item.component.ts +0 -79
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/sidebar/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/sidebar/sidebar.component.html +0 -13
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/sidebar/sidebar.component.scss +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/sidebar/sidebar.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/component/sidebar/sidebar.component.ts +0 -53
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/layout-routing.module.ts +0 -17
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/layout.module.ts +0 -45
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/page/layout/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/page/layout/layout.component.html +0 -19
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/page/layout/layout.component.scss +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/page/layout/layout.component.spec.ts +0 -25
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/page/layout/layout.component.ts +0 -31
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/shared/enum/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/layout/shared/enum/user-role.enum.ts +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/breadcrumb/breadcrumb/breadcrumb.component.html +0 -24
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/breadcrumb/breadcrumb/breadcrumb.component.scss +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/breadcrumb/breadcrumb/breadcrumb.component.ts +0 -78
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/breadcrumb/breadcrumb/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/breadcrumb/breadcrumb.module.ts +0 -11
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/confirmation/confirmation/confirmation.component.html +0 -27
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/confirmation/confirmation/confirmation.component.scss +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/confirmation/confirmation/confirmation.component.ts +0 -23
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/confirmation/confirmation.module.ts +0 -13
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/confirmation/shared/model/confirmation.model.ts +0 -7
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/search/search/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/search/search/search.component.html +0 -24
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/search/search/search.component.scss +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/search/search/search.component.ts +0 -51
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/search/search.module.ts +0 -23
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/shared/const/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/shared/const/upload-file-type.const.ts +0 -44
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/shared/model/index.ts +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/shared/model/upload-file-req.model.ts +0 -13
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/shared/model/upload-file-type.model.ts +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/shared/model/upload-file.model.ts +0 -14
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/upload-file.module.ts +0 -18
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/upload-image/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/upload-image/upload-file.component.html +0 -25
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/upload-image/upload-file.component.scss +0 -13
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/component/upload-image/upload-image/upload-file.component.ts +0 -110
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/empty-space/empty-space/empty-space.directives.ts +0 -25
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/empty-space/empty-space.module.ts +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/format-input/format-input.module.ts +0 -24
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/format-input/input-currency/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/format-input/input-currency/input-currency.directive.ts +0 -26
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/format-input/number/index.ts +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/format-input/number/input-decimal.directive.ts +0 -70
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/format-input/number/input-number.directive.ts +0 -195
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/format-input/number/input-quantity.directive.ts +0 -72
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/format-input/number/input-rupiah.directive.ts +0 -78
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/format-input/only-number/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/directives/format-input/only-number/only-number.directive.ts +0 -196
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/http-body-resp.model.ts +0 -27
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/http-param-generator.ts +0 -19
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/pipes/rupiah/rupiah/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/pipes/rupiah/rupiah/rupiah.pipe.spec.ts +0 -31
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/pipes/rupiah/rupiah/rupiah.pipe.ts +0 -23
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/pipes/rupiah/rupiah.module.ts +0 -13
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/pipes/safe/safe/index.ts +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/pipes/safe/safe/safe.pipe.ts +0 -36
- package/projects/adl-campaign-management-library-internal-test/src/app/ui/pipes/safe/safe-pipe.module.ts +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/assets/.gitkeep +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/Dataset_Heatmap.csv +0 -29
- package/projects/adl-campaign-management-library-internal-test/src/assets/flowbuilder/flowbuilder.js +0 -5875
- package/projects/adl-campaign-management-library-internal-test/src/assets/flowbuilder/index.html +0 -736
- package/projects/adl-campaign-management-library-internal-test/src/assets/icons/icon-128x128.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/icons/icon-144x144.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/icons/icon-152x152.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/icons/icon-192x192.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/icons/icon-384x384.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/icons/icon-512x512.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/icons/icon-72x72.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/icons/icon-96x96.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/1.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/5.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/55.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/6.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/8.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/Ellipse46.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/Ellipse47.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/alert-email.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/alerts.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/amin1.jpg +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/amin2.jpg +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/amin3.jpg +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/amin4.jpg +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/amin5.jpg +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/amin6.jpg +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/background-login.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/bell.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/bg.jpg +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/block-access.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/carbon_warning.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/account.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/alert.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/appoinment.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/delivery.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/group.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/problem.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/reply.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/screenwafooter.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/telegramButton.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/telegramScreen.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/tiket.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/wallet.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/category/whatsappScreen.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/ceklist.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/check.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/circle_cancel.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/circle_warn_icon.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/close-primary.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/contact.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/copy.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/copy2.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/cs.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/dash.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/dashboard.jpeg +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/default-image-chat.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/default.jpeg +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/default.jpg +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/domain-body.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/down.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/download-icon.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/email-body.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/email-contact.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/email.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/email_body2.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/email_builder.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/email_domain.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/email_frame.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/empty.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/error.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/exclamation.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/file-icon.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/filter-icon.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/flowb.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/flowbuilder.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/forms.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/google-logo.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/icon-file.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/info.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/info_green.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/iphone.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/line-dashboard.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/line-login.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/line-logo.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/line-message-api.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/line-official-account.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/line.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/list.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/logo-white.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/logout.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/lucide_info.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/map.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/multi.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/multichat/broklyn.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/multichat/jane-cooper.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/multichat/rober-fox.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/multichat/savvanah.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/multichat-empty-chat.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/multichat.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/new.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/nowa.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/otp.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/plus-primary.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/plus.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/queue-multichat.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/remove.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/send-domain.svg +0 -85
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/sender-email.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/setup2fa.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/sms.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/socmeds/email-contact.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/socmeds/instagram.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/socmeds/line.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/socmeds/messenger.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/socmeds/sms.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/socmeds/telegram.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/socmeds/viber.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/socmeds/whatsapp.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/sort.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/spinner.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/switch.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/telin-bg.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/tg.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/up.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/wa.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/wa.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/wadash.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/images/welcome.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/ringtone/succeeded-message-tone.mp3 +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/static-pages/CPP.html +0 -49
- package/projects/adl-campaign-management-library-internal-test/src/assets/static-pages/GTC.html +0 -50
- package/projects/adl-campaign-management-library-internal-test/src/assets/static-pages/signup.html +0 -64
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Arrow - Right 2.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Arrow-Down.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Arrow-Right.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Arrow-Up.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/ArrowBack.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Condition.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Download.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/End.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/HTTP-REQUEST.svg +0 -22
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Icon-Account.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/IconsList.ts +0 -256
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Info.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/LINE-ACTIVE.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/LINE-INACTIVE.svg +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/LINE_Icon.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/LINE_Icon.svg +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Note-Down.svg +0 -7
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Search.svg +0 -14
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Send-Email.svg +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Send-WhatsApp-Button.svg +0 -19
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Send-WhatsApp-List.svg +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Send-WhatsApp-Message.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Start.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Time Circle.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Time-Circle.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/User-flow-rafiki.svg +0 -469
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Userflow.svg +0 -469
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Vector.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/WA_Icon.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/Wait-Response.svg +0 -21
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/X.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/account.svg +0 -20
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/action/Key.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/action/Pesawat Kertas.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/action/View (Eye).svg +0 -11
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/action/blue_add_plus.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/action/delete.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/action/edit.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/action/icon_transfer_ticket.svg +0 -22
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/action/red_add_plus.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/action/red_delete_minus.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/action/setup.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/action/upload.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/align-left-black.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/align-left-white.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/antenna.svg +0 -50
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/arrow-detail.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/arrow-flow.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/arrow-left.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/arrow-multichat.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/arrow-right2.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/audio.svg +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/bell_notif.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/bg_widget_campaign.svg +0 -201
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/billing-active.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/billing-inactive.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/bold.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/branch.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/broadcast-now.svg +0 -13
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/broadcast-schedule.svg +0 -11
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/business-active.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/business-inactive.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/call 1.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/call.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/cancel.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/catalog-flow.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/chat 1.svg +0 -11
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/chat-agent.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/chat-agents.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/chat-red.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/chat.svg +0 -11
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/chat_notify.svg +0 -16
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/checklist-package-white.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/checklist-package.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/checklist1-wa.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/checklist1.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/checklist2-wa.svg +0 -12
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/checklist2.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/checklist3-wa.svg +0 -12
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/chevron-left.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/clock-of-circular.svg +0 -48
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/close-ticket.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/communicate.svg +0 -164
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/contact.svg +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/copy2.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/credential-active.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/curly-bracket.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/customer-service-agent (1) 1.svg +0 -18
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/customer-service-agent.svg +0 -18
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/danger.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/dashboard-email.svg +0 -12
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/dashboard-line.svg +0 -12
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/dashboard-sms.svg +0 -12
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/dashboard-wa.svg +0 -20
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/datepicker.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/document.svg +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/dot-icon.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/dot-red-icon.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/download-image-green1.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/download2.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/download_image.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/drag-handle.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/ellipse.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/email (1) 1.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/email-lite.svg +0 -10
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/email.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/email2.svg +0 -10
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/email5.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/envelope-red.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/action.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/actionblue.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/actionorange.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/arrow.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/checkoff.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/checkon.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/close.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/closeleft.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/database.svg +0 -13
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/databaseorange.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/dropdown.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/error.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/errorblue.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/errorred.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/eye.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/eyeblue.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/flowy.css +0 -49
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/flowy.js +0 -1268
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/grabme.svg +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/heart.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/log.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/logred.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/meta.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/more.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/search.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/tile.png +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/time.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/timeblue.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/timecircle.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/twitter.svg +0 -10
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-builder/twitterorange.svg +0 -10
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-receive-order.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-receive-product-inquery.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/flow-variable.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/forgot-password.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/forgot.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/foto-header.svg +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/happy.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/https 1.svg +0 -22
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/https.svg +0 -22
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-bot-multichat.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-date-grey.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-down-arrow.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-download-file.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-email-gray.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-history.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-inbox.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-line-gray.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-maintenance.svg +0 -93
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-myticket.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-pending-approval-campaign.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-sms-gray.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-total-campaign.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-up-arrow.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-use-campaign.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-voice-gray.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-wa-gray.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon-warning-yellow.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icon_send_outline.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icons-download-green.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icons-download-nocolor.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/icons-download-white.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/info-blue.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/information.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/instagram.svg +0 -25
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/interaction.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/interactive 1.svg +0 -31
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/interactive.svg +0 -31
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/italic.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/keyword 1.svg +0 -17
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/keyword.svg +0 -17
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/left-parenthesis.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/line-mc-dashboard.svg +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/line-menu.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/line.svg +0 -10
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/link 1.svg +0 -20
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/link.svg +0 -20
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/login-sso-azure.svg +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/login-sso-gmail.svg +0 -16
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/login-user.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/login.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/menu-sms-active.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/menu-sms.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/menu-survey-root.svg +0 -57
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/messenger.svg +0 -11
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/account-active.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/account.svg +0 -11
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/admin-active.svg +0 -12
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/admin.svg +0 -12
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/campaign-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/campaign.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/channel-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/channel.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/channel2-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/channel2.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/contact-management-active.svg +0 -14
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/contact-management.svg +0 -14
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/dashboard-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/dashboard.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/email-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/email.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/flow-builder-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/flow-builder.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/invoice-active.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/invoice.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/line-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/line.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/menu-automation-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/menu-automation-inactive.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/menu-campaign-active.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/menu-campaign.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/multichat-active.svg +0 -16
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/multichat.svg +0 -16
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/report-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/report.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/sla-management-active.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/sla-management.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/sms-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/sms.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/survey-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/survey.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/telegram-active.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/telegram.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/welcome.svg +0 -106
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/whatsapp-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/navigation/whatsapp.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/new.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/no_data_folder_icon.svg +0 -25
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/note.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/open-ticket.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pen.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pencil-profile.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pencil-small.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pencil.svg +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pensil.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/points.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/preview.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pwa/all-ticket-active.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pwa/all-ticket-inactive.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pwa/copy-token.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pwa/history-ticket-active.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pwa/history-ticket-inactive.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pwa/my-ticket-active.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pwa/my-ticket-inactive.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pwa/refresh-token.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/pwa/search.svg +0 -14
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/radio-black.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/radio-white.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/reply-all.svg +0 -11
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/reset.svg +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/right-parenthesis.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/robot-bot.svg +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/row-top.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/send-line-text.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/send-red.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/send-sticker.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/send-sticker1.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/send.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/sendLocation.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/sendText.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/sendText1.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/setting.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/sign-up.svg +0 -18
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/smile-black.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/smile-white.svg +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/sms-account-empty.svg +0 -29
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/sorting.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/sound.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/sticker.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/subflow.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/survey-flowbuilder.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/switch.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/telegram.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/terms-and-conditions 1.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/terms-and-conditions.svg +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/three-dot.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/total-agents.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/trash.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/upload-primary.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/upload.svg +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/users.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/viber.svg +0 -20
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/video.svg +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/wa-email.svg +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/wa-mc-dashboard.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/wa-media.svg +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/wa-multiple-location.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/wa-template.svg +0 -16
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/warning.svg +0 -5
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/welcome.svg +0 -106
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/whatsapp-lite.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/whatsapp-template.svg +0 -16
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/whatsapp1.svg +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/assets/svg/whatsapp2.svg +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/assets/tnc/CPP.docx +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/assets/tnc/GTC.docx +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/environments/environment.prod.ts +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/environments/environment.ts +0 -16
- package/projects/adl-campaign-management-library-internal-test/src/favicon.ico +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/flowy.js.bkp +0 -979
- package/projects/adl-campaign-management-library-internal-test/src/index.html +0 -13
- package/projects/adl-campaign-management-library-internal-test/src/main.ts +0 -12
- package/projects/adl-campaign-management-library-internal-test/src/polyfills.ts +0 -89
- package/projects/adl-campaign-management-library-internal-test/src/styles/abstracts/_color.scss +0 -121
- package/projects/adl-campaign-management-library-internal-test/src/styles/abstracts/_font.scss +0 -43
- package/projects/adl-campaign-management-library-internal-test/src/styles/abstracts/_layout.scss +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/styles/abstracts/_spacing.scss +0 -39
- package/projects/adl-campaign-management-library-internal-test/src/styles/abstracts/_variables.scss +0 -4
- package/projects/adl-campaign-management-library-internal-test/src/styles/base/_background.scss +0 -12
- package/projects/adl-campaign-management-library-internal-test/src/styles/base/_border.scss +0 -43
- package/projects/adl-campaign-management-library-internal-test/src/styles/base/_cursor.scss +0 -7
- package/projects/adl-campaign-management-library-internal-test/src/styles/base/_font.scss +0 -252
- package/projects/adl-campaign-management-library-internal-test/src/styles/base/_layout.scss +0 -88
- package/projects/adl-campaign-management-library-internal-test/src/styles/base/_spacing.scss +0 -50
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_accordion.scss +0 -121
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_alert.scss +0 -59
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_badge.scss +0 -29
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_breadcrumb.scss +0 -35
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_button-group.scss +0 -140
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_buttons.scss +0 -124
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_card.scss +0 -218
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_carousel.scss +0 -234
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_close.scss +0 -41
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_containers.scss +0 -41
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_dropdown.scss +0 -239
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_forms.scss +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_functions.scss +0 -400
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_grid.scss +0 -35
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_helpers.scss +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_images.scss +0 -41
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_list-group.scss +0 -180
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_mixins.scss +0 -43
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_modal.scss +0 -217
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_nav.scss +0 -136
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_navbar.scss +0 -330
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_offcanvas.scss +0 -87
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_pagination.scss +0 -78
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_placeholders.scss +0 -56
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_popover.scss +0 -164
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_progress.scss +0 -50
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_reboot.scss +0 -615
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_root.scss +0 -54
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_spinners.scss +0 -71
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_tables.scss +0 -153
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_toasts.scss +0 -53
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_tooltip.scss +0 -119
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_transitions.scss +0 -27
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_type.scss +0 -102
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_utilities.scss +0 -731
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/_variables.scss +0 -1682
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/bootstrap-grid.scss +0 -67
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/bootstrap-reboot.scss +0 -13
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/bootstrap-utilities.scss +0 -18
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/bootstrap.scss +0 -53
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/forms/_floating-labels.scss +0 -63
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/forms/_form-check.scss +0 -156
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/forms/_form-control.scss +0 -231
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/forms/_form-range.scss +0 -98
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/forms/_form-select.scss +0 -79
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/forms/_form-text.scss +0 -11
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/forms/_input-group.scss +0 -124
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/forms/_labels.scss +0 -36
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/forms/_validation.scss +0 -12
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/helpers/_clearfix.scss +0 -3
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/helpers/_colored-links.scss +0 -16
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/helpers/_position.scss +0 -30
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/helpers/_ratio.scss +0 -26
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/helpers/_stacks.scss +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/helpers/_stretched-link.scss +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/helpers/_text-truncation.scss +0 -7
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/helpers/_visually-hidden.scss +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/helpers/_vr.scss +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_alert.scss +0 -11
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_backdrop.scss +0 -18
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_border-radius.scss +0 -77
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_box-shadow.scss +0 -18
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_breakpoints.scss +0 -139
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_buttons.scss +0 -162
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_caret.scss +0 -64
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_clearfix.scss +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_color-scheme.scss +0 -7
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_container.scss +0 -9
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_deprecate.scss +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_forms.scss +0 -150
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_gradients.scss +0 -97
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_grid.scss +0 -168
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_image.scss +0 -15
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_list-group.scss +0 -24
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_lists.scss +0 -7
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_pagination.scss +0 -31
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_reset-text.scss +0 -17
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_resize.scss +0 -6
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_table-variants.scss +0 -21
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_text-truncate.scss +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_transition.scss +0 -31
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_utilities.scss +0 -106
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/mixins/_visually-hidden.scss +0 -29
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/utilities/_api.scss +0 -52
- package/projects/adl-campaign-management-library-internal-test/src/styles/bootstrap/vendor/_rfs.scss +0 -402
- package/projects/adl-campaign-management-library-internal-test/src/styles/component/_button.scss +0 -259
- package/projects/adl-campaign-management-library-internal-test/src/styles/component/_filter.scss +0 -69
- package/projects/adl-campaign-management-library-internal-test/src/styles/component/_flow-builder.scss +0 -14
- package/projects/adl-campaign-management-library-internal-test/src/styles/component/_input.scss +0 -203
- package/projects/adl-campaign-management-library-internal-test/src/styles/component/_multichat.scss +0 -391
- package/projects/adl-campaign-management-library-internal-test/src/styles/component/_pagination.scss +0 -44
- package/projects/adl-campaign-management-library-internal-test/src/styles/component/_sidenav.scss +0 -165
- package/projects/adl-campaign-management-library-internal-test/src/styles/component/_slide-toggle.scss +0 -98
- package/projects/adl-campaign-management-library-internal-test/src/styles/component/_table.scss +0 -129
- package/projects/adl-campaign-management-library-internal-test/src/styles/component/_toastr.scss +0 -37
- package/projects/adl-campaign-management-library-internal-test/src/styles/component/_toolbar.scss +0 -77
- package/projects/adl-campaign-management-library-internal-test/src/styles/customize-material.scss +0 -91
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.eot +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.ijmap +0 -1
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.svg +0 -2373
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.woff +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/MaterialIcons/MaterialIcons-Regular.woff2 +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/MaterialIcons/README.md +0 -8
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/MaterialIcons/codepoints +0 -932
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/MaterialIcons/material-icons.css +0 -35
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/OFL.txt +0 -93
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-Black.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-BlackItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-Bold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-BoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-ExtraBold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-ExtraBoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-ExtraLight.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-ExtraLightItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-Italic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-Light.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-LightItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-Medium.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-MediumItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-Regular.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-SemiBold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-SemiBoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-Thin.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Poppins/Poppins-ThinItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/LICENSE.txt +0 -202
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-Black.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-BlackItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-Bold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-BoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-Italic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-Light.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-LightItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-Medium.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-MediumItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-Regular.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-Thin.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Roboto/Roboto-ThinItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/OFL.txt +0 -93
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/TitilliumWeb-Black.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/TitilliumWeb-Bold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/TitilliumWeb-BoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/TitilliumWeb-ExtraLight.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/TitilliumWeb-ExtraLightItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/TitilliumWeb-Italic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/TitilliumWeb-Light.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/TitilliumWeb-LightItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/TitilliumWeb-Regular.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/TitilliumWeb-SemiBold.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts/Titillium/TitilliumWeb-SemiBoldItalic.ttf +0 -0
- package/projects/adl-campaign-management-library-internal-test/src/styles/fonts.scss +0 -160
- package/projects/adl-campaign-management-library-internal-test/src/styles/styles.scss +0 -158
- package/projects/adl-campaign-management-library-internal-test/src/styles/themes/_theme.scss +0 -22
- package/projects/adl-campaign-management-library-internal-test/src/test.ts +0 -25
- package/projects/adl-campaign-management-library-internal-test/tsconfig.app.json +0 -14
- package/projects/adl-campaign-management-library-internal-test/tsconfig.spec.json +0 -18
- package/projects/adl-campaign-management-library-internal-test/tslint.json +0 -17
- package/tsconfig.json +0 -34
- package/tslint.json +0 -79
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/models/index.ts → lib/campaign-management/models/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/index.ts → lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/index.ts → lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/campaign-index/models/index.ts → lib/campaign-management/modules/campaign-index/models/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-email/index.ts → lib/campaign-management/modules/new-campaign/components/general-information-email/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-line/index.ts → lib/campaign-management/modules/new-campaign/components/general-information-line/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-sms/index.ts → lib/campaign-management/modules/new-campaign/components/general-information-sms/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/components/general-information-wa/index.ts → lib/campaign-management/modules/new-campaign/components/general-information-wa/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/failover-mechanism/index.ts → lib/campaign-management/modules/new-campaign/failover-mechanism/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/general-information/index.ts → lib/campaign-management/modules/new-campaign/general-information/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/index.ts → lib/campaign-management/modules/new-campaign/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/new-number-bases/index.ts → lib/campaign-management/modules/new-campaign/new-number-bases/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/scheduler/index.ts → lib/campaign-management/modules/new-campaign/scheduler/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/new-campaign/summary/index.ts → lib/campaign-management/modules/new-campaign/summary/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/campaign-management/modules/wizard/index.ts → lib/campaign-management/modules/wizard/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/core/directives/index.ts → lib/core/directives/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/core/enums/index.ts → lib/core/enums/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-adapter-service-models/index.ts → lib/core/models/util/api-adapter-service-models/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-dto/response-models/error.ts → lib/core/models/util/api-dto/response-models/error.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-dto/response-models/index.ts → lib/core/models/util/api-dto/response-models/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/core/models/util/api-dto/response-models/meta.ts → lib/core/models/util/api-dto/response-models/meta.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/core/services/index.ts → lib/core/services/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src/lib/core/util/index.ts → lib/core/util/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal-test/src/app/ui/component/confirmation/confirmation/index.ts → lib/global/confirmation/confirmation/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal-test/src/app/ui/component/confirmation/shared/model/index.ts → lib/global/confirmation/shared/model/index.d.ts} +0 -0
- /package/{projects/adl-campaign-management-library-internal/src → src}/styles/fonts.scss +0 -0
- /package/{projects/adl-campaign-management-library-internal/src → src}/styles/styles.scss +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@adlfe/campaign-management-library/lib/core/enums/main-area.enum.ts","ng://@adlfe/campaign-management-library/lib/adl-campaign-management-library-internal.component.ts","ng://@adlfe/campaign-management-library/lib/global/search/search/search.component.ts","ng://@adlfe/campaign-management-library/lib/global/search/search.module.ts","ng://@adlfe/campaign-management-library/lib/core/enums/constant.enum.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/campaign-management.component.ts","ng://@adlfe/campaign-management-library/lib/core/directives/mat-select-infinite-scroll.ts","ng://@adlfe/campaign-management-library/lib/core/models/base-option.model.ts","ng://@adlfe/campaign-management-library/lib/core/models/Package.ts","ng://@adlfe/campaign-management-library/lib/core/models/util/http-body-req/http-body-req-pagination.model.ts","ng://@adlfe/campaign-management-library/lib/core/models/util/http-body-req/http-body-req-pagination-global-var.model.ts","ng://@adlfe/campaign-management-library/environments/environment.ts","ng://@adlfe/campaign-management-library/lib/core/models/billing-param-req.component.ts","ng://@adlfe/campaign-management-library/lib/core/models/country.model.ts","ng://@adlfe/campaign-management-library/lib/core/models/create-package-param.model.ts","ng://@adlfe/campaign-management-library/lib/core/models/http-body-resp.model.ts","ng://@adlfe/campaign-management-library/lib/core/services/api-adapter-service.service.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/campaign-index/models/campaign-table-config.const.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/campaign-index/models/table.model.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/campaign-index/models/campaigns-list.model.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/campaign-index/campaign-index.component.ts","ng://@adlfe/campaign-management-library/lib/core/const/constants.const.ts","ng://@adlfe/campaign-management-library/lib/core/const/failover.const.ts","ng://@adlfe/campaign-management-library/lib/core/const/validation-message.const.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/util/enums.ts","ng://@adlfe/campaign-management-library/lib/core/util/custom-paginator.ts","ng://@adlfe/campaign-management-library/lib/core/util/enum-to-option-generator.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/campaign-index/component/filter-in-list-of-campaign/filter-in-list-of-campaign.component.ts","ng://@adlfe/campaign-management-library/lib/global/confirmation/shared/shared-services.service.ts","ng://@adlfe/campaign-management-library/lib/global/confirmation/shared/model/confirmation.model.ts","ng://@adlfe/campaign-management-library/lib/global/confirmation/confirmation/confirmation.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/campaign-index/dialog/pending-approval-dialog-view/pending-approval-dialog-view.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/campaign-index/component/viewing-list-of-campaign-table/viewing-list-of-campaign-table.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/campaign-index/campaign-index.module.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/dashboard/dashboard.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/dashboard/dashboard.module.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/models/failover-req.model.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/models/general-information-wa-req.model.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/models/scheduler-req.model.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/new-campaign/new-campaign.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/new-campaign/components/general-information-email/general-information-email.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/new-campaign/components/general-information-line/general-information-line.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/new-campaign/components/general-information-sms/general-information-sms.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/new-campaign/components/general-information-wa/general-information-wa.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/new-campaign/failover-mechanism/failover-mechanism.component.ts","ng://@adlfe/campaign-management-library/lib/core/const/form-validators.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/new-campaign/general-information/general-information.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/new-campaign/new-number-bases/new-number-bases.component.ts","ng://@adlfe/campaign-management-library/lib/core/util/download-blob-file.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/new-campaign/scheduler/scheduler.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/new-campaign/summary/summary.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/modules/wizard/wizard.component.ts","ng://@adlfe/campaign-management-library/lib/campaign-management/campaign-management.module.ts","ng://@adlfe/campaign-management-library/lib/adl-campaign-management-library-internal.module.ts","ng://@adlfe/campaign-management-library/lib/global/confirmation/confirmation.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","i","n","arguments","length","call","apply","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__values","o","Symbol","iterator","m","next","value","done","TypeError","__read","e","ar","push","error","__spread","concat","MainArea","AdlCampaignManagementLibraryInternalComponent","Component","selector","template","SearchComponent","debounceSubject","Subject","searchRes","EventEmitter","ngOnInit","_this","form","FormControl","_a","currentValue","pipe","debounceTime","subscribe","emit","toLowerCase","searchResult","event","clearInput","setValue","Output","Input","SearchModule","NgModule","declarations","imports","CommonModule","FormsModule","ReactiveFormsModule","MatFormFieldModule","MatInputModule","MatButtonModule","MatIconModule","exports","PastTimeEnum","StatusCampaignEnum","ProductCategoryEnum","CampaignManagementComponent","currentView","CampaignIndex","currentViews","onChangeMainArea","area","MatSelectInfiniteScrollDirective","matSelect","ngZone","threshold","infiniteScroll","thrPx","thrPc","singleOptionHeight","SELECT_ITEM_HEIGHT_EM","destroyed$","evaluateThreshold","ngAfterViewInit","openedChange","takeUntil","opened","panel","nativeElement","getSelectItemHeightPx","registerScrollListener","ngOnDestroy","complete","lastIndexOf","parseFloat","fromEvent","tap","handleScrollEvent","runOutsideAngular","countOfRenderedOptions","options","infiniteScrollDistance","clientHeight","scrollTop","run","getComputedStyle","fontSize","MatSelect","NgZone","Directive","BaseOptionModel","PackageReqModel","clone","source","country","recomended","type","setupFeeRateCard","setupFee","ovrUsgConversationRateCard","costPerCustomer","costPerBusiness","ovrUsgNotficationRateCard","ovrUsgConversationCost","ovrUsgNotficationCost","customPackage","currency","name","monthlyRental","conversationMsg","businessMsg","contacts","isMultipleFlow","tps","multichatLiveAgent","multichatLiveSupervisor","numberOfFlow","waOfficialAccount","dashboardToSendMessage","reportAdminPanel","trainingSupport","isMultiple","checklistWa","checklistLine","checklistTele","specifyPackage","customDevelopment","oneUsageCostConversation","signupOrSetup","checklistAdm","checklistUser","checklistClient","checklistChatAgentAdmin","checklistChatAgentUser","HttpBodyReqPaginationModel","HttpBodyReqPaginationGlobalVarModel","pageSize","pageNo","convert","origin","_super","BillingParamReqModel","filter","platform","clientId","String","CountryModel","dto","category","code","values","param1","param2","ìcon","CreatePackageReqModel","channels","countryCode","maxAgent","maxContact","maxFlow","maxSupervisor","monthlyConversation","monthlyNotification","monthlyRentalRateCard","ovrUsgConversation","ovrUsgNotification","ovrUsgNotificationCost","ovrUsgNotificationRateCard","reports","roles","sendMsgDashboard","training","waOfficialAcc","HttpBodyRespModel","status","errorCode","message","data","totalRecord","location","environment","includes","ApiAdapterServiceService","httpClient","queryCount","executeApiRequest","parameterList","path","httpVerb","isFile","bodyData","parameter","url","formData","FormData","rt","in","forEach","requestType","find","required","window","alert","replace","setQuery","setFormData","undefined","appRequest","_c","_b","withoutKeyData","headers","HttpHeaders","set","localStorage","getItem","request","body","responseType","catchError","err","ErrorEvent","of","title","detail","statusText","toString","meta","uploadFileToS3","s3Url","file","put","Content-Type","append","HttpClient","Injectable","providedIn","CampaignListTableLabelConst","CampaignListTableColumnConst","TableModel","CampaignsListModel","campaignID","businessName","campaignName","medium","numberCount","deilveredCount","seenCount","responseCount","estimatedCost","actualCost","startDate","endDate","id","columns","dataSource","MatTableDataSource","labels","page","totalData","getNumber","index","limit","getPageIndex","isEmpty","setPage","setPageSize","size","resetPage","setNextPage","isNext","diffData","CampaignIndexComponent","datePipe","apiAdapterService","subscribers","campaignParam","initTable","campaignCountService","getCampaignList","removeItem","table","subs","response","campaignTotal","searchValue","initParam","filterValue","templateName","_d","_e","_f","transform","_g","resp","haveNext","_name","_value","_type","updatePage","updateFilter","_filter","updateSearch","addCampaign","changeCurrentView","NewCampaign","each","unsubscribe","DatePipe","PlatformOptionConst","icon","inputSvgIcon","image","label","MsgTypeWAOptionConst","MsgTypeEmailOptionConst","MsgTypeLineOptionConst","MediaTypeOptionConst","WidgetLiveCampaignConst","arrow","date","dateclass","CampaignPerformanceChartConfig","legend","orient","x","y","tooltip","dataset","xAxis","yAxis","series","color","ConversationInsightsChartConfig","trigger","smooth","itemStyle","normal","isLoadingOption","WA","SMS","LINE","EMAIL","VOICE","isHaveNextOption","pageNoOption","optionList","GeneralInformationMessageValidationConst","GeneralInformationWAMessageValidationConst","channel","from","text","media","fileName","catalogue","product","GeneralInformationEmailMessageValidationConst","GeneralInformationSMSMessageValidationConst","GeneralInformationLineMessageValidationConst","FailoverMechanismValidationConst","interval","accountId","subject","SchedulerMessageValidationConst","startTime","EnumData","CustomPaginator","itemsPerPageLabel","getRangeLabel","startIndex","Math","max","min","MatPaginatorIntl","generateEnumOption","enumObject","keys","reduce","result","isNaN","Number","inputOption","FilterInListOfCampaignComponent","channelOption","businessNameOption","statusOption","templateOption","isHaveNextTemplateOption","isLoadingTemplateOption","pageNoTemplateOption","closeDropdown","onChangeFilter","initForm","getBusinessNameOptionService","FormGroup","_h","_k","_j","_m","_l","_o","_p","res","getTemplateOptionService","isInfinite","get","getNextTemplateBatch","templateSelectedDisplay","attribute1","attribute2","templateSearch","clearDate","validateBackDate","Date","getTime","onReset","reset","getRawValue","onCancel","onApply","SharedServicesService","sendClickEvent","getEvent","asObservable","ConfirmationComponent","sharedService","paramIndex","decorator","deleteRowOn","ConfirmationModel","Inject","args","MAT_DIALOG_DATA","PendingApprovalDialogViewComponent","dialogRef","toastr","isLoading","isSubmit","isShowButton","getCampaignDetailService","getCampaignStorage","generalInformation","JSON","parse","convertUTCDateToLocalDate","getTimezoneOffset","toUpperCase","accountName","clientName","accountNo","wabaId","_q","_s","_r","details","targetURL","_w","_v","_u","_t","_0","_z","_y","_x","document","_4","_3","_2","_1","video","_7","_6","_5","headerURL","paramHeader","_10","_9","_8","header","paramBody","_13","_12","_11","paramButton","_16","_15","_14","button","otpValue","_21","_20","_19","_18","_17","pop","ID","_24","_23","_22","_27","_26","_25","lang","_30","_29","_28","_31","_34","_33","_32","examples","_37","_36","_35","_40","_39","_38","buttons","_43","_42","_41","ClientId","_44","ClientName","_45","isUpload","_46","fileId","_47","setItem","stringify","_48","failover","_49","targetAudience","_50","targets","targetAudienceFile","_51","_52","scheduler","schedulerType","_53","scheduleType","_54","_56","_55","split","_58","_57","isRepeat","_59","delivery","_60","repeat","rejectCampaignService","success","onClose","approveCampaignService","close","MatDialogRef","ToastrService","ViewingListOfCampaignTableComponent","dialog","updateTable","sort","matSort","actionRow","row","action","campaignConfirmationDialog","content","method","confirmation","btnSubmit","btnCancel","open","autoFocus","backdropClass","afterClosed","campaignService","editCampaign","history","replaceState","openViewDialog","height","width","maxWidth","maxHeight","MatDialog","ViewChild","MatSort","static","CampaignIndexModule","MatDatepickerModule","MatTableModule","MatSortModule","MatPaginatorModule","MatDialogModule","MatTabsModule","MatCardModule","MatCheckboxModule","MatSelectModule","MatRadioModule","MatChipsModule","NgbPaginationModule","NgbDropdownModule","MatGridListModule","MatNativeDateModule","MatToolbarModule","MatTooltipModule","DashboardComponent","pastTime","performanceCategories","totalCmpn","deliveryRt","costDesc","convsData","widgetLiveCampaign","selectedPlatform","filterEvent","filterChart","timeUnit","Today","CurrentWeek","CurrentMonth","totalCampaignPercent","getStatictsWidgetString","totalCampaign","totalLive","totalPending","getPerformanceDetails","getConversationDetails","setPerformanceChartData","entries","categories","item","map","performanceChartData","setConversationChartData","j","conversationChartData","Yesterday","LastWeek","LastMonth","DashboardModule","MatAutocompleteModule","MatListModule","PickerModule","AngularEditorModule","MatButtonToggleModule","MatBadgeModule","NgxEchartsModule","FailoverReqModel","active","accounts","FailoverAccountReqModel","GeneralInformationWAReqModel","headerUrl","SchedulerReqModel","tz","Intl","DateTimeFormat","resolvedOptions","timeZone","NewCampaignComponent","positionWizard","isGeneralInformationValid","isFailoverMechanismValid","isNumberBaseInformationValid","isSchedulerInformationValid","isLine","isUploadTargetAudience","onCheckTwilioCounterValid","valuesGeneral","generalInformationData","segments","segmentedMessage","SegmentedMessage","getBody","segmentsCount","encoding","encodingName","characters","numberOfUnicodeScalars","valueResult_1","entry","placeholder","join","pathname","initWizard","dataWizard","_61","parent","valid","child","failoverMechanism","failoverMechanismData","targetAudienceData","targetAudienceCount","schedulerData","onClickSaveAndNextButton","saveGeneralInformationService","saveNumberBasesService","saveFailoverMechanismService","saveSchedulerService","onPrevious","openConfirmationDialog","btnSubmitRed","onSubmitForApproval","GeneralInformationEmailComponent","msgTypeWAOption","accountOption","isHaveNextAccountOption","isLoadingAccountOption","isHaveTemplateParam","pageNoAccountOption","updateGeneralInformationForm","setTimeout","validationMessages","initDisable","initEdit","initValidation","getAccountOptionService","Validators","FormArray","valueChanges","isReadOnlyMode","disable","controls","clearValidators","updateValueAndValidity","setValidators","getIsTemplate","formReset","_isMediaType","updateDownloadCSV","updateTemplate","initParameter","disabled","addParamBody","getNextAccountBatch","accountSelectedDisplay","formStorage","paramValue","updateSearchAccount","isChecked","GeneralInformationLineComponent","isJSON","isText","bodyText","isJsonString","findBrackets","match","_","str","GeneralInformationSMSComponent","GeneralInformationWAComponent","mapsAPILoader","mediaTypeOption","isShowParameter","extFileAccepted","categoryOption","maps","zoom","latitude","longitude","isDraggable","isDoubleClickZoom","fileType","getIsText","getIsMedia","getIsCatalogue","maxLength","isButton","addParamHeader","getParamButton","addParamButton","onFileSelected","files","accept","matchType","indexOf","uploadMediaService","fileTypeChange","getButton","flow_id","updateMediaType","_mediaType","MEDIA_TYPE_LOCATION","initMaps","MEDIA_TYPE_VIDEO","MEDIA_TYPE_DOCUMENT","load","then","setCurrentLocation","geoCoder","google","Geocoder","autocomplete","places","Autocomplete","mapSearchRef","addListener","place","getPlace","geometry","lat","lng","navigator","geolocation","getCurrentPosition","position","coords","markerDragEnd","latLng","MapsAPILoader","FailoverMechanismComponent","touched","setErrors","intervalTime","activeChange","validationAccount","initAccount","_channel","addAccount","getParamBody","account","deleteParamBody","removeAt","_active","accounts_1","typeChange","control","number","accountControl","isChooseAccount","getAccount","drop","moveItemInArray","previousIndex","currentIndex","GeneralInformationComponent","sanitizer","isTouchedWAForm","isTouchedSMSForm","isTouchedEmailForm","isShowMore","twilioResultCounter","fulltext","onCheckTwilioCounter","generalInformationForm","getBodyString","setInterval","campaign","getMedia","getLocation","bypassSecurityTrustHtml","fixGeneratedHtml","getTemplate","splice","htmlString","replaceAll","DomSanitizer","NewNumberBasesComponent","isShowUploadCSV","categorySelected","selection","SelectionModel","fileSelected","categoryParam","getCategoryList","onChecked","pageIndex","checkboxLabel","isSelected","isAllSelected","numSelected","selected","numRows","this_1","masterToggle","clear","select","sum","totalMembers","deselect","onDownloadSampleService","blob","blobUrl","URL","createObjectURL","link","createElement","href","download","appendChild","dispatchEvent","MouseEvent","bubbles","cancelable","view","removeChild","downloadBlobFile","getPresignedUrlService","uploadToS3Service","fileNameS3","finalizeTargetFileService","console","campaignId","info","SchedulerComponent","minDate","isEdit","capitalizeFirstLetter","charAt","slice","updateSchedulerType","updateTime","updateRepeat","SummaryComponent","WizardComponent","CampaignManagementModule","AgmCoreModule","forRoot","apiKey","libraries","echarts","MatDividerModule","MatProgressSpinnerModule","MatSlideToggleModule","DragDropModule","entryComponents","providers","AdlCampaignManagementLibraryInternalModule","HttpClientModule","ToastrModule","provide","useClass","ConfirmationModule"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export enum MainArea {\r\n 'Dashboard' = 1,\r\n 'CampaignIndex' = 2,\r\n 'CreateCampaign' = 3,\r\n 'NewCampaign' = 4,\r\n 'UpdateNumberBases' = 5,\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'lib-adl-campaign-management-library-internal',\r\n\ttemplate: `\r\n\t\t<p>\r\n\t\t\t<lib-campaign-management></lib-campaign-management>\r\n\t\t</p>\r\n\t`,\r\n})\r\nexport class AdlCampaignManagementLibraryInternalComponent {}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Component({\r\n\tselector: 'lib-search',\r\n\ttemplateUrl: './search.component.html',\r\n\tstyleUrls: ['./search.component.scss'],\r\n})\r\nexport class SearchComponent implements OnInit {\r\n\t@Output()\r\n\tpublic searchRes: EventEmitter<string>;\r\n\r\n\tpublic form: FormControl;\r\n\r\n\tprivate debounceSubject = new Subject();\r\n\r\n\t@Input()\r\n\tpublic placeholder: string;\r\n\r\n\t@Input()\r\n\tpublic currentValue: string;\r\n\r\n\tconstructor() {\r\n\t\tthis.searchRes = new EventEmitter();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.form = new FormControl(this.currentValue ?? '');\r\n\r\n\t\tthis.debounceSubject.pipe(debounceTime(500)).subscribe((value: any) => {\r\n\t\t\tthis.searchRes.emit(value.toLowerCase());\r\n\t\t});\r\n\t}\r\n\r\n\tpublic searchResult(event: any) {\r\n\t\tthis.debounceSubject.next(event.target.value);\r\n\t}\r\n\r\n\tpublic clearInput(): void {\r\n\t\tthis.form.setValue('');\r\n\t\tthis.searchRes.emit(this.form.value);\r\n\t}\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SearchComponent } from './search/search.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\n\r\n\r\n@NgModule({\r\n declarations: [SearchComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatInputModule,\r\n\t\tMatButtonModule,\r\n\t\tMatIconModule,\r\n ],\r\n exports: [\r\n SearchComponent\r\n ]\r\n})\r\nexport class SearchModule { }\r\n","export enum PastTimeEnum {\r\n\tToday = 'today',\r\n\tYesterday = 'yesterday',\r\n\tCurrentWeek = 'currentWeek',\r\n\tLastWeek = 'last week',\r\n\tCurrentMonth = 'currentMonth',\r\n\tLastMonth = 'last month',\r\n}\r\n\r\nexport enum StatusCampaignEnum {\r\n\tDraft = 'DRAFT',\r\n\tWaitingApproval = 'APPROVAL',\r\n\tRejected = 'REJECTED',\r\n\tScheduled = 'SCHEDULED',\r\n\tStopped = 'STOPPED',\r\n\tDeleted = 'DELETED',\r\n\tCompleted = 'COMPLETED',\r\n\tFailed = 'FAILED',\r\n\tPaused = 'PAUSED',\r\n\tProcessing = 'PROCESS',\r\n}\r\n\r\nexport enum ProductCategoryEnum {\r\n\tSingleProduct = 'product',\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { MainArea } from '../core/enums/main-area.enum';\r\n\r\n@Component({\r\n\tselector: 'lib-campaign-management',\r\n\ttemplateUrl: './campaign-management.component.html',\r\n\tstyleUrls: [],\r\n})\r\nexport class CampaignManagementComponent {\r\n\tpublic currentView: MainArea = MainArea.CampaignIndex;\r\n\tpublic currentViews = MainArea;\r\n\r\n\tconstructor() {\r\n\t\t/* Init Localstorage (Local Only) */\r\n\t\t/* const data = {\r\n\t\t\t'telin.accessToken':\r\n\t\t\t\t'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRJZCI6IlBST1ZJREVSIiwiZXhwIjoxNzA4MDAyNzI4LCJpYXQiOjE3MDc5Nzg3MjgsIm5iZiI6MTcwNzk3ODcyOCwic2Vzc2lvbklkIjoiMDFIUE5RRTk5N0E3SkZLNjk1QTgyWEtTWkEiLCJ1c2VySWQiOiJhZG1pbiJ9.JWn1gRtlU6SYHa3KkP2FLhje9tvhxsD005dtxmTT5z4-lc65ekiClS5r7Wg8vamUappN_9uQINTJeZCjEU1IwYf6InUddxX6XsDWtCwixuePNq4JZMPrCUl_N4DBewPwL30RRrodoo0dxUstHLbTg9BUZ3qPq1QK6pLyd1HhKtN_jkRJ11VP2hEl6ef364ofmZvByDTKO56ah0GYzpxZ1uxvNV9PsyiuQk_drxE6x7PI7n-yH_H00zauMF6FYhTgv0SbqIRGQr-O8MKl1mbmk3efSdEr3gx6Q-bztG8p_jgOPWjVf4ol_6gfqtMOrlxTe2UJeR23fhWXCbp0ld20HpjgeIlkawoqpj8_TsjsnsPYk5epC2h5YVXrCuozWw5GnxYg7LDSx0CGQhe2JNRSy92b3hSvSahTQ0rKbmVDyvCIcRVhk2RO4Ilc-ddx4HhB8fcvbSVTAPBnI0A9NkPKSYKXA5SwiIlcPqex15BBG4zBbEX7D4JWr4925t2--WXkUIjsKvteOx0u9OhcBTbajahVepTNByNyqdKrJzdShWTBXw4mRNprL57ZZ3qFdCA6-11FcmeRkpDRqUX7kAXloFKBtcOECNjUpLNkf4FmT687-gt1R0xGIJsTatLSsc2K4Xr1TpTiuC7D3xledvsGTC07UuDgVQBb7AkN1Kch3Mg',\r\n\t\t\t'telin.clientId': 'PROVIDER',\r\n\t\t\t'telin.clientName': 'Provider',\r\n\t\t\t'telin.email': 'admin@bsp.com',\r\n\t\t\t'telin.id': 'admin',\r\n\t\t\t'telin.name': 'admin',\r\n\t\t\t'telin.roleCode': 'admin',\r\n\t\t\t'telin.roleId': 'admin',\r\n\t\t\t'telin.roleName': 'Administrator',\r\n\t\t\t'telin.roles':\r\n\t\t\t\t'[{\"isClientRole\":false,\"name\":\"Administrator\",\"code\":\"admin\",\"id\":\"admin\"}]',\r\n\t\t};\r\n\r\n\t\tObject.keys(data).forEach(function (k) {\r\n\t\t\tlocalStorage.setItem(k, data[k]);\r\n\t\t}); */\r\n\t\t/* Init Localstorage (Local Only) */\r\n\t}\r\n\r\n\tonChangeMainArea(area: MainArea): void {\r\n\t\tthis.currentView = area;\r\n\t}\r\n}\r\n","import {\r\n\tAfterViewInit,\r\n\tDirective,\r\n\tEventEmitter,\r\n\tInput,\r\n\tNgZone,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n} from '@angular/core';\r\nimport { MatSelect, SELECT_ITEM_HEIGHT_EM } from '@angular/material/select';\r\nimport { Subject, fromEvent } from 'rxjs';\r\nimport { debounceTime, takeUntil, tap } from 'rxjs/operators';\r\n\r\n@Directive({\r\n\tselector: '[matSelectInfiniteScroll]',\r\n})\r\nexport class MatSelectInfiniteScrollDirective\r\n\timplements OnInit, OnDestroy, AfterViewInit\r\n{\r\n\t@Input() threshold = '15%';\r\n\t@Input() debounceTime = 150;\r\n\t@Input() complete: boolean;\r\n\t@Output() infiniteScroll = new EventEmitter<void>();\r\n\r\n\tprivate panel: Element;\r\n\tprivate thrPx = 0;\r\n\tprivate thrPc = 0;\r\n\tprivate singleOptionHeight = SELECT_ITEM_HEIGHT_EM;\r\n\tprivate destroyed$ = new Subject<boolean>();\r\n\r\n\tconstructor(private matSelect: MatSelect, private ngZone: NgZone) {}\r\n\r\n\tngOnInit() {\r\n\t\tthis.evaluateThreshold();\r\n\t}\r\n\r\n\tngAfterViewInit() {\r\n\t\tthis.matSelect.openedChange\r\n\t\t\t.pipe(takeUntil(this.destroyed$))\r\n\t\t\t.subscribe(opened => {\r\n\t\t\t\tif (opened) {\r\n\t\t\t\t\tthis.panel = this.matSelect.panel.nativeElement;\r\n\t\t\t\t\tthis.singleOptionHeight = this.getSelectItemHeightPx();\r\n\t\t\t\t\tthis.registerScrollListener();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.destroyed$.next(true);\r\n\t\tthis.destroyed$.complete();\r\n\t}\r\n\r\n\tevaluateThreshold() {\r\n\t\tif (this.threshold.lastIndexOf('%') > -1) {\r\n\t\t\tthis.thrPx = 0;\r\n\t\t\tthis.thrPc = parseFloat(this.threshold) / 100;\r\n\t\t} else {\r\n\t\t\tthis.thrPx = parseFloat(this.threshold);\r\n\t\t\tthis.thrPc = 0;\r\n\t\t}\r\n\t}\r\n\r\n\tregisterScrollListener() {\r\n\t\tfromEvent(this.panel, 'scroll')\r\n\t\t\t.pipe(\r\n\t\t\t\ttakeUntil(this.destroyed$),\r\n\t\t\t\tdebounceTime(this.debounceTime),\r\n\t\t\t\ttap(event => {\r\n\t\t\t\t\tthis.handleScrollEvent(event);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.subscribe();\r\n\t}\r\n\r\n\thandleScrollEvent(event) {\r\n\t\tthis.ngZone.runOutsideAngular(() => {\r\n\t\t\tif (this.complete) return;\r\n\r\n\t\t\tconst countOfRenderedOptions = this.matSelect.options.length;\r\n\t\t\tconst infiniteScrollDistance =\r\n\t\t\t\tthis.singleOptionHeight * countOfRenderedOptions;\r\n\t\t\tconst threshold =\r\n\t\t\t\tthis.thrPc !== 0\r\n\t\t\t\t\t? infiniteScrollDistance * this.thrPc\r\n\t\t\t\t\t: this.thrPx;\r\n\t\t\tconst scrolledDistance =\r\n\t\t\t\tthis.panel.clientHeight + event.target.scrollTop;\r\n\r\n\t\t\tif (scrolledDistance + threshold >= infiniteScrollDistance)\r\n\t\t\t\tthis.ngZone.run(() => this.infiniteScroll.emit());\r\n\t\t});\r\n\t}\r\n\r\n\tgetSelectItemHeightPx(): number {\r\n\t\treturn (\r\n\t\t\tparseFloat(getComputedStyle(this.panel).fontSize) *\r\n\t\t\tSELECT_ITEM_HEIGHT_EM\r\n\t\t);\r\n\t}\r\n}\r\n","export class BaseOptionModel {\r\n\tpublic label: string;\r\n\tpublic value: string | number;\r\n}\r\n","export class PackageReqModel {\r\n\tpublic name: string;\r\n\tpublic monthlyRental: number;\r\n\tpublic conversationMsg: string;\r\n\tpublic businessMsg: string;\r\n\tpublic contacts: string;\r\n\tpublic isMultipleFlow: boolean;\r\n\tpublic tps: number;\r\n\tpublic multichatLiveAgent: string;\r\n\tpublic multichatLiveSupervisor: string;\r\n\tpublic numberOfFlow: string;\r\n\tpublic waOfficialAccount: string;\r\n\tpublic dashboardToSendMessage: string;\r\n\tpublic reportAdminPanel: string;\r\n\tpublic trainingSupport: string;\r\n\tpublic isMultiple: string;\r\n\tpublic checklistWa:\tboolean;\r\n\tpublic checklistTele:\tboolean;\r\n\tpublic checklistLine:\tboolean;\r\n\tpublic specifyPackage: string;\r\n\tpublic customDevelopment: string;\r\n\tpublic oneUsageCostConversation: string;\r\n\tpublic ovrUsgConversationRateCard: boolean;\r\n\tpublic ovrUsgNotficationRateCard: boolean | string;\r\n\tpublic ovrUsgConversationCost: string;\r\n\tpublic ovrUsgNotficationCost: string;\r\n\tpublic signupOrSetup: string;\r\n\tpublic checklistAdm: boolean;\r\n\tpublic checklistUser: boolean;\r\n\tpublic checklistClient: boolean;\r\n\tpublic checklistChatAgentAdmin: boolean;\r\n\tpublic checklistChatAgentUser: boolean;\r\n\tpublic country: string;\r\n\tpublic currency: string;\r\n\tpublic customPackage: boolean;\r\n\tpublic costPerCustomer: string;\r\n\tpublic costPerBusiness: string;\r\n\tpublic setupFeeRateCard: boolean | string;\r\n\tpublic setupFee: string;\r\n\tpublic type: string;\r\n\tpublic recomended: string;\r\n\r\n\t\r\n\r\n\tpublic clone(source: any): PackageReqModel {\r\n\t\tif (source.country) {\r\n\t\t\tthis.country = source.country;\r\n\t\t}\r\n\t\tif (source.recomended) {\r\n\t\t\tthis.recomended = source.recomended;\r\n\t\t}\r\n\t\tif (source.type) {\r\n\t\t\tthis.type = source.type;\r\n\t\t}\r\n\t\tif (source.setupFeeRateCard) {\r\n\t\t\tthis.setupFeeRateCard = source.setupFeeRateCard;\r\n\t\t}\r\n\t\tif (source.setupFee) {\r\n\t\t\tif(source.setupFeeRateCard === 'true') {\r\n\t\t\t\tthis.setupFee = null;\r\n\t\t\t}else {\r\n\t\t\t\tthis.setupFee = source.setupFee;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (source.ovrUsgConversationRateCard) {\r\n\t\t\tthis.ovrUsgConversationRateCard = source.ovrUsgConversationRateCard;\r\n\t\t}\r\n\t\tif (source.costPerCustomer) {\r\n\t\t\tthis.costPerCustomer = source.costPerCustomer;\r\n\t\t}\r\n\t\tif (source.costPerBusiness) {\r\n\t\t\tthis.costPerBusiness = source.costPerBusiness;\r\n\t\t}\r\n\t\tif (source.ovrUsgNotficationRateCard) {\r\n\t\t\t\tthis.ovrUsgNotficationRateCard = source.ovrUsgNotficationRateCard;\r\n\t\t}\r\n\t\tif (source.ovrUsgConversationCost) {\r\n\t\t\tthis.ovrUsgConversationCost = source.ovrUsgConversationCost;\r\n\t\t}\r\n\t\tif (source.ovrUsgNotficationCost) {\r\n\t\t\tif(source.ovrUsgNotficationRateCard === 'true') {\r\n\t\t\t\tthis.ovrUsgNotficationCost = null;\r\n\t\t\t}else {\r\n\t\t\t\tthis.ovrUsgNotficationCost = source.ovrUsgNotficationCost;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t\tif (source.customPackage) {\r\n\t\t\tthis.customPackage = source.customPackage;\r\n\t\t}\r\n\t\tif (source.currency) {\r\n\t\t\tthis.currency = source.currency;\r\n\t\t}\r\n\t\tif (source.name) {\r\n\t\t\tthis.name = source.name;\r\n\t\t}\r\n\t\tif (source.monthlyRental) {\r\n\t\t\tthis.monthlyRental = source.monthlyRental;\r\n\t\t}\r\n\t\tif (source.conversationMsg) {\r\n\t\t\tthis.conversationMsg = source.conversationMsg;\r\n\t\t}\r\n\t\tif (source.businessMsg) {\r\n\t\t\tthis.businessMsg = source.businessMsg;\r\n\t\t}\r\n\t\tif (source.contacts) {\r\n\t\t\tthis.contacts = source.contacts;\r\n\t\t}\r\n\t\tif (source.isMultipleFlow) {\r\n\t\t\tthis.isMultipleFlow = source.isMultipleFlow;\r\n\t\t}\r\n\t\tif (source.tps) {\r\n\t\t\tthis.tps = source.tps;\r\n\t\t}\r\n\t\tif (source.multichatLiveAgent) {\r\n\t\t\tthis.multichatLiveAgent = source.multichatLiveAgent;\r\n\t\t}\r\n\t\tif (source.multichatLiveSupervisor) {\r\n\t\t\tthis.multichatLiveSupervisor = source.multichatLiveSupervisor;\r\n\t\t}\r\n\t\tif (source.numberOfFlow) {\r\n\t\t\tthis.numberOfFlow = source.numberOfFlow;\r\n\t\t}\r\n\t\tif (source.waOfficialAccount) {\r\n\t\t\tthis.waOfficialAccount = source.waOfficialAccount;\r\n\t\t}\r\n\t\tif (source.dashboardToSendMessage) {\r\n\t\t\tthis.dashboardToSendMessage = source.dashboardToSendMessage;\r\n\t\t}\r\n\t\tif (source.reportAdminPanel) {\r\n\t\t\tthis.reportAdminPanel = source.reportAdminPanel;\r\n\t\t}\r\n\t\tif (source.trainingSupport) {\r\n\t\t\tthis.trainingSupport = source.trainingSupport;\r\n\t\t}\r\n\t\tif (source.isMultiple) {\r\n\t\t\tthis.isMultiple = source.isMultiple;\r\n\t\t}\r\n\t\tif (source.checklistWa) {\r\n\t\t\tthis.checklistWa = source.checklistWa;\r\n\t\t}\r\n\t\tif (source.checklistLine) {\r\n\t\t\tthis.checklistLine = source.checklistLine;\r\n\t\t}\r\n\t\tif (source.checklistTele) {\r\n\t\t\tthis.checklistTele = source.checklistTele;\r\n\t\t}\r\n\t\tif (source.specifyPackage) {\r\n\t\t\tthis.specifyPackage = source.specifyPackage;\r\n\t\t}\r\n\t\tif (source.customDevelopment) {\r\n\t\t\tthis.customDevelopment = source.customDevelopment;\r\n\t\t}\r\n\t\tif (source.oneUsageCostConversation) {\r\n\t\t\tthis.oneUsageCostConversation = source.oneUsageCostConversation;\r\n\t\t}\r\n\t\t// if (source.oneUsageCostNotification) {\r\n\t\t// \tthis.oneUsageCostNotification = source.oneUsageCostNotification;\r\n\t\t// }\r\n\t\tif (source.signupOrSetup) {\r\n\t\t\tthis.signupOrSetup = source.signupOrSetup;\r\n\t\t}\r\n\t\tif (source.checklistAdm) {\r\n\t\t\tthis.checklistAdm = source.checklistAdm;\r\n\t\t}\r\n\t\tif (source.checklistUser) {\r\n\t\t\tthis.checklistUser = source.checklistUser;\r\n\t\t}\r\n\t\tif (source.checklistClient) {\r\n\t\t\tthis.checklistClient = source.checklistClient;\r\n\t\t}\r\n\t\tif (source.checklistChatAgentAdmin) {\r\n\t\t\tthis.checklistChatAgentAdmin = source.checklistChatAgentAdmin;\r\n\t\t}\r\n\t\tif (source.checklistChatAgentUser) {\r\n\t\t\tthis.checklistChatAgentUser = source.checklistChatAgentUser;\r\n\t\t}\r\n\t\treturn this;\r\n\t}\r\n}","export class HttpBodyReqPaginationModel {\r\n\tpublic pageSize: number;\r\n\tpublic pageNo: number;\r\n\r\n\tconstructor() {\r\n\t\tthis.pageSize = 10;\r\n\t\tthis.pageNo = 1;\r\n\t}\r\n\r\n\tpublic convert(): any {\r\n\t\treturn {\r\n\t\t\tpageSize: this.pageSize,\r\n\t\t\tpageNo: this.pageNo,\r\n\t\t};\r\n\t}\r\n}\r\n","export class HttpBodyReqPaginationGlobalVarModel {\r\n\tpublic pageSize: number;\r\n\tpublic pageNo: number;\r\n\r\n\tconstructor() {\r\n\t\tthis.pageSize = 3;\r\n\t\tthis.pageNo = 1;\r\n\t}\r\n\r\n\tpublic convert(): any {\r\n\t\treturn {\r\n\t\t\tpageSize: this.pageSize,\r\n\t\t\tpageNo: this.pageNo,\r\n\t\t};\r\n\t}\r\n}\r\n","// let API_CONST = '';\r\n\r\n// if (location.origin.includes('dashboard.neuapix'))\r\n// \tAPI_CONST = 'https://api.neuapix.com';\r\n// else if (location.origin.includes('dashboard-staging.neuapix'))\r\n// \tAPI_CONST = 'https://api-staging.neuapix.com';\r\n// else if (location.origin.includes('dashboard-qa.adlsandbox'))\r\n// \tAPI_CONST = 'https://apibsp-qa.adlsandbox.net';\r\n// else if (location.origin.includes('demo-dev.adlsandbox.net'))\r\n// \tAPI_CONST = 'https://apibsp-dev.adlsandbox.net';\r\n// else API_CONST = 'https://apibsp-dev.adlsandbox.net';\r\n\r\n// export const environment = {\r\n// \tproduction: false,\r\n// \tapi: API_CONST,\r\n// };\r\nlet API_CONST = '';\r\nconst origin = location.origin;\r\n\r\n// 1. Cek Production\r\nif (origin.includes('dashboard.neuapix.com')) {\r\n API_CONST = 'https://api.neuapix.com';\r\n}\r\n// 2. Cek Staging\r\nelse if (origin.includes('dashboard-staging')) {\r\n API_CONST = 'https://api-staging.neuapix.com';\r\n}\r\n// 3. Cek QA\r\nelse if (origin.includes('dashboard-qa')) {\r\n API_CONST = 'https://apibsp-qa.adlsandbox.net';\r\n}\r\n// 4. Cek Demo Dev secara spesifik\r\nelse if (origin.includes('demo-dev')) {\r\n API_CONST = 'https://apibsp-dev.adlsandbox.net';\r\n}\r\n// 5. Default (Localhost atau lainnya)\r\nelse {\r\n API_CONST = 'https://apibsp-dev.adlsandbox.net';\r\n}\r\n\r\nexport const environment = {\r\n production: false,\r\n api: API_CONST,\r\n};\r\n","import { HttpBodyReqPaginationModel } from \"./util\";\r\n\r\nexport class BillingParamReqModel extends HttpBodyReqPaginationModel {\r\n\tpublic filter: string;\r\n\tpublic platform: string;\r\n\tpublic clientId: string;\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tpublic convert(): any {\r\n\t\treturn {\r\n\t\t\tfilter: this.filter,\r\n\t\t\tplatform: this.platform,\r\n\t\t\tclientId: this.clientId,\r\n\t\t\tpageNo: String(this.pageNo),\r\n\t\t\tpageSize: String(this.pageSize),\r\n\t\t};\r\n\t}\r\n}\r\n","export class CountryModel {\r\n\tpublic category: string;\r\n\tpublic code: string;\r\n\tpublic values: string;\r\n\tpublic param1: string;\r\n\tpublic param2: boolean;\r\n\tpublic ìcon: boolean;\r\n\r\n\tpublic convert(dto: any): CountryModel {\r\n\r\n\t\tif (dto.category) {\r\n\t\t\tthis.category = dto.category;\r\n\t\t}\r\n\t\tif (dto.code) {\r\n\t\t\tthis.code = dto.code;\r\n\t\t}\r\n\t\tif (dto.values) {\r\n\t\t\tthis.values = dto.values;\r\n\t\t}\r\n\t\tif (dto.param1) {\r\n\t\t\tthis.param1 = dto.param1;\r\n\t\t}\r\n\t\tif (dto.param2) {\r\n\t\t\tthis.param2 = dto.param2;\r\n\t\t}\r\n\t\tif (dto.ìcon) {\r\n\t\t\tthis.ìcon = dto.ìcon;\r\n\t\t}\r\n\t\treturn this;\r\n\t}\r\n}\r\n","export class CreatePackageReqModel {\r\n\tpublic name : string;\r\n\tpublic channels : string[] = [];\r\n\tpublic customDevelopment : boolean;\r\n\tpublic maxAgent : string;\r\n\tpublic maxContact : string;\r\n\tpublic maxFlow : string;\r\n\tpublic maxSupervisor : string;\r\n\tpublic monthlyConversation : string;\r\n\tpublic monthlyNotification : string;\r\n\tpublic monthlyRental : number;\r\n\tpublic monthlyRentalRateCard : string;\r\n\tpublic ovrUsgConversation : string;\r\n\tpublic ovrUsgConversationCost : string;\r\n\tpublic ovrUsgConversationRateCard : boolean;\r\n\tpublic ovrUsgNotification : string;\r\n\tpublic ovrUsgNotificationCost : string;\r\n\tpublic ovrUsgNotificationRateCard : boolean;\r\n\tpublic reports : boolean;\r\n\tpublic roles : string;\r\n\tpublic sendMsgDashboard : boolean;\r\n\tpublic setupFee : string;\r\n\tpublic tps : number;\r\n\tpublic training : boolean;\r\n\tpublic waOfficialAcc : boolean;\r\n\tpublic customPackage: boolean;\r\n\tpublic countryCode: string;\r\n\tpublic costPerCustomer: string;\r\n\tpublic costPerBusiness: string;\r\n\tpublic setupFeeRateCard: boolean;\r\n\tpublic type: string;\r\n\tpublic recomended: string;\r\n\r\n\tpublic clone(source:any): CreatePackageReqModel {\r\n\t\tif (source.name) {\r\n\t\t\tthis.name = source.name;\r\n\t\t}\r\n\t\tif (source.type) {\r\n\t\t\tthis.type = source.type;\r\n\t\t}\r\n\t\tif (source.recomended) {\r\n\t\t\tthis.recomended = source.recomended;\r\n\t\t}\r\n\t\tif (source.setupFeeRateCard) {\r\n\t\t\tthis.setupFeeRateCard = source.setupFeeRateCard;\r\n\t\t}\r\n\t\tif (source.countryCode) {\r\n\t\t\tthis.countryCode = source.countryCode;\r\n\t\t}\r\n\t\tif (source.costPerCustomer) {\r\n\t\t\tthis.costPerCustomer = source.costPerCustomer;\r\n\t\t}\r\n\t\tif (source.costPerBusiness) {\r\n\t\t\tthis.costPerBusiness = source.costPerBusiness;\r\n\t\t}\r\n\t\tif (source.customPackage) {\r\n\t\t\tthis.customPackage = source.customPackage;\r\n\t\t}\r\n\t\tif (source.channels) {\r\n\t\t\tthis.channels = [source.channels];\r\n\t\t}\r\n\t\tif (source.customDevelopment) {\r\n\t\t\tthis.customDevelopment = source.customDevelopment;\r\n\t\t}\r\n\t\tif (source.maxAgent) {\r\n\t\t\tthis.maxAgent = source.maxAgent;\r\n\t\t}\r\n\t\tif (source.maxContact) {\r\n\t\t\tthis.maxContact = source.maxContact;\r\n\t\t}\r\n\t\tif (source.maxFlow) {\r\n\t\t\tthis.maxFlow = source.maxFlow;\r\n\t\t}\r\n\t\tif (source.maxSupervisor) {\r\n\t\t\tthis.maxSupervisor = source.maxSupervisor;\r\n\t\t}\r\n\t\tif (source.monthlyConversation) {\r\n\t\t\tthis.monthlyConversation = source.monthlyConversation;\r\n\t\t}\r\n\t\tif (source.monthlyNotification) {\r\n\t\t\tthis.monthlyNotification = source.monthlyNotification;\r\n\t\t}\r\n\t\tif (source.monthlyRental) {\r\n\t\t\tthis.monthlyRental = source.monthlyRental;\r\n\t\t}\r\n\t\tif (source.monthlyRentalRateCard) {\r\n\t\t\tthis.monthlyRentalRateCard = source.monthlyRentalRateCard;\r\n\t\t}\r\n\t\tif (source.ovrUsgConversation) {\r\n\t\t\tthis.ovrUsgConversation = source.ovrUsgConversation;\r\n\t\t}\r\n\t\tif (source.ovrUsgConversationCost) {\r\n\t\t\tthis.ovrUsgConversationCost = source.ovrUsgConversationCost;\r\n\t\t}\r\n\t\tif (source.ovrUsgConversationRateCard) {\r\n\t\t\tthis.ovrUsgConversationRateCard = source.ovrUsgConversationRateCard;\r\n\t\t}\r\n\t\tif (source.ovrUsgNotification) {\r\n\t\t\tthis.ovrUsgNotification = source.ovrUsgNotification;\r\n\t\t}\r\n\t\tif (source.ovrUsgNotificationCost) {\r\n\t\t\tthis.ovrUsgNotificationCost = source.ovrUsgNotificationCost;\r\n\t\t}\r\n\t\tif (source.ovrUsgNotificationRateCard) {\r\n\t\t\tthis.ovrUsgNotificationRateCard = source.ovrUsgNotificationRateCard;\r\n\t\t}\r\n\t\tif (source.reports) {\r\n\t\t\tthis.reports = source.reports;\r\n\t\t}\r\n\t\tif (source.roles) {\r\n\t\t\tthis.roles = source.roles;\r\n\t\t}\r\n\t\tif (source.sendMsgDashboard) {\r\n\t\t\tthis.sendMsgDashboard = source.sendMsgDashboard;\r\n\t\t}\r\n\t\tif (source.setupFee) {\r\n\t\t\tthis.setupFee = source.setupFee;\r\n\t\t}\r\n\t\tif (source.tps) {\r\n\t\t\tthis.tps = source.tps;\r\n\t\t}\r\n\t\tif (source.training) {\r\n\t\t\tthis.training = source.training;\r\n\t\t}\r\n\t\tif (source.waOfficialAcc) {\r\n\t\t\tthis.waOfficialAcc = source.waOfficialAcc;\r\n\t\t}\r\n\r\n\t\t\r\n\t\treturn this;\r\n\t}\r\n\r\n\tconvert(): any {\r\n\t\treturn {\r\n\t\t\tname: this.name,\r\n\t\t\tchannels : this.channels ,\r\n\t\t\tcustomDevelopment : this.customDevelopment ,\r\n\t\t\tmaxAgent : +this.maxAgent ,\r\n\t\t\tmaxContact :+this.maxContact ,\r\n\t\t\tmaxFlow : +this.maxFlow ,\r\n\t\t\tmaxSupervisor : +this.maxSupervisor ,\r\n\t\t\tmonthlyConversation : +this.monthlyConversation ,\r\n\t\t\tmonthlyNotification : +this.monthlyNotification ,\r\n\t\t\tmonthlyRental : +this.monthlyRental ,\r\n\t\t\tmonthlyRentalRateCard : this.monthlyRentalRateCard ,\r\n\t\t\tovrUsgConversation : this.ovrUsgConversation ,\r\n\t\t\tovrUsgConversationCost : +this.ovrUsgConversationCost ,\r\n\t\t\tovrUsgConversationRateCard : this.ovrUsgConversationRateCard ,\r\n\t\t\tovrUsgNotification : this.ovrUsgNotification ,\r\n\t\t\tovrUsgNotificationCost : +this.ovrUsgNotificationCost ,\r\n\t\t\tovrUsgNotificationRateCard : this.ovrUsgNotificationRateCard ,\r\n\t\t\treports : this.reports ,\r\n\t\t\troles : this.roles ,\r\n\t\t\tsendMsgDashboard : this.sendMsgDashboard ,\r\n\t\t\tsetupFee : +this.setupFee ,\r\n\t\t\ttps : +this.tps ,\r\n\t\t\ttraining : this.training ,\r\n\t\t\twaOfficialAcc : this.waOfficialAcc,\r\n\t\t\tcustomPackage: this.customPackage,\r\n\t\t\tcountryCode: this.countryCode,\r\n\t\t\tcostPerBusiness: this.costPerBusiness,\r\n\t\t\tcostPerCustomer: this.costPerCustomer,\r\n\t\t\tsetupFeeRateCard: this.setupFeeRateCard,\r\n\t\t\ttype: this.type,\r\n\t\t\trecomended: this.recomended\r\n\t\t};\r\n\t}\r\n}","export class HttpBodyRespModel {\r\n\tpublic status: number;\r\n\tpublic errorCode: number;\r\n\tpublic message: string;\r\n\tpublic data: any;\r\n\tpublic totalRecord: number;\r\n\r\n\tpublic convert(dto: any): HttpBodyRespModel {\r\n\t\tif (dto.status) {\r\n\t\t\tthis.status = dto.status;\r\n\t\t}\r\n\t\tif (dto.errorCode) {\r\n\t\t\tthis.errorCode = dto.errorCode;\r\n\t\t}\r\n\t\tif (dto.message) {\r\n\t\t\tthis.message = dto.message;\r\n\t\t}\r\n\t\tif (dto.data) {\r\n\t\t\tthis.data = dto.data;\r\n\t\t}\r\n\t\tif (dto.totalRecord >= 0) {\r\n\t\t\tthis.totalRecord = dto.totalRecord;\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n}\r\n","import { HttpClient, HttpErrorResponse, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError } from 'rxjs/internal/operators/catchError';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Parameter, ServerInBuiltError } from '../models/util/api-adapter-service-models';\r\nimport { AppRequest } from '../models/util/api-dto/request-models/app-request';\r\nimport { AppResponse } from '../models/util/api-dto/response-models/app-response';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class ApiAdapterServiceService {\r\n private queryCount = 0;\r\n\r\n constructor(private httpClient: HttpClient) {}\r\n\r\n public executeApiRequest<T>(\r\n parameterList: Array<Parameter>,\r\n path: string,\r\n httpVerb: string,\r\n isFile: boolean = false\r\n ): Observable<any> {\r\n let url = path;\r\n let bodyData: {};\r\n let parameter: Parameter;\r\n let formData = new FormData();\r\n\r\n parameterList\r\n ?.filter((rt) => rt.in !== 'header')\r\n .forEach((requestType) => {\r\n parameter = parameterList.find(\r\n (parameter) => parameter.name === requestType.name\r\n ) as Parameter;\r\n\r\n if (!parameter && requestType.required && requestType.in !== 'header') {\r\n window.alert(\r\n `Parameter \"${requestType.name}\" is required!, Try again with \"${requestType.name}\"`\r\n );\r\n } else if (!parameter && !requestType.required) {\r\n // continue;\r\n } else {\r\n switch (requestType.in) {\r\n case 'body': {\r\n bodyData = parameter.value;\r\n break;\r\n }\r\n case 'path': {\r\n url = url.replace(`{${parameter.name}}`, parameter.value);\r\n break;\r\n }\r\n case 'query': {\r\n url = this.setQuery(parameter.name, parameter.value, url);\r\n break;\r\n }\r\n case 'formData': {\r\n formData = this.setFormData(parameter, formData);\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n parameter = undefined;\r\n });\r\n\r\n this.queryCount = 0;\r\n\r\n url = `${environment.api}${url}`;\r\n const appRequest: AppRequest<any> = {\r\n ...(parameterList?.[0]?.withoutKeyData ? bodyData : { data: bodyData }),\r\n };\r\n\r\n const headers = new HttpHeaders()\r\n .set('Authorization', 'Bearer ' + localStorage.getItem('telin.accessToken'))\r\n .set('Access-Control-Allow-Origin', '*');\r\n\r\n return this.httpClient\r\n .request<AppResponse<T>>(httpVerb, url, {\r\n body: !bodyData ? formData : appRequest,\r\n responseType: isFile ? ('blob' as 'json') : ('json' as 'json'),\r\n headers,\r\n })\r\n .pipe(\r\n catchError((err: HttpErrorResponse) => {\r\n if (err.error instanceof ErrorEvent) {\r\n return of<AppResponse<any>>({\r\n error: {\r\n title: 'Network error!',\r\n detail: err.message,\r\n source: err.statusText,\r\n status: err.status.toString(),\r\n },\r\n meta: {\r\n code: err.status,\r\n message: err.message,\r\n },\r\n });\r\n }\r\n\r\n return of<ServerInBuiltError>(err.error);\r\n })\r\n );\r\n }\r\n\r\n public uploadFileToS3(s3Url: string, file: File): Observable<any> {\r\n // Kita kirim raw binary/file dengan header Content-Type yang sesuai\r\n return this.httpClient.put(s3Url, file, {\r\n headers: { 'Content-Type': file.type },\r\n });\r\n }\r\n\r\n private setQuery(name: string, value: any, url: string): string {\r\n url = this.queryCount === 0 ? `${url}?${name}=${value}` : `${url}&${name}=${value}`;\r\n this.queryCount++;\r\n return url;\r\n }\r\n\r\n private setFormData(parameter: Parameter, formData: FormData): FormData {\r\n if (parameter.type === 'array') {\r\n for (let i = 0; parameter.value.length > i; i++) {\r\n formData.append(parameter.name, parameter.value[i], parameter.value[i].name);\r\n }\r\n } else {\r\n formData.append(parameter.name, parameter.value ? parameter.value : null);\r\n }\r\n return formData;\r\n }\r\n}\r\n","export const CampaignListTableLabelConst = [\r\n\t'Broadcast ID',\r\n\t'Business Name',\r\n\t'Broadcast Name',\r\n\t'Template Name',\r\n\t'Channel',\r\n\t'Status',\r\n\t'Number Count',\r\n\t'On Progress',\r\n\t'Sent',\r\n\t'Delivered',\r\n\t'Read',\r\n\t'Failed',\r\n\t'Repeat Count',\r\n\t'Start Date',\r\n\t'End Date',\r\n\t'Action',\r\n];\r\n\r\nexport const CampaignListTableColumnConst = [\r\n\t'id',\r\n\t'clientName',\r\n\t'name',\r\n\t'templateName',\r\n\t'platform',\r\n\t'statusName',\r\n\t'numberCount',\r\n\t'queuedCount',\r\n\t'sentCount',\r\n\t'delivCount',\r\n\t'readCount',\r\n\t'failedCount',\r\n\t'repeatCount',\r\n\t'startTime',\r\n\t'endTime',\r\n\t'action',\r\n];\r\n","import { MatTableDataSource } from '@angular/material/table';\r\n\r\nexport class TableModel {\r\n\tpublic columns: any[];\r\n\tpublic dataSource: MatTableDataSource<any>;\r\n\tpublic labels: string[];\r\n\tpublic page: number;\r\n\tpublic pageSize: number;\r\n\tpublic totalData: number;\r\n\r\n\tconstructor() {\r\n\t\tthis.columns = [];\r\n\t\tthis.dataSource = new MatTableDataSource();\r\n\t\tthis.labels = [];\r\n\t\tthis.page = 1;\r\n\t\tthis.pageSize = 10;\r\n\t\tthis.totalData = 0;\r\n\t}\r\n\r\n\tpublic getNumber(index: number, limit: number): number {\r\n\t\treturn (this.page - 1) * limit + index;\r\n\t}\r\n\r\n\tpublic getPageIndex(): number {\r\n\t\treturn this.page - 1;\r\n\t}\r\n\r\n\tpublic isEmpty(): boolean {\r\n\t\treturn this.totalData === 0;\r\n\t}\r\n\r\n\tpublic setPage(page: number): void {\r\n\t\tthis.page = page;\r\n\t}\r\n\r\n\tpublic setPageSize(size: number): void {\r\n\t\tthis.pageSize = size;\r\n\t}\r\n\r\n\tpublic resetPage(): void {\r\n\t\tthis.page = 1;\r\n\t}\r\n\r\n\tpublic setNextPage(isNext: boolean): void {\r\n\t\tif (!isNext && this.page === 1) {\r\n\t\t\tthis.totalData = this.dataSource.data?.length ?? 0;\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.totalData =\r\n\t\t\tthis.page === 1\r\n\t\t\t\t? this.pageSize * 2\r\n\t\t\t\t: this.pageSize * (this.page + 1);\r\n\r\n\t\tconst diffData = this.pageSize - this.dataSource.data?.length;\r\n\r\n\t\t/* totalData substracted by diffData if data < pageSize */\r\n\t\tif (diffData !== 0) this.totalData -= diffData;\r\n\r\n\t\t/* totalData substracted by pageSize if isNext false */\r\n\t\tif (!isNext) this.totalData -= this.pageSize;\r\n\t}\r\n}\r\n","export class CampaignsListModel {\r\n\tpublic campaignID: string;\r\n\tpublic businessName: string;\r\n\tpublic campaignName: string;\r\n\tpublic medium: string;\r\n\tpublic status: string;\r\n\tpublic numberCount: number;\r\n\tpublic deilveredCount: number;\r\n\tpublic seenCount: number;\r\n\tpublic responseCount: number;\r\n\tpublic estimatedCost: number;\r\n\tpublic actualCost: number;\r\n\tpublic startDate: string;\r\n\tpublic endDate: string;\r\n\tpublic id: string;\r\n\r\n\tpublic convert(dto: any): CampaignsListModel {\r\n\t\tif (dto.campaignID) {\r\n\t\t\tthis.campaignID = dto.campaignID;\r\n\t\t}\r\n\t\tif (dto.businessName) {\r\n\t\t\tthis.businessName = dto.businessName;\r\n\t\t}\r\n\t\tif (dto.campaignName) {\r\n\t\t\tthis.campaignName = dto.campaignName;\r\n\t\t}\r\n\t\tif (dto.medium) {\r\n\t\t\tthis.medium = dto.medium;\r\n\t\t}\r\n\t\tif (dto.status) {\r\n\t\t\tthis.status = dto.status;\r\n\t\t}\r\n\t\tif (dto.numberCount) {\r\n\t\t\tthis.numberCount = dto.numberCount;\r\n\t\t}\r\n\t\tif (dto.deilveredCount) {\r\n\t\t\tthis.deilveredCount = dto.deilveredCount;\r\n\t\t}\r\n\t\tif (dto.seenCount) {\r\n\t\t\tthis.seenCount = dto.seenCount;\r\n\t\t}\r\n\t\tif (dto.responseCount) {\r\n\t\t\tthis.responseCount = dto.responseCount;\r\n\t\t}\r\n\t\tif (dto.estimatedCost) {\r\n\t\t\tthis.estimatedCost = dto.estimatedCost;\r\n\t\t}\r\n\t\tif (dto.actualCost) {\r\n\t\t\tthis.actualCost = dto.actualCost;\r\n\t\t}\r\n\t\tif (dto.startDate) {\r\n\t\t\tthis.startDate = dto.startDate;\r\n\t\t}\r\n\t\tif (dto.endDate) {\r\n\t\t\tthis.endDate = dto.endDate;\r\n\t\t}\r\n\t\tif (dto.id) {\r\n\t\t\tthis.id = dto.id;\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n}\r\n","import { DatePipe } from '@angular/common';\r\nimport {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n} from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { MainArea } from '../../../core/enums/main-area.enum';\r\nimport { HttpBodyReqPaginationModel } from '../../../core/models';\r\nimport { Parameter } from '../../../core/models/util/api-adapter-service-models';\r\nimport { AppResponse } from '../../../core/models/util/api-dto/response-models/app-response';\r\nimport { ApiAdapterServiceService } from '../../../core/services/api-adapter-service.service';\r\nimport { CampaignTotalDto } from '../../models/campaign-count-final-response-dto.model';\r\nimport {\r\n\tCampaignListTableColumnConst,\r\n\tCampaignListTableLabelConst,\r\n\tTableModel,\r\n} from './models';\r\nimport { CampaignResponseDtoApi } from './models/campaign-response-dto.model';\r\n\r\n@Component({\r\n\tselector: 'lib-campaign-index',\r\n\ttemplateUrl: './campaign-index.component.html',\r\n\tstyleUrls: ['./campaign-index.component.scss'],\r\n})\r\nexport class CampaignIndexComponent implements OnInit, OnDestroy {\r\n\t@Output() currentView = new EventEmitter<MainArea>();\r\n\r\n\tpublic table: TableModel;\r\n\tpublic filterValue: any;\r\n\tpublic currentViews = MainArea;\r\n\tpublic campaignTotal: CampaignTotalDto;\r\n\r\n\tprivate campaignParam: HttpBodyReqPaginationModel;\r\n\tprivate subscribers: Subscription[] = [];\r\n\r\n\tconstructor(\r\n\t\tprivate datePipe: DatePipe,\r\n\t\tprivate apiAdapterService: ApiAdapterServiceService\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.campaignParam = new HttpBodyReqPaginationModel();\r\n\r\n\t\tthis.initTable();\r\n\t\tthis.campaignCountService();\r\n\t\tthis.getCampaignList();\r\n\r\n\t\tlocalStorage.removeItem('telin.campaign');\r\n\t}\r\n\r\n\tprivate initTable(): void {\r\n\t\tthis.table = new TableModel();\r\n\t\tthis.table.labels = CampaignListTableLabelConst;\r\n\t\tthis.table.columns = CampaignListTableColumnConst;\r\n\t}\r\n\r\n\tprivate campaignCountService() {\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest([], '/campaign/totals', 'GET')\r\n\t\t\t.subscribe((response: AppResponse<CampaignTotalDto>) => {\r\n\t\t\t\tthis.campaignTotal = response?.data;\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tpublic getCampaignList(searchValue: string = ''): void {\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\tthis.initParam('pageNo', this.campaignParam.pageNo, 'number'),\r\n\t\t\tthis.initParam('rowPerPage', this.campaignParam.pageSize, 'number'),\r\n\t\t\tthis.initParam('filter', searchValue, 'string'),\r\n\t\t];\r\n\r\n\t\tif (this.filterValue?.businessName)\r\n\t\t\tparameterList.push(\r\n\t\t\t\tthis.initParam(\r\n\t\t\t\t\t'clientId',\r\n\t\t\t\t\tthis.filterValue.businessName,\r\n\t\t\t\t\t'string'\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\tif (this.filterValue?.medium)\r\n\t\t\tparameterList.push(\r\n\t\t\t\tthis.initParam('channel', this.filterValue.medium, 'string')\r\n\t\t\t);\r\n\t\tif (this.filterValue?.templateName)\r\n\t\t\tparameterList.push(\r\n\t\t\t\tthis.initParam(\r\n\t\t\t\t\t'templateName',\r\n\t\t\t\t\tthis.filterValue.templateName?.name,\r\n\t\t\t\t\t'string'\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\tif (this.filterValue?.status)\r\n\t\t\tparameterList.push(\r\n\t\t\t\tthis.initParam('status', this.filterValue.status, 'string')\r\n\t\t\t);\r\n\t\tif (this.filterValue?.startDate)\r\n\t\t\tparameterList.push(\r\n\t\t\t\tthis.initParam(\r\n\t\t\t\t\t'startDate',\r\n\t\t\t\t\tthis.datePipe.transform(\r\n\t\t\t\t\t\tthis.filterValue.startDate,\r\n\t\t\t\t\t\t'yyyy-MM-dd'\r\n\t\t\t\t\t),\r\n\t\t\t\t\t'string'\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\tif (this.filterValue?.endDate)\r\n\t\t\tparameterList.push(\r\n\t\t\t\tthis.initParam(\r\n\t\t\t\t\t'endDate',\r\n\t\t\t\t\tthis.datePipe.transform(\r\n\t\t\t\t\t\tthis.filterValue.endDate,\r\n\t\t\t\t\t\t'yyyy-MM-dd'\r\n\t\t\t\t\t),\r\n\t\t\t\t\t'string'\r\n\t\t\t\t)\r\n\t\t\t);\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(parameterList, '/campaign', 'GET')\r\n\t\t\t.subscribe((resp: AppResponse<CampaignResponseDtoApi[]>) => {\r\n\t\t\t\tthis.table.dataSource.data = resp.data;\r\n\t\t\t\tthis.table.setNextPage(resp.haveNext);\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tprivate initParam(_name: string, _value: any, _type: string): Parameter {\r\n\t\treturn {\r\n\t\t\tname: _name,\r\n\t\t\tvalue: _value,\r\n\t\t\tin: 'query',\r\n\t\t\ttype: _type,\r\n\t\t};\r\n\t}\r\n\r\n\tpublic updatePage(event: any): void {\r\n\t\tif (event.pageSize) {\r\n\t\t\tthis.table.totalData = event.pageSize;\r\n\t\t\tthis.table.setPageSize(event.pageSize);\r\n\t\t\tthis.table.resetPage();\r\n\t\t} else {\r\n\t\t\tthis.table.setPage(event);\r\n\t\t}\r\n\r\n\t\tthis.campaignParam.pageNo = this.table.page;\r\n\t\tthis.campaignParam.pageSize = this.table.pageSize;\r\n\t\tthis.getCampaignList();\r\n\t}\r\n\r\n\tpublic updateFilter(_filter: any) {\r\n\t\tthis.table.resetPage();\r\n\t\tthis.campaignParam.pageNo = this.table.page;\r\n\t\tthis.campaignParam.pageSize = this.table.pageSize;\r\n\t\tthis.filterValue = _filter;\r\n\r\n\t\tthis.getCampaignList();\r\n\t}\r\n\r\n\tpublic updateSearch(searchValue: string) {\r\n\t\tthis.table.resetPage();\r\n\t\tthis.campaignParam.pageNo = this.table.page;\r\n\t\tthis.getCampaignList(searchValue);\r\n\t}\r\n\r\n\tpublic addCampaign(): void {\r\n\t\tlocalStorage.removeItem('telin.campaign');\r\n\t\tthis.changeCurrentView(this.currentViews.NewCampaign);\r\n\t}\r\n\r\n\tpublic changeCurrentView(area: MainArea) {\r\n\t\tthis.currentView.emit(area);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscribers.forEach(each => each.unsubscribe());\r\n\t}\r\n}\r\n","export const PlatformOptionConst = [\r\n\t{\r\n\t\ticon: 'icon_wa',\r\n\t\tinputSvgIcon: 'icon-wa-gray',\r\n\t\timage: 'whatsapp.png',\r\n\t\tlabel: 'WhatsApp',\r\n\t\tvalue: 'WA',\r\n\t},\r\n\t{\r\n\t\ticon: 'menu_sms',\r\n\t\tinputSvgIcon: 'icon-sms-gray',\r\n\t\timage: 'sms.png',\r\n\t\tlabel: 'SMS',\r\n\t\tvalue: 'SMS',\r\n\t},\r\n\t{\r\n\t\ticon: 'icon_email',\r\n\t\tinputSvgIcon: 'icon-email-gray',\r\n\t\timage: 'email-contact.png',\r\n\t\tlabel: 'Email',\r\n\t\tvalue: 'EMAIL',\r\n\t},\r\n\t{\r\n\t\ticon: 'icon_line',\r\n\t\tinputSvgIcon: 'icon-line-gray',\r\n\t\timage: 'line.png',\r\n\t\tlabel: 'Line',\r\n\t\tvalue: 'LINE',\r\n\t},\r\n];\r\n\r\nexport const MsgTypeWAOptionConst = [\r\n\t{\r\n\t\tname: 'Text',\r\n\t\tcode: 'TEXT',\r\n\t},\r\n\t{\r\n\t\tname: 'Media',\r\n\t\tcode: 'MEDIA',\r\n\t},\r\n\t{\r\n\t\tname: 'Template',\r\n\t\tcode: 'TEMPLATE',\r\n\t},\r\n\t/* {\r\n\t\tname: 'Catalogue',\r\n\t\tcode: 'CATALOGUE',\r\n\t}, */\r\n];\r\n\r\nexport const MsgTypeEmailOptionConst = [\r\n\t{\r\n\t\tname: 'Text',\r\n\t\tcode: 'HTML',\r\n\t},\r\n\t{\r\n\t\tname: 'Template',\r\n\t\tcode: 'TEMPLATE',\r\n\t},\r\n];\r\n\r\nexport const MsgTypeLineOptionConst = [\r\n\t{\r\n\t\tname: 'Text',\r\n\t\tcode: 'TEXT',\r\n\t},\r\n\t{\r\n\t\tname: 'Template',\r\n\t\tcode: 'TEMPLATE',\r\n\t},\r\n\t/* {\r\n\t\tname: 'Button',\r\n\t\tcode: 'BUTTON',\r\n\t},\r\n\t{\r\n\t\tname: 'Confirmation',\r\n\t\tcode: 'CONFIRMATION',\r\n\t},\r\n\t{\r\n\t\tname: 'Carousel',\r\n\t\tcode: 'CAROUSEL',\r\n\t},\r\n\t{\r\n\t\tname: 'Image Carousel',\r\n\t\tcode: 'IMAGE_CAROUSEL',\r\n\t},\r\n\t{\r\n\t\tname: 'Flex Bubble',\r\n\t\tcode: 'FLEX_BUBBLE',\r\n\t},\r\n\t{\r\n\t\tname: 'Flex Carousel',\r\n\t\tcode: 'FLEX_CAROUSEL',\r\n\t}, */\r\n];\r\n\r\nexport const MediaTypeOptionConst = [\r\n\t{\r\n\t\tname: 'Image',\r\n\t\tcode: 'IMAGE',\r\n\t},\r\n\t{\r\n\t\tname: 'Video',\r\n\t\tcode: 'VIDEO',\r\n\t},\r\n\t{\r\n\t\tname: 'Document',\r\n\t\tcode: 'DOCUMENT',\r\n\t},\r\n\t/* {\r\n\t\tname: 'Location',\r\n\t\tcode: 'LOCATION',\r\n\t}, */\r\n];\r\n\r\nexport const WidgetLiveCampaignConst: {\r\n\ttitle: string;\r\n\tarrow: string;\r\n\tvalue: number;\r\n\tdate: string;\r\n\ticon: string;\r\n\tdateclass: string;\r\n}[] = [\r\n\t{\r\n\t\ttitle: 'Total Campaigns',\r\n\t\tarrow: '../../../../assets/svg/icon-down-arrow.svg',\r\n\t\tvalue: 0,\r\n\t\tdate: '',\r\n\t\ticon: '../../../../assets/svg/icon-total-campaign.svg',\r\n\t\tdateclass: 'redpercent',\r\n\t},\r\n\t{\r\n\t\ttitle: 'Live Campaigns',\r\n\t\tarrow: '../../../../assets/svg/icon-down-arrow.svg',\r\n\t\tvalue: 0,\r\n\t\tdate: '',\r\n\t\ticon: '../../../../assets/svg/icon-use-campaign.svg',\r\n\t\tdateclass: 'redpercent',\r\n\t},\r\n\t{\r\n\t\ttitle: 'Pending Approval',\r\n\t\tarrow: '../../../../assets/svg/icon-down-arrow.svg',\r\n\t\tvalue: 0,\r\n\t\tdate: '',\r\n\t\ticon: '../../../../assets/svg/icon-pending-approval-campaign.svg',\r\n\t\tdateclass: 'redpercent',\r\n\t},\r\n];\r\n\r\nexport const CampaignPerformanceChartConfig = {\r\n\tlegend: {\r\n\t\ticon: 'circle',\r\n\t\torient: 'horizontal',\r\n\t\tx: 'center',\r\n\t\ty: 'bottom',\r\n\t},\r\n\ttooltip: {},\r\n\tdataset: {\r\n\t\tsource: [['', 'WA Text', 'WA Template', 'WA Media', 'Product Catalog']],\r\n\t},\r\n\txAxis: { type: 'category' },\r\n\tyAxis: {},\r\n\tseries: [\r\n\t\t{ type: 'bar', color: '#E666DA' },\r\n\t\t{ type: 'bar', color: '#EB7215' },\r\n\t\t{ type: 'bar', color: '#F3B435' },\r\n\t\t{ type: 'bar', color: '#35CDF3' },\r\n\t],\r\n};\r\n\r\nexport const ConversationInsightsChartConfig = {\r\n\ttooltip: {\r\n\t\ttrigger: 'axis',\r\n\t},\r\n\tlegend: {\r\n\t\ticon: 'circle',\r\n\t\tdata: [\r\n\t\t\t'Delivery Rate of Campaigns',\r\n\t\t\t'Total Number of Campaigns',\r\n\t\t\t'Cost Distribution',\r\n\t\t],\r\n\t\tx: 'center',\r\n\t\ty: 'bottom',\r\n\t},\r\n\txAxis: {\r\n\t\ttype: 'category',\r\n\t\tdata: [],\r\n\t},\r\n\tyAxis: {\r\n\t\ttype: 'value',\r\n\t},\r\n\tseries: [\r\n\t\t{\r\n\t\t\tname: 'Delivery Rate of Campaigns',\r\n\t\t\tdata: [],\r\n\t\t\ttype: 'line',\r\n\t\t\tsmooth: true,\r\n\t\t\titemStyle: { normal: { color: 'blue' } },\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: 'Total Number of Campaigns',\r\n\t\t\tdata: [],\r\n\t\t\ttype: 'line',\r\n\t\t\tsmooth: true,\r\n\t\t\titemStyle: { normal: { color: 'green' } },\r\n\t\t},\r\n\t\t{\r\n\t\t\tname: 'Cost Distribution',\r\n\t\t\tdata: [],\r\n\t\t\ttype: 'line',\r\n\t\t\tsmooth: true,\r\n\t\t\titemStyle: { normal: { color: '#E666DA' } },\r\n\t\t},\r\n\t],\r\n};\r\n","import { WhatsAppAccountDto } from '../../campaign-management/models';\r\n\r\nexport let isLoadingOption: {\r\n\tWA: boolean;\r\n\tSMS: boolean;\r\n\tLINE: boolean;\r\n\tEMAIL: boolean;\r\n\tVOICE: boolean;\r\n} = {\r\n\tWA: false,\r\n\tSMS: false,\r\n\tLINE: false,\r\n\tEMAIL: false,\r\n\tVOICE: false,\r\n};\r\n\r\nexport let isHaveNextOption: {\r\n\tWA: boolean;\r\n\tSMS: boolean;\r\n\tLINE: boolean;\r\n\tEMAIL: boolean;\r\n\tVOICE: boolean;\r\n} = {\r\n\tWA: true,\r\n\tSMS: true,\r\n\tLINE: true,\r\n\tEMAIL: true,\r\n\tVOICE: true,\r\n};\r\n\r\nexport let pageNoOption: {\r\n\tWA: number;\r\n\tSMS: number;\r\n\tLINE: number;\r\n\tEMAIL: number;\r\n\tVOICE: number;\r\n} = {\r\n\tWA: 1,\r\n\tSMS: 1,\r\n\tLINE: 1,\r\n\tEMAIL: 1,\r\n\tVOICE: 1,\r\n};\r\n\r\nexport let optionList: {\r\n\tWA: WhatsAppAccountDto[];\r\n\tSMS: WhatsAppAccountDto[];\r\n\tLINE: WhatsAppAccountDto[];\r\n\tEMAIL: WhatsAppAccountDto[];\r\n\tVOICE: WhatsAppAccountDto[];\r\n} = {\r\n\tWA: [],\r\n\tSMS: [],\r\n\tLINE: [],\r\n\tEMAIL: [],\r\n\tVOICE: [],\r\n};\r\n","export const GeneralInformationMessageValidationConst = {\r\n campaignName: [\r\n { type: 'required', message: 'General Information is required' },\r\n { type: 'maxlength', message: 'Maximum character 100' },\r\n ],\r\n medium: [{ type: 'required', message: 'Channel is required' }],\r\n};\r\n\r\nexport const GeneralInformationWAMessageValidationConst = {\r\n channel: [{ type: 'required', message: 'Message Type is required' }],\r\n from: [{ type: 'required', message: 'From is required' }],\r\n text: [{ type: 'required', message: 'Text is required' }],\r\n media: [{ type: 'required', message: 'Media Type is required' }],\r\n fileName: [{ type: 'required', message: 'File is required' }],\r\n template: [{ type: 'required', message: 'Template is required' }],\r\n category: [{ type: 'required', message: 'Category is required' }],\r\n catalogue: [{ type: 'required', message: 'Catalog is required' }],\r\n product: [{ type: 'required', message: 'Product is required' }],\r\n body: [{ type: 'maxlength', message: 'Maximum character 100' }],\r\n};\r\n\r\nexport const GeneralInformationEmailMessageValidationConst = {\r\n channel: [{ type: 'required', message: 'Message Type is required' }],\r\n from: [{ type: 'required', message: 'From is required' }],\r\n text: [{ type: 'required', message: 'Text is required' }],\r\n template: [{ type: 'required', message: 'Template is required' }],\r\n};\r\n\r\nexport const GeneralInformationSMSMessageValidationConst = {\r\n channel: [{ type: 'required', message: 'Message Type is required' }],\r\n from: [{ type: 'required', message: 'From is required' }],\r\n text: [{ type: 'required', message: 'Text is required' }],\r\n template: [{ type: 'required', message: 'Template is required' }],\r\n};\r\n\r\nexport const GeneralInformationLineMessageValidationConst = {\r\n channel: [{ type: 'required', message: 'Message Type is required' }],\r\n from: [{ type: 'required', message: 'From is required' }],\r\n text: [{ type: 'required', message: 'Text is required' }],\r\n template: [{ type: 'required', message: 'Template is required' }],\r\n};\r\n\r\nexport const FailoverMechanismValidationConst = {\r\n interval: [\r\n { type: 'required', message: 'Interval Time is required' },\r\n {\r\n type: 'intervalTime',\r\n message: 'Must be greater than 0 and without decimal',\r\n },\r\n ],\r\n type: [{ type: 'required', message: 'Main Rules is required' }],\r\n accountId: [{ type: 'required', message: 'Account is required' }],\r\n subject: [{ type: 'required', message: 'Subject is required' }],\r\n message: [{ type: 'required', message: 'Message is required' }],\r\n templateName: [{ type: 'required', message: 'Template is required' }],\r\n};\r\n\r\nexport const SchedulerMessageValidationConst = {\r\n startDate: [{ type: 'required', message: 'Select Date is required' }],\r\n startTime: [{ type: 'required', message: 'Select Time is required' }],\r\n};\r\n","export enum EnumData {\r\n\tGOOGLE_MAP_API_KEY = 'AIzaSyCHReBe_RpzAgLTrUC5QIDyeKttQ817wRY',\r\n\r\n\t// MEDIUM TYPES\r\n\tMEDIUM_TYPE_WHATSAPP = 'WHATSAPP',\r\n\r\n\t// MEDIA TYPE\r\n\tMEDIA_TYPE_IMAGE = 'IMAGE',\r\n\tMEDIA_TYPE_VIDEO = 'VIDEO',\r\n\tMEDIA_TYPE_DOCUMENT = 'DOCUMENT',\r\n\tMEDIA_TYPE_LOCATION = 'LOCATION',\r\n\r\n\t// SCHEDULER TYPES\r\n\tSCHEDULER_TYPE_NOW = 'NOW',\r\n\tSCHEDULER_TYPE_SINGLE = 'SINGLE',\r\n\tSCHEDULER_TYPE_MULTIPLE = 'MULTIPLE',\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\n\r\n@Injectable()\r\nexport class CustomPaginator extends MatPaginatorIntl {\r\n\titemsPerPageLabel = 'Listing per Page';\r\n\r\n\tgetRangeLabel = function (page, pageSize, length) {\r\n\t\tif (length === 0 || pageSize === 0) {\r\n\t\t\treturn 'Show 0';\r\n\t\t}\r\n\r\n\t\tlength = Math.max(length, 0);\r\n\r\n\t\tconst startIndex = page * pageSize;\r\n\t\tconst endIndex =\r\n\t\t\tstartIndex < length\r\n\t\t\t\t? Math.min(startIndex + pageSize, length)\r\n\t\t\t\t: startIndex + pageSize;\r\n\t\tconst sumStartIndex = startIndex + 1;\r\n\r\n\t\treturn 'Show ' + sumStartIndex + ' - ' + endIndex;\r\n\t};\r\n}\r\n","import { BaseOptionModel } from '../models';\r\n\r\nexport const generateEnumOption = (enumObject: Object): BaseOptionModel[] => {\r\n\tif (!enumObject) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\treturn Object.keys(enumObject).reduce((result, each) => {\r\n\t\tif (isNaN(Number(each))) {\r\n\t\t\tconst inputOption = new BaseOptionModel();\r\n\t\t\tconst label = each\r\n\t\t\t\t.replace(/([A-Z])/g, ' $1')\r\n\t\t\t\t.replace(/([0-9])/g, ' $1');\r\n\r\n\t\t\tinputOption.label = label;\r\n\r\n\t\t\tif (isNaN(Number(enumObject[each]))) {\r\n\t\t\t\tinputOption.value = enumObject[each];\r\n\t\t\t} else {\r\n\t\t\t\tinputOption.value = Number(enumObject[each]);\r\n\t\t\t}\r\n\r\n\t\t\tresult.push(inputOption);\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}, []);\r\n};\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInjectable,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n} from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport { PlatformOptionConst } from '../../../../../core/const';\r\nimport { StatusCampaignEnum } from '../../../../../core/enums';\r\nimport { BaseOptionModel } from '../../../../../core/models';\r\nimport { Parameter } from '../../../../../core/models/util/api-adapter-service-models';\r\nimport { AppResponse } from '../../../../../core/models/util/api-dto/response-models';\r\nimport { ApiAdapterServiceService } from '../../../../../core/services';\r\nimport { generateEnumOption } from '../../../../../core/util';\r\nimport { TemplateWAModel } from '../../../../models';\r\nimport { ClientDto } from '../../models';\r\n\r\n@Component({\r\n\tselector: 'lib-filter-in-list-of-campaign',\r\n\ttemplateUrl: './filter-in-list-of-campaign.component.html',\r\n\tstyleUrls: ['./filter-in-list-of-campaign.component.scss'],\r\n})\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class FilterInListOfCampaignComponent implements OnInit, OnDestroy {\r\n\t@Output()\r\n\tpublic onChangeFilter: EventEmitter<string>;\r\n\r\n\t@Output()\r\n\tpublic closeDropdown: EventEmitter<void>;\r\n\r\n\tpublic form: FormGroup;\r\n\tpublic channelOption: any[] = PlatformOptionConst;\r\n\tpublic businessNameOption: ClientDto[] = [];\r\n\tpublic statusOption: BaseOptionModel[] = [];\r\n\tpublic templateOption: TemplateWAModel[] = [];\r\n\tpublic isHaveNextTemplateOption: boolean = true;\r\n\tpublic isLoadingTemplateOption: boolean = false;\r\n\r\n\tprivate pageNoTemplateOption: number = 1;\r\n\tprivate subscribers: Subscription[] = [];\r\n\r\n\t@Input()\r\n\tpublic filterValue: any;\r\n\r\n\tconstructor(private apiAdapterService: ApiAdapterServiceService) {\r\n\t\tthis.closeDropdown = new EventEmitter();\r\n\t\tthis.onChangeFilter = new EventEmitter();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.statusOption = generateEnumOption(StatusCampaignEnum);\r\n\r\n\t\tthis.initForm();\r\n\t\tthis.getBusinessNameOptionService();\r\n\t}\r\n\r\n\tprivate initForm(): void {\r\n\t\tthis.form = new FormGroup({\r\n\t\t\tbusinessName: new FormControl(this.filterValue?.businessName ?? ''),\r\n\t\t\tmedium: new FormControl(this.filterValue?.medium ?? ''),\r\n\t\t\ttemplateName: new FormControl(this.filterValue?.templateName ?? ''),\r\n\t\t\tstatus: new FormControl(this.filterValue?.status ?? ''),\r\n\t\t\tstartDate: new FormControl(this.filterValue?.startDate ?? ''),\r\n\t\t\tendDate: new FormControl(this.filterValue?.endDate ?? ''),\r\n\t\t});\r\n\r\n\t\tif (this.filterValue?.templateName)\r\n\t\t\tthis.templateOption = [\r\n\t\t\t\t...this.templateOption,\r\n\t\t\t\tthis.filterValue?.templateName,\r\n\t\t\t];\r\n\t}\r\n\r\n\tpublic getBusinessNameOptionService(): void {\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(\r\n\t\t\t\t[],\r\n\t\t\t\t'/admin/client/all-with-child?pageNo=1&rowPerPage=1000',\r\n\t\t\t\t'GET'\r\n\t\t\t)\r\n\t\t\t.subscribe((res: AppResponse<ClientDto[]>) => {\r\n\t\t\t\tthis.businessNameOption = res.data;\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tpublic getTemplateOptionService(\r\n\t\tfilter: string = '',\r\n\t\tisInfinite: boolean = false\r\n\t): void {\r\n\t\tthis.isLoadingTemplateOption = true;\r\n\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\tthis.initParam('pageNo', this.pageNoTemplateOption, 'number'),\r\n\t\t\tthis.initParam('rowPerPage', 20, 'number'),\r\n\t\t\tthis.initParam('platform', this.form.get('medium').value, 'string'),\r\n\t\t\tthis.initParam('filter', filter, 'string'),\r\n\t\t\tthis.initParam('status', 'APPROVED', 'string'),\r\n\t\t];\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(parameterList, '/message/template', 'GET')\r\n\t\t\t.subscribe((resp: AppResponse<TemplateWAModel[]>) => {\r\n\t\t\t\tthis.templateOption = isInfinite\r\n\t\t\t\t\t? [...this.templateOption, ...resp.data]\r\n\t\t\t\t\t: resp.data;\r\n\t\t\t\tthis.isHaveNextTemplateOption = resp.haveNext;\r\n\t\t\t\tthis.isLoadingTemplateOption = false;\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tprivate initParam(_name: string, _value: any, _type: string): Parameter {\r\n\t\treturn {\r\n\t\t\tname: _name,\r\n\t\t\tvalue: _value,\r\n\t\t\tin: 'query',\r\n\t\t\ttype: _type,\r\n\t\t};\r\n\t}\r\n\r\n\tpublic getNextTemplateBatch() {\r\n\t\tif (!this.isHaveNextTemplateOption) return;\r\n\r\n\t\tthis.pageNoTemplateOption += 1;\r\n\t\tthis.getTemplateOptionService('', true);\r\n\t}\r\n\r\n\tpublic templateSelectedDisplay(\r\n\t\tattribute1: TemplateWAModel,\r\n\t\tattribute2: TemplateWAModel\r\n\t): string {\r\n\t\treturn attribute1 && attribute2 && attribute1.name == attribute2.name\r\n\t\t\t? `${attribute1.name}`\r\n\t\t\t: '';\r\n\t}\r\n\r\n\tpublic templateSearch(searchValue: string): void {\r\n\t\tthis.pageNoTemplateOption = 1;\r\n\t\tthis.getTemplateOptionService(searchValue);\r\n\t}\r\n\r\n\tpublic clearDate(): void {\r\n\t\tthis.form.get('startDate').setValue(null);\r\n\t\tthis.form.get('endDate').setValue(null);\r\n\t}\r\n\r\n\tpublic validateBackDate(): void {\r\n\t\tif (new Date(this.form.get('startDate').value).getTime() > new Date(this.form.get('endDate').value).getTime())\r\n\t\t\tthis.form.get('endDate').setValue('');\r\n\t}\r\n\r\n\tpublic onReset(): void {\r\n\t\tthis.form.reset();\r\n\t\tthis.onChangeFilter.emit(this.form.getRawValue());\r\n\t}\r\n\r\n\tpublic onCancel(): void {\r\n\t\tthis.closeDropdown.emit();\r\n\t}\r\n\r\n\tpublic onApply(): void {\r\n\t\tthis.onChangeFilter.emit(this.form.getRawValue());\r\n\t\tthis.closeDropdown.emit();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscribers.forEach(each => each.unsubscribe());\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedServicesService {\r\n\r\n private subject = new Subject<any>();\r\n\r\n sendClickEvent(){\r\n this.subject.next();\r\n }\r\n\r\n getEvent(): Observable<any>{\r\n return this.subject.asObservable();\r\n }\r\n\r\n constructor() { }\r\n}\r\n","export class ConfirmationModel {\r\n public title: string;\r\n public content: string;\r\n public btnSubmit: string;\r\n public btnSubmitRed: string;\r\n public btnCancel: string;\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { SharedServicesService } from '../../../global/confirmation/shared/shared-services.service';\r\nimport { ConfirmationModel } from '../shared/model';\r\n\r\n@Component({\r\n\tselector: 'app-confirmation',\r\n\ttemplateUrl: './confirmation.component.html',\r\n\tstyleUrls: ['./confirmation.component.scss'],\r\n})\r\nexport class ConfirmationComponent {\r\n\tconstructor(\r\n\t\t@Inject(MAT_DIALOG_DATA)\r\n\t\tpublic data: ConfirmationModel,\r\n\t\tprivate sharedService: SharedServicesService\r\n\t) {}\r\n\r\n\tdeleteRowOn() {\r\n\t\tthis.sharedService.sendClickEvent();\r\n\t}\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { AppResponse } from '../../../../../core/models/util/api-dto/response-models';\r\nimport { ApiAdapterServiceService } from '../../../../../core/services';\r\n\r\n@Component({\r\n\tselector: 'lib-pending-approval-dialog-view',\r\n\ttemplateUrl: './pending-approval-dialog-view.component.html',\r\n\tstyleUrls: ['./pending-approval-dialog-view.component.scss'],\r\n})\r\nexport class PendingApprovalDialogViewComponent implements OnInit, OnDestroy {\r\n\tpublic isLoading: boolean = false;\r\n\tpublic isSubmit: boolean = false;\r\n\tpublic isShowButton: boolean = false;\r\n\r\n\tprivate subscribers: Subscription[] = [];\r\n\r\n\tconstructor(\r\n\t\tprivate dialogRef: MatDialogRef<PendingApprovalDialogViewComponent>,\r\n\t\tprivate apiAdapterService: ApiAdapterServiceService,\r\n\t\tprivate toastr: ToastrService\r\n\t) {}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.getCampaignDetailService();\r\n\r\n\t\tthis.isShowButton =\r\n\t\t\tthis.getCampaignStorage?.generalInformation?.isShowButton ?? false;\r\n\t}\r\n\r\n\tget getCampaignStorage(): any {\r\n\t\treturn localStorage.getItem('telin.campaign')\r\n\t\t\t? JSON.parse(localStorage.getItem('telin.campaign'))\r\n\t\t\t: {};\r\n\t}\r\n\r\n\tprivate convertUTCDateToLocalDate(date: Date) {\r\n\t\tconst newDate = new Date(\r\n\t\t\tdate.getTime() - date.getTimezoneOffset() * 60 * 1000\r\n\t\t);\r\n\t\treturn newDate;\r\n\t}\r\n\r\n\tprivate getCampaignDetailService(): void {\r\n\t\tif (!this.getCampaignStorage?.generalInformation?.id) return;\r\n\r\n\t\tthis.isLoading = true;\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(\r\n\t\t\t\t[],\r\n\t\t\t\t`/campaign/${this.getCampaignStorage?.generalInformation?.id}`,\r\n\t\t\t\t'GET'\r\n\t\t\t)\r\n\t\t\t.subscribe(\r\n\t\t\t\t(resp: AppResponse<any>) => {\r\n\t\t\t\t\tif (!resp) return;\r\n\r\n\t\t\t\t\tconst generalInformation = {\r\n\t\t\t\t\t\tcampaignName: resp.data?.name,\r\n\t\t\t\t\t\tmedium: resp.data?.platform,\r\n\t\t\t\t\t\tchannel: ['image', 'video', 'document'].includes(\r\n\t\t\t\t\t\t\tresp.data?.type\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t? 'MEDIA'\r\n\t\t\t\t\t\t\t: resp.data?.type?.toUpperCase(),\r\n\t\t\t\t\t\tmedia: resp.data?.type?.toUpperCase(),\r\n\t\t\t\t\t\tfrom: {\r\n\t\t\t\t\t\t\tid: resp.data?.accountId,\r\n\t\t\t\t\t\t\tname: resp.data?.accountName,\r\n\t\t\t\t\t\t\tplatform: resp.data?.platform,\r\n\t\t\t\t\t\t\tclientId: resp.data?.clientId,\r\n\t\t\t\t\t\t\tclientName: resp.data?.clientName,\r\n\t\t\t\t\t\t\taccountNo: resp.data?.accountNo,\r\n\t\t\t\t\t\t\twabaId: resp.data?.wabaId ?? '',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\ttext: resp.data?.details?.text,\r\n\t\t\t\t\t\ttargetURL:\r\n\t\t\t\t\t\t\tresp.data?.details?.image?.url ??\r\n\t\t\t\t\t\t\tresp.data?.details?.document?.url ??\r\n\t\t\t\t\t\t\tresp.data?.details?.video?.url ??\r\n\t\t\t\t\t\t\tresp.data?.details?.template?.headerURL,\r\n\t\t\t\t\t\tparamHeader: resp.data?.details?.template?.header,\r\n\t\t\t\t\t\tparamBody: resp.data?.details?.template?.data,\r\n\t\t\t\t\t\tparamButton: resp.data?.details?.template?.button,\r\n\t\t\t\t\t\totpValue: [\r\n\t\t\t\t\t\t\t...(resp.data?.details?.template?.data ?? []),\r\n\t\t\t\t\t\t]?.pop(),\r\n\t\t\t\t\t\ttemplate: {\r\n\t\t\t\t\t\t\tID: resp.data?.details?.template?.id,\r\n\t\t\t\t\t\t\tname: resp.data?.details?.template?.name,\r\n\t\t\t\t\t\t\tlang: resp.data?.details?.template?.lang,\r\n\t\t\t\t\t\t\tplatform: resp.data?.platform,\r\n\t\t\t\t\t\t\theaderURL: resp.data?.details?.template?.headerURL,\r\n\t\t\t\t\t\t\theader: {\r\n\t\t\t\t\t\t\t\texamples: resp.data?.details?.template?.header,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tbody: {\r\n\t\t\t\t\t\t\t\texamples: resp.data?.details?.template?.data,\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tbuttons: resp.data?.details?.template?.button,\r\n\t\t\t\t\t\t\tClientId: resp.data?.clientId,\r\n\t\t\t\t\t\t\tClientName: resp.data?.clientName,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tisUpload: resp.data?.fileId !== '',\r\n\t\t\t\t\t\tfileId: resp.data?.fileId,\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tlocalStorage.setItem(\r\n\t\t\t\t\t\t'telin.campaign',\r\n\t\t\t\t\t\tJSON.stringify({\r\n\t\t\t\t\t\t\t...this.getCampaignStorage,\r\n\t\t\t\t\t\t\t...{\r\n\t\t\t\t\t\t\t\tgeneralInformation: {\r\n\t\t\t\t\t\t\t\t\tid: resp.data?.id,\r\n\t\t\t\t\t\t\t\t\tform: generalInformation,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tfailover: resp.data?.failover,\r\n\t\t\t\t\t\t\t\ttargetAudience: resp.data?.targets,\r\n\t\t\t\t\t\t\t\ttargetAudienceFile: {\r\n\t\t\t\t\t\t\t\t\tname: resp.data?.fileName,\r\n\t\t\t\t\t\t\t\t\ttargetURL: resp.data?.targetURL,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tscheduler: {\r\n\t\t\t\t\t\t\t\t\tschedulerType:\r\n\t\t\t\t\t\t\t\t\t\tresp.data?.scheduleType === 'MULTI'\r\n\t\t\t\t\t\t\t\t\t\t\t? 'ONE_TIME'\r\n\t\t\t\t\t\t\t\t\t\t\t: resp.data?.scheduleType,\r\n\t\t\t\t\t\t\t\t\tstartDate:\r\n\t\t\t\t\t\t\t\t\t\tresp.data?.startTime?.split(' ')[0],\r\n\t\t\t\t\t\t\t\t\tstartTime:\r\n\t\t\t\t\t\t\t\t\t\tresp.data?.startTime?.split(' ')[1],\r\n\t\t\t\t\t\t\t\t\tisRepeat:\r\n\t\t\t\t\t\t\t\t\t\tresp.data?.scheduleType === 'MULTI',\r\n\t\t\t\t\t\t\t\t\tdelivery: resp.data?.repeat,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tthis.isLoading = false;\r\n\t\t\t\t},\r\n\t\t\t\t() => {\r\n\t\t\t\t\tthis.isLoading = false;\r\n\t\t\t\t}\r\n\t\t\t);\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tpublic rejectCampaignService(): void {\r\n\t\tthis.isSubmit = true;\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(\r\n\t\t\t\t[],\r\n\t\t\t\t`/campaign/${this.getCampaignStorage?.generalInformation?.id}/reject`,\r\n\t\t\t\t'POST'\r\n\t\t\t)\r\n\t\t\t.subscribe(\r\n\t\t\t\t(resp: AppResponse<any>) => {\r\n\t\t\t\t\tthis.isSubmit = false;\r\n\r\n\t\t\t\t\tif (!resp || !resp?.data)\r\n\t\t\t\t\t\treturn this.toastr.error('Error Rejecting Campaign!');\r\n\r\n\t\t\t\t\tthis.toastr.success('Campaign Rejected Successfully!');\r\n\t\t\t\t\tthis.onClose();\r\n\t\t\t\t},\r\n\t\t\t\t() => {\r\n\t\t\t\t\tthis.toastr.error('Error Rejecting Campaign!');\r\n\t\t\t\t\tthis.isSubmit = false;\r\n\t\t\t\t}\r\n\t\t\t);\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tpublic approveCampaignService(): void {\r\n\t\tthis.isSubmit = true;\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(\r\n\t\t\t\t[],\r\n\t\t\t\t`/campaign/${this.getCampaignStorage?.generalInformation?.id}/approve`,\r\n\t\t\t\t'POST'\r\n\t\t\t)\r\n\t\t\t.subscribe(\r\n\t\t\t\t(resp: AppResponse<any>) => {\r\n\t\t\t\t\tthis.isSubmit = false;\r\n\r\n\t\t\t\t\tif (!resp || !resp?.data)\r\n\t\t\t\t\t\treturn this.toastr.error('Error Approving Campaign!');\r\n\r\n\t\t\t\t\tthis.toastr.success('Campaign Approved Successfully!');\r\n\t\t\t\t\tthis.onClose();\r\n\t\t\t\t},\r\n\t\t\t\t() => {\r\n\t\t\t\t\tthis.toastr.error('Error Approving Campaign!');\r\n\t\t\t\t\tthis.isSubmit = false;\r\n\t\t\t\t}\r\n\t\t\t);\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tpublic onClose(): void {\r\n\t\tlocalStorage.removeItem('telin.campaign');\r\n\t\tthis.dialogRef.close();\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscribers.forEach(each => each.unsubscribe());\r\n\t}\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n\tViewChild,\r\n} from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { MainArea } from '../../../../../core/enums';\r\nimport { ApiAdapterServiceService } from '../../../../../core/services';\r\nimport { ConfirmationComponent } from '../../../../../global/confirmation/confirmation';\r\nimport { ConfirmationModel } from '../../../../../global/confirmation/shared/model';\r\nimport { PendingApprovalDialogViewComponent } from '../../dialog/pending-approval-dialog-view';\r\nimport { CampaignsListModel, TableModel } from '../../models';\r\nimport { CampaignResponseDtoApi } from '../../models/campaign-response-dto.model';\r\n\r\n@Component({\r\n\tselector: 'lib-viewing-list-of-campaign-table',\r\n\ttemplateUrl: './viewing-list-of-campaign-table.component.html',\r\n\tstyleUrls: ['./viewing-list-of-campaign-table.component.scss'],\r\n})\r\nexport class ViewingListOfCampaignTableComponent implements OnInit, OnDestroy {\r\n\t@Output() currentView = new EventEmitter<MainArea>();\r\n\r\n\t@Output() updateTable = new EventEmitter<void>();\r\n\r\n\tprivate currentViews = MainArea;\r\n\tprivate subscribers: Subscription[] = [];\r\n\r\n\t@Input() public table: TableModel;\r\n\r\n\t@ViewChild(MatSort, { static: false }) public matSort: MatSort;\r\n\r\n\tconstructor(\r\n\t\tprivate dialog: MatDialog,\r\n\t\tprivate apiAdapterService: ApiAdapterServiceService,\r\n\t\tprivate toastr: ToastrService\r\n\t) {}\r\n\r\n\tngOnInit(): void {}\r\n\r\n\tpublic sort(): void {\r\n\t\tthis.table.dataSource.sort = this.matSort;\r\n\t}\r\n\r\n\tpublic actionRow(row: CampaignsListModel, action: string): void {\r\n\t\tswitch (action) {\r\n\t\t\tcase 'pause':\r\n\t\t\t\tthis.campaignConfirmationDialog(row.id, {\r\n\t\t\t\t\ttitle: 'Pause Campaign',\r\n\t\t\t\t\tcontent: 'Are you sure you want to Pause this Campaign?',\r\n\t\t\t\t\turl: `/campaign/${row.id}/pause`,\r\n\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\tmessage: 'Selected campaign is successfully paused',\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'stop':\r\n\t\t\t\tthis.campaignConfirmationDialog(row.id, {\r\n\t\t\t\t\ttitle: 'Stop Campaign',\r\n\t\t\t\t\tcontent: 'Are you sure you want to Stop this Campaign?',\r\n\t\t\t\t\turl: `/campaign/${row.id}/stop`,\r\n\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\tmessage: 'Selected campaign is successfully stop',\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'delete':\r\n\t\t\t\tif (row.status !== 'COMPLETED') {\r\n\t\t\t\t\tthis.campaignConfirmationDialog(row.id, {\r\n\t\t\t\t\t\ttitle: 'Delete Campaign',\r\n\t\t\t\t\t\tcontent:\r\n\t\t\t\t\t\t\t'Are you sure you want to Delete this Campaign?',\r\n\t\t\t\t\t\turl: `/campaign/${row.id}/delete`,\r\n\t\t\t\t\t\tmethod: 'DELETE',\r\n\t\t\t\t\t\tmessage: 'Selected campaign is successfully deleted',\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'live':\r\n\t\t\t\tthis.campaignConfirmationDialog(row.id, {\r\n\t\t\t\t\ttitle: 'Resume Campaign',\r\n\t\t\t\t\tcontent: 'Are you sure you want to Resume this Campaign?',\r\n\t\t\t\t\turl: `/campaign/${row.id}/resume`,\r\n\t\t\t\t\tmethod: 'POST',\r\n\t\t\t\t\tmessage: 'Selected campaign is successfully resume',\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate campaignConfirmationDialog(\r\n\t\tid: string,\r\n\t\tdata: {\r\n\t\t\ttitle: string;\r\n\t\t\tcontent: string;\r\n\t\t\turl: string;\r\n\t\t\tmethod: string;\r\n\t\t\tmessage: string;\r\n\t\t}\r\n\t): void {\r\n\t\tconst confirmation = new ConfirmationModel();\r\n\t\tconfirmation.title = data.title;\r\n\t\tconfirmation.content = data.content;\r\n\t\tconfirmation.btnSubmit = 'Yes';\r\n\t\tconfirmation.btnCancel = 'No';\r\n\r\n\t\tconst subs = this.dialog\r\n\t\t\t.open(ConfirmationComponent, {\r\n\t\t\t\tautoFocus: false,\r\n\t\t\t\tbackdropClass: 'overlay-backdrop-dialog',\r\n\t\t\t\tdata: confirmation,\r\n\t\t\t})\r\n\t\t\t.afterClosed()\r\n\t\t\t.subscribe(resp => {\r\n\t\t\t\tif (!resp) return;\r\n\r\n\t\t\t\tthis.campaignService(data);\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tprivate campaignService(data: {\r\n\t\turl: string;\r\n\t\tmethod: string;\r\n\t\tmessage: string;\r\n\t}): void {\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest([], data.url, data.method)\r\n\t\t\t.subscribe(() => {\r\n\t\t\t\tthis.toastr.error(data.message);\r\n\t\t\t\tthis.updateTable.emit();\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\teditCampaign(row: CampaignsListModel): void {\r\n\t\tlocalStorage.removeItem('telin.campaign');\r\n\t\twindow.history.replaceState({}, '', `/secure/campaign/${row.id}`);\r\n\t\tthis.currentView.emit(this.currentViews.NewCampaign);\r\n\t}\r\n\r\n\tpublic openViewDialog(\r\n\t\trow: CampaignResponseDtoApi,\r\n\t\tisShowButton: boolean = false\r\n\t): void {\r\n\t\tlocalStorage.setItem(\r\n\t\t\t'telin.campaign',\r\n\t\t\tJSON.stringify({\r\n\t\t\t\tgeneralInformation: {\r\n\t\t\t\t\tid: row?.id,\r\n\t\t\t\t\tisShowButton: isShowButton,\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\tconst subs = this.dialog\r\n\t\t\t.open(PendingApprovalDialogViewComponent, {\r\n\t\t\t\tautoFocus: false,\r\n\t\t\t\theight: 'calc(100% - 30px)',\r\n\t\t\t\twidth: 'calc(100% - 30px)',\r\n\t\t\t\tmaxWidth: '100%',\r\n\t\t\t\tmaxHeight: '100%',\r\n\t\t\t\tbackdropClass: 'overlay-backdrop-dialog',\r\n\t\t\t})\r\n\t\t\t.afterClosed()\r\n\t\t\t.subscribe(() => {\r\n\t\t\t\tthis.updateTable.emit();\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tprivate convertUTCDateToLocalDate(date: Date) {\r\n\t\tconst newDate = new Date(\r\n\t\t\tdate.getTime() - date.getTimezoneOffset() * 60 * 1000\r\n\t\t);\r\n\t\treturn newDate;\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscribers.forEach(each => each.unsubscribe());\r\n\t}\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport {\r\n\tNgbDropdownModule,\r\n\tNgbPaginationModule,\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport { MatSelectInfiniteScrollDirective } from '../../../core/directives';\r\nimport { SearchModule } from '../../../global/search/search.module';\r\nimport { CampaignIndexComponent } from './campaign-index.component';\r\nimport { FilterInListOfCampaignComponent } from './component/filter-in-list-of-campaign';\r\nimport { ViewingListOfCampaignTableComponent } from './component/viewing-list-of-campaign-table';\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tViewingListOfCampaignTableComponent,\r\n\t\tFilterInListOfCampaignComponent,\r\n\t\tCampaignIndexComponent,\r\n\t\tMatSelectInfiniteScrollDirective,\r\n\t],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatInputModule,\r\n\t\tMatDatepickerModule,\r\n\t\tMatTableModule,\r\n\t\tMatSortModule,\r\n\t\tMatPaginatorModule,\r\n\t\tMatDialogModule,\r\n\t\tMatTabsModule,\r\n\t\tMatCardModule,\r\n\t\tMatCheckboxModule,\r\n\t\tMatSelectModule,\r\n\t\tMatRadioModule,\r\n\t\tMatButtonModule,\r\n\t\tMatIconModule,\r\n\t\tMatChipsModule,\r\n\t\tNgbPaginationModule,\r\n\t\tNgbDropdownModule,\r\n\t\tMatChipsModule,\r\n\t\tMatGridListModule,\r\n\t\tMatNativeDateModule,\r\n\t\tSearchModule,\r\n\t\tMatToolbarModule,\r\n\t\tMatTooltipModule,\r\n\t],\r\n\texports: [CampaignIndexComponent, MatSelectInfiniteScrollDirective],\r\n})\r\nexport class CampaignIndexModule {}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n} from '@angular/core';\r\nimport { EChartsOption } from 'echarts';\r\nimport { Subscription } from 'rxjs';\r\nimport {\r\n\tCampaignPerformanceChartConfig,\r\n\tConversationInsightsChartConfig,\r\n\tPlatformOptionConst,\r\n\tWidgetLiveCampaignConst,\r\n} from '../../../core/const';\r\nimport { PastTimeEnum } from '../../../core/enums';\r\nimport { MainArea } from '../../../core/enums/main-area.enum';\r\nimport { Parameter } from '../../../core/models/util/api-adapter-service-models';\r\nimport { AppResponse } from '../../../core/models/util/api-dto/response-models/app-response';\r\nimport { AppResponseAdl } from '../../../core/models/util/api-dto/response-models/app-response-adl';\r\nimport { ApiAdapterServiceService } from '../../../core/services';\r\nimport { CampaignCountFinalResponseDtoExternal } from '../../models/campaign-count-final-response-dto.model';\r\nimport { ConversationChartResponseDto } from '../campaign-index/models/conversation-chart-response-dto.model';\r\nimport { PerformanceChartResponseDto } from '../campaign-index/models/performance-chart-response-dto.model';\r\n\r\n@Component({\r\n\tselector: 'lib-dashboard',\r\n\ttemplateUrl: './dashboard.component.html',\r\n\tstyleUrls: ['./dashboard.component.scss'],\r\n})\r\nexport class DashboardComponent implements OnInit, OnDestroy {\r\n\tpublic currentViews = MainArea;\r\n\tpublic pastTime = PastTimeEnum;\r\n\r\n\tpublic channelOption: any[] = PlatformOptionConst;\r\n\tpublic performanceCategories: string[] = [];\r\n\tpublic totalCmpn: number[] = [];\r\n\tpublic deliveryRt: number[] = [];\r\n\tpublic costDesc: number[] = [];\r\n\tpublic convsData: any[][] = [];\r\n\r\n\tpublic widgetLiveCampaign = WidgetLiveCampaignConst;\r\n\tpublic conversationChartData: EChartsOption;\r\n\tpublic performanceChartData: EChartsOption;\r\n\tpublic selectedPlatform: any = '';\r\n\tpublic filterEvent: any = 'currentWeek';\r\n\r\n\tprivate subscribers: Subscription[] = [];\r\n\r\n\t@Output() currentView = new EventEmitter<MainArea>();\r\n\r\n\tconstructor(private apiAdapterService: ApiAdapterServiceService) {}\r\n\r\n\tngOnInit(): void {}\r\n\r\n\tpublic changeCurrentView(area: MainArea) {\r\n\t\tthis.currentView.emit(area);\r\n\t}\r\n\r\n\tpublic filterChart(event: string) {\r\n\t\tif (!this.selectedPlatform) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst timeUnit =\r\n\t\t\tevent == PastTimeEnum.Today\r\n\t\t\t\t? 'daily'\r\n\t\t\t\t: event == PastTimeEnum.CurrentWeek\r\n\t\t\t\t? 'weekly'\r\n\t\t\t\t: event == PastTimeEnum.CurrentMonth\r\n\t\t\t\t? 'monthly'\r\n\t\t\t\t: '';\r\n\r\n\t\t/* const parameterList: Array<Parameter> = [\r\n\t\t\t{\r\n\t\t\t\tname: 'timeUnit',\r\n\t\t\t\tvalue: timeUnit,\r\n\t\t\t\tin: 'query',\r\n\t\t\t\ttype: 'String',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'clientId',\r\n\t\t\t\tvalue: localStorage.getItem('telin.clientId'),\r\n\t\t\t\tin: 'query',\r\n\t\t\t\ttype: 'String',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'platform',\r\n\t\t\t\tvalue: this.selectedPlatform,\r\n\t\t\t\tin: 'query',\r\n\t\t\t\ttype: 'String',\r\n\t\t\t},\r\n\t\t]; */\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest([], '/campaign/count', 'GET')\r\n\t\t\t.subscribe(\r\n\t\t\t\t(res: AppResponse<CampaignCountFinalResponseDtoExternal>) => {\r\n\t\t\t\t\tconst date =\r\n\t\t\t\t\t\t(res?.data?.totalCampaignPercent ?? 0) +\r\n\t\t\t\t\t\t'% Since ' +\r\n\t\t\t\t\t\tthis.getStatictsWidgetString(event);\r\n\r\n\t\t\t\t\tthis.widgetLiveCampaign[0].arrow =\r\n\t\t\t\t\t\tres?.data?.totalCampaignPercent > 0\r\n\t\t\t\t\t\t\t? '../../../../assets/svg/icon-up-arrow.svg'\r\n\t\t\t\t\t\t\t: '../../../../assets/svg/icon-down-arrow.svg';\r\n\t\t\t\t\tthis.widgetLiveCampaign[0].value =\r\n\t\t\t\t\t\tres?.data?.totalCampaign ?? 0;\r\n\t\t\t\t\tthis.widgetLiveCampaign[0].date = date;\r\n\t\t\t\t\tthis.widgetLiveCampaign[0].dateclass =\r\n\t\t\t\t\t\tres?.data?.totalCampaignPercent > 0\r\n\t\t\t\t\t\t\t? 'greenpercent'\r\n\t\t\t\t\t\t\t: 'redpercent';\r\n\r\n\t\t\t\t\tthis.widgetLiveCampaign[1].arrow =\r\n\t\t\t\t\t\tres?.data?.totalCampaignPercent > 0\r\n\t\t\t\t\t\t\t? '../../../../assets/svg/icon-up-arrow.svg'\r\n\t\t\t\t\t\t\t: '../../../../assets/svg/icon-down-arrow.svg';\r\n\t\t\t\t\tthis.widgetLiveCampaign[1].value =\r\n\t\t\t\t\t\tres?.data?.totalLive ?? 0;\r\n\t\t\t\t\tthis.widgetLiveCampaign[1].date = date;\r\n\t\t\t\t\tthis.widgetLiveCampaign[1].dateclass =\r\n\t\t\t\t\t\tres?.data?.totalCampaignPercent > 0\r\n\t\t\t\t\t\t\t? 'greenpercent'\r\n\t\t\t\t\t\t\t: 'redpercent';\r\n\r\n\t\t\t\t\tthis.widgetLiveCampaign[2].arrow =\r\n\t\t\t\t\t\tres?.data?.totalCampaignPercent > 0\r\n\t\t\t\t\t\t\t? '../../../../assets/svg/icon-up-arrow.svg'\r\n\t\t\t\t\t\t\t: '../../../../assets/svg/icon-down-arrow.svg';\r\n\t\t\t\t\tthis.widgetLiveCampaign[2].value =\r\n\t\t\t\t\t\tres?.data?.totalPending ?? 0;\r\n\t\t\t\t\tthis.widgetLiveCampaign[2].date = date;\r\n\t\t\t\t\tthis.widgetLiveCampaign[2].dateclass =\r\n\t\t\t\t\t\tres?.data?.totalCampaignPercent > 0\r\n\t\t\t\t\t\t\t? 'greenpercent'\r\n\t\t\t\t\t\t\t: 'redpercent';\r\n\t\t\t\t}\r\n\t\t\t);\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\r\n\t\tthis.getPerformanceDetails(timeUnit);\r\n\t\tthis.getConversationDetails(timeUnit);\r\n\t}\r\n\r\n\tprivate getPerformanceDetails(timeUnit: string) {\r\n\t\tif (!this.selectedPlatform) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.setPerformanceChartData();\r\n\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\t{\r\n\t\t\t\tname: 'timeUnit',\r\n\t\t\t\tvalue: timeUnit,\r\n\t\t\t\tin: 'query',\r\n\t\t\t\ttype: 'String',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'clientId',\r\n\t\t\t\tvalue: localStorage.getItem('telin.clientId'),\r\n\t\t\t\tin: 'query',\r\n\t\t\t\ttype: 'String',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'platform',\r\n\t\t\t\tvalue:\r\n\t\t\t\t\tthis.selectedPlatform === 'WHATSAPP'\r\n\t\t\t\t\t\t? 'WA'\r\n\t\t\t\t\t\t: this.selectedPlatform,\r\n\t\t\t\tin: 'query',\r\n\t\t\t\ttype: 'String',\r\n\t\t\t},\r\n\t\t];\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(\r\n\t\t\t\tparameterList,\r\n\t\t\t\t'/report/campaign/performance',\r\n\t\t\t\t'GET'\r\n\t\t\t)\r\n\t\t\t.subscribe((res: AppResponseAdl<PerformanceChartResponseDto>) => {\r\n\t\t\t\tthis.performanceCategories = [];\r\n\t\t\t\tthis.totalCmpn = [];\r\n\t\t\t\tthis.deliveryRt = [];\r\n\t\t\t\tthis.costDesc = [];\r\n\r\n\t\t\t\tif (res?.data && Object.entries(res.data).length !== 0) {\r\n\t\t\t\t\tfor (let item of res.data.categories) {\r\n\t\t\t\t\t\tthis.performanceCategories.push(item);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfor (let series of res.data.series) {\r\n\t\t\t\t\t\tif (series.name === 'Total Campaign') {\r\n\t\t\t\t\t\t\tthis.totalCmpn = series.data?.map(value => value);\r\n\t\t\t\t\t\t} else if (series.name === 'Delivery Rate') {\r\n\t\t\t\t\t\t\tthis.deliveryRt = series.data?.map(value => value);\r\n\t\t\t\t\t\t} else if (series.name === 'Cost Distribution') {\r\n\t\t\t\t\t\t\tthis.costDesc = series.data?.map(value => value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.setPerformanceChartData();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tprivate setPerformanceChartData() {\r\n\t\tthis.performanceChartData = ConversationInsightsChartConfig;\r\n\t\tthis.performanceChartData.xAxis.data = this.performanceCategories;\r\n\t\tthis.performanceChartData.series[0].data = this.deliveryRt;\r\n\t\tthis.performanceChartData.series[1].data = this.totalCmpn;\r\n\t\tthis.performanceChartData.series[2].data = this.costDesc;\r\n\t}\r\n\r\n\tprivate getConversationDetails(timeUnit: string) {\r\n\t\tif (!this.selectedPlatform) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.setConversationChartData();\r\n\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\t{\r\n\t\t\t\tname: 'timeUnit',\r\n\t\t\t\tvalue: timeUnit,\r\n\t\t\t\tin: 'query',\r\n\t\t\t\ttype: 'String',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'clientId',\r\n\t\t\t\tvalue: localStorage.getItem('telin.clientId'),\r\n\t\t\t\tin: 'query',\r\n\t\t\t\ttype: 'String',\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tname: 'platform',\r\n\t\t\t\tvalue:\r\n\t\t\t\t\tthis.selectedPlatform === 'WHATSAPP'\r\n\t\t\t\t\t\t? 'WA'\r\n\t\t\t\t\t\t: this.selectedPlatform,\r\n\t\t\t\tin: 'query',\r\n\t\t\t\ttype: 'String',\r\n\t\t\t},\r\n\t\t];\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(\r\n\t\t\t\tparameterList,\r\n\t\t\t\t'/report/campaign/conversation',\r\n\t\t\t\t'GET'\r\n\t\t\t)\r\n\t\t\t.subscribe((res: AppResponseAdl<ConversationChartResponseDto>) => {\r\n\t\t\t\tthis.convsData = [];\r\n\r\n\t\t\t\tif (res?.data) {\r\n\t\t\t\t\tfor (let i = 0; i < res.data.categories?.length; i++) {\r\n\t\t\t\t\t\tthis.convsData[i] = new Array();\r\n\t\t\t\t\t\tthis.convsData[i].push(res.data.categories[i]);\r\n\r\n\t\t\t\t\t\tfor (let j = 1; j <= res.data.series?.length; j++) {\r\n\t\t\t\t\t\t\tthis.convsData[i].push(\r\n\t\t\t\t\t\t\t\tres.data.series[j - 1].data[i]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.setConversationChartData();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tprivate setConversationChartData() {\r\n\t\tthis.conversationChartData = CampaignPerformanceChartConfig;\r\n\t\tthis.convsData.forEach(data => {\r\n\t\t\tif (data) {\r\n\t\t\t\tthis.conversationChartData.dataset.source.push(data);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getStatictsWidgetString(event: string): string {\r\n\t\treturn event == PastTimeEnum.Today\r\n\t\t\t? PastTimeEnum.Yesterday\r\n\t\t\t: event == PastTimeEnum.CurrentWeek\r\n\t\t\t? PastTimeEnum.LastWeek\r\n\t\t\t: event == PastTimeEnum.CurrentMonth\r\n\t\t\t? PastTimeEnum.LastMonth\r\n\t\t\t: '';\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscribers.forEach(each => each.unsubscribe());\r\n\t}\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { PickerModule } from '@ctrl/ngx-emoji-mart';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { DashboardComponent } from './dashboard.component';\r\n\r\n@NgModule({\r\n\tdeclarations: [DashboardComponent],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tMatAutocompleteModule,\r\n\t\tFormsModule,\r\n\t\tMatGridListModule,\r\n\t\tReactiveFormsModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatInputModule,\r\n\t\tMatSelectModule,\r\n\t\tMatRadioModule,\r\n\t\tMatListModule,\r\n\t\tMatButtonModule,\r\n\t\tMatIconModule,\r\n\t\tPickerModule,\r\n\t\tAngularEditorModule,\r\n\t\tMatButtonToggleModule,\r\n\t\tMatDialogModule,\r\n\t\tMatTabsModule,\r\n\t\tMatBadgeModule,\r\n\t\tNgbDropdownModule,\r\n\t\tNgxEchartsModule,\r\n\t],\r\n\texports: [DashboardComponent],\r\n})\r\nexport class DashboardModule {}\r\n","export class FailoverReqModel {\r\n\tpublic active: boolean;\r\n\tpublic type: string;\r\n\tpublic interval: number;\r\n\tpublic accounts: FailoverAccountReqModel[];\r\n\r\n\tconstructor() {}\r\n\r\n\tpublic clone(source: any): FailoverReqModel {\r\n\t\tthis.active = source.active;\r\n\t\tthis.interval = source.interval ?? 0;\r\n\t\tthis.type = source.type ?? '';\r\n\r\n\t\tif (source.accounts) {\r\n\t\t\tthis.accounts = source.accounts.reduce((result, each) => {\r\n\t\t\t\tresult.push(new FailoverAccountReqModel().clone(each));\r\n\t\t\t\treturn result;\r\n\t\t\t}, []);\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tpublic convert(): any {\r\n\t\treturn {\r\n\t\t\tfailover: this,\r\n\t\t};\r\n\t}\r\n}\r\n\r\nclass FailoverAccountReqModel {\r\n\tpublic accountId: string;\r\n\tpublic accountName: string;\r\n\tpublic subject: string;\r\n\tpublic platform: string;\r\n\tpublic template: {\r\n\t\tid: string;\r\n\t\tname: string;\r\n\t\tlang: string;\r\n\t\tdata: string[];\r\n\t};\r\n\r\n\tconstructor() {}\r\n\r\n\tpublic clone(source: any): FailoverAccountReqModel {\r\n\t\tthis.accountId = source.accountId?.id ?? '';\r\n\t\tthis.accountName = source.accountName ?? '';\r\n\t\tthis.subject = source.subject ?? '';\r\n\t\tthis.platform = source.platform ?? '';\r\n\t\tthis.template = {\r\n\t\t\tid: source.template?.ID ?? '',\r\n\t\t\tname: source.template?.name ?? source.template ?? '',\r\n\t\t\tlang: source.template?.lang ?? '',\r\n\t\t\tdata: source.paramBody?.map((t: any) => t.name) ?? [],\r\n\t\t};\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tpublic convert(): any {\r\n\t\treturn this;\r\n\t}\r\n}\r\n","export class GeneralInformationWAReqModel {\r\n\tpublic name: string;\r\n\tpublic accountId: string;\r\n\tpublic type: string;\r\n\tpublic text: string;\r\n\tpublic subject: string;\r\n\tpublic image: {\r\n\t\turl: string;\r\n\t};\r\n\tpublic video: {\r\n\t\turl: string;\r\n\t};\r\n\tpublic document: {\r\n\t\turl: string;\r\n\t\tfileName: string;\r\n\t};\r\n\tpublic template: {\r\n\t\tid?: string;\r\n\t\tname: string;\r\n\t\tlang: string;\r\n\t\theaderUrl?: string;\r\n\t\theader: any;\r\n\t\tdata: any[];\r\n\t\tbutton: any;\r\n\t};\r\n\tpublic list: {\r\n\t\tbutton: string;\r\n\t\tsections: {\r\n\t\t\ttitle: string;\r\n\t\t\titems: {\r\n\t\t\t\tid: string;\r\n\t\t\t\ttitle: string;\r\n\t\t\t\tdescription: string;\r\n\t\t\t}[];\r\n\t\t}[];\r\n\t};\r\n\tpublic buttons: {\r\n\t\ttype: string;\r\n\t\tid: string;\r\n\t\ttitle: string;\r\n\t}[];\r\n\r\n\tpublic clone(source: any): GeneralInformationWAReqModel {\r\n\t\t/* Source Mapping */\r\n\t\tif (\r\n\t\t\tsource?.media === 'IMAGE' ||\r\n\t\t\tsource?.media === 'VIDEO' ||\r\n\t\t\tsource?.media === 'DOCUMENT'\r\n\t\t) {\r\n\t\t\tsource.channel = source.media;\r\n\t\t}\r\n\t\t/* ./ Source Mapping */\r\n\r\n\t\tif (source.campaignName) {\r\n\t\t\tthis.name = source.campaignName;\r\n\t\t}\r\n\t\tif (source.medium === 'EMAIL') {\r\n\t\t\tthis.subject = source.campaignName;\r\n\t\t}\r\n\t\tif (source.from?.id) {\r\n\t\t\tthis.accountId = source.from.id;\r\n\t\t}\r\n\t\tif (source.channel) {\r\n\t\t\tthis.type = source.channel?.toLowerCase();\r\n\t\t}\r\n\t\tif (source.text) {\r\n\t\t\tthis.text = source.text;\r\n\t\t}\r\n\t\tif (this.type === 'image' && source.fileName) {\r\n\t\t\tthis.image = {\r\n\t\t\t\turl: source.targetURL,\r\n\t\t\t};\r\n\t\t}\r\n\t\tif (this.type === 'video' && source.fileName) {\r\n\t\t\tthis.video = {\r\n\t\t\t\turl: source.targetURL,\r\n\t\t\t};\r\n\t\t}\r\n\t\tif (this.type === 'document' && source.fileName) {\r\n\t\t\tthis.document = {\r\n\t\t\t\turl: source.targetURL,\r\n\t\t\t\tfileName: source.fileName,\r\n\t\t\t};\r\n\t\t}\r\n\t\tif (source.template) {\r\n\t\t\tthis.template = {\r\n\t\t\t\tid: source.template.ID,\r\n\t\t\t\tname: source.template.name,\r\n\t\t\t\tlang: source.template.lang,\r\n\t\t\t\theaderUrl: source.targetURL,\r\n\t\t\t\theader: source.paramHeader?.map((t: any) => t.name) ?? [],\r\n\t\t\t\tdata: source.paramBody?.map((t: any) => t.name) ?? [],\r\n\t\t\t\tbutton: source.paramButton?.reduce(\r\n\t\t\t\t\t(result: any[], each: any) => {\r\n\t\t\t\t\t\tresult.push(each.name.map((t: any) => t.name) ?? []);\r\n\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t},\r\n\t\t\t\t\t[]\r\n\t\t\t\t),\r\n\t\t\t};\r\n\r\n\t\t\tif (source.template.category === 'AUTHENTICATION')\r\n\t\t\t\tthis.template = {\r\n\t\t\t\t\tname: source.template.name,\r\n\t\t\t\t\tlang: source.template.lang,\r\n\t\t\t\t\theader: null,\r\n\t\t\t\t\tdata: [source.otpValue],\r\n\t\t\t\t\tbutton: [[source.otpValue]],\r\n\t\t\t\t};\r\n\r\n\t\t\tif (source.template.ID) this.template.id = source.template.ID;\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tpublic convert(): any {\r\n\t\treturn this;\r\n\t}\r\n}\r\n","import { DatePipe } from '@angular/common';\r\n\r\nexport class SchedulerReqModel {\r\n\tpublic type: string;\r\n\tpublic startTime: string;\r\n\tpublic repeat: boolean;\r\n\tpublic tz: string;\r\n\tprivate datePipe: DatePipe;\r\n\r\n\tconstructor() {\r\n\t\tthis.datePipe = new DatePipe('en-US');\r\n\t}\r\n\r\n\tpublic clone(source: any): SchedulerReqModel {\r\n\t\tif (source.schedulerType) {\r\n\t\t\tthis.type = source.delivery ? 'MULTI' : source.schedulerType;\r\n\t\t}\r\n\t\tif (source.startDate) {\r\n\t\t\tthis.startTime = `${this.datePipe.transform(\r\n\t\t\t\tsource.startDate,\r\n\t\t\t\t'yyyy-MM-dd'\r\n\t\t\t)} ${source.startTime}`;\r\n\t\t}\r\n\t\tif (source.delivery) {\r\n\t\t\tthis.repeat = source.delivery.toUpperCase();\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n\r\n\tpublic convert(): any {\r\n\t\treturn {\r\n\t\t\ttype: this.type,\r\n\t\t\tstartTime: this.startTime,\r\n\t\t\trepeat: this.repeat,\r\n\t\t\ttz: Intl.DateTimeFormat().resolvedOptions().timeZone,\r\n\t\t};\r\n\t}\r\n}\r\n","import { Component, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { SegmentedMessage } from 'sms-segments-calculator';\r\nimport { MainArea } from '../../../core/enums';\r\nimport { Parameter } from '../../../core/models/util/api-adapter-service-models';\r\nimport { AppResponse } from '../../../core/models/util/api-dto/response-models';\r\nimport { ApiAdapterServiceService } from '../../../core/services';\r\nimport { ConfirmationComponent } from '../../../global/confirmation/confirmation';\r\nimport { ConfirmationModel } from '../../../global/confirmation/shared/model';\r\nimport { FailoverReqModel, GeneralInformationWAReqModel, SchedulerReqModel } from '../../models';\r\n\r\n@Component({\r\n selector: 'lib-new-campaign',\r\n templateUrl: './new-campaign.component.html',\r\n styleUrls: ['./new-campaign.component.scss'],\r\n})\r\nexport class NewCampaignComponent implements OnInit, OnDestroy {\r\n @Output() currentView = new EventEmitter<MainArea>();\r\n\r\n public campaignID: string;\r\n public currentViews = MainArea;\r\n public positionWizard: number = 1;\r\n public dataWizard: string[];\r\n public isLoading: boolean = false;\r\n public isSubmit: boolean = false;\r\n public isGeneralInformationValid: boolean = false;\r\n public isFailoverMechanismValid: boolean = false;\r\n public isNumberBaseInformationValid: boolean = false;\r\n public isSchedulerInformationValid: boolean = false;\r\n public isLine: boolean = false;\r\n public generalInformationData: any;\r\n public failoverMechanismData: any;\r\n public targetAudienceData: string[];\r\n public targetAudienceCount: number;\r\n public targetAudienceFile: any;\r\n public schedulerData: any;\r\n\r\n private isUploadTargetAudience: boolean = false;\r\n private subscribers: Subscription[] = [];\r\n\r\n constructor(\r\n private dialog: MatDialog,\r\n private apiAdapterService: ApiAdapterServiceService,\r\n private toastr: ToastrService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n this.campaignID = window.location.pathname?.split('/')?.pop();\r\n\r\n this.initWizard();\r\n this.getCampaignDetailService();\r\n }\r\n\r\n private initWizard(): void {\r\n if (!this.isLine) {\r\n this.dataWizard = [\r\n 'General Information',\r\n 'Failover Mechanism',\r\n 'Target Audience',\r\n 'Scheduler',\r\n 'Summary',\r\n ];\r\n return;\r\n }\r\n\r\n this.dataWizard = ['General Information', 'Target Audience', 'Scheduler', 'Summary'];\r\n }\r\n\r\n private getCampaignDetailService(): void {\r\n if (this.campaignID?.length < 10) return;\r\n\r\n this.isLoading = true;\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest([], `/campaign/${this.campaignID}`, 'GET')\r\n .subscribe(\r\n (resp: AppResponse<any>) => {\r\n if (!resp) return;\r\n\r\n const generalInformation = {\r\n campaignName: resp.data?.name,\r\n medium: resp.data?.platform,\r\n channel: ['image', 'video', 'document'].includes(resp.data?.type)\r\n ? 'MEDIA'\r\n : resp.data?.type?.toUpperCase(),\r\n media: resp.data?.type?.toUpperCase(),\r\n from: {\r\n id: resp.data?.accountId,\r\n name: resp.data?.accountName,\r\n platform: resp.data?.platform,\r\n clientId: resp.data?.clientId,\r\n clientName: resp.data?.clientName,\r\n accountNo: resp.data?.accountNo,\r\n wabaId: resp.data?.wabaId ?? '',\r\n },\r\n text: resp.data?.details?.text,\r\n targetURL:\r\n resp.data?.details?.image?.url ??\r\n resp.data?.details?.document?.url ??\r\n resp.data?.details?.video?.url ??\r\n resp.data?.details?.template?.headerURL,\r\n paramHeader: resp.data?.details?.template?.header,\r\n paramBody: resp.data?.details?.template?.data,\r\n paramButton: resp.data?.details?.template?.button,\r\n otpValue: [...(resp.data?.details?.template?.data ?? [])]?.pop(),\r\n template: {\r\n ID: resp.data?.details?.template?.id,\r\n name: resp.data?.details?.template?.name,\r\n lang: resp.data?.details?.template?.lang,\r\n platform: resp.data?.platform,\r\n headerURL: resp.data?.details?.template?.headerURL,\r\n header: {\r\n examples: resp.data?.details?.template?.header,\r\n },\r\n body: {\r\n examples: resp.data?.details?.template?.data,\r\n },\r\n buttons: resp.data?.details?.template?.button,\r\n ClientId: resp.data?.clientId,\r\n ClientName: resp.data?.clientName,\r\n },\r\n isUpload: resp.data?.fileId !== '',\r\n fileId: resp.data?.fileId,\r\n };\r\n\r\n localStorage.setItem(\r\n 'telin.campaign',\r\n JSON.stringify({\r\n ...this.getCampaignStorage,\r\n ...{\r\n generalInformation: {\r\n id: resp.data?.id,\r\n form: generalInformation,\r\n },\r\n failover: resp.data?.failover,\r\n targetAudience: resp.data?.targets,\r\n targetAudienceFile: {\r\n name: resp.data?.fileName,\r\n targetURL: resp.data?.targetURL,\r\n },\r\n scheduler: {\r\n schedulerType:\r\n resp.data?.scheduleType === 'MULTI'\r\n ? 'ONE_TIME'\r\n : resp.data?.scheduleType,\r\n startDate: resp.data?.startTime?.split(' ')[0],\r\n startTime: resp.data?.startTime?.split(' ')[1],\r\n isRepeat: resp.data?.scheduleType === 'MULTI',\r\n delivery: resp.data?.repeat,\r\n },\r\n },\r\n })\r\n );\r\n\r\n this.isLine = resp.data?.platform === 'LINE';\r\n this.isLoading = false;\r\n\r\n this.initWizard();\r\n },\r\n () => {\r\n this.isLoading = false;\r\n }\r\n );\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n public generalInformation(form: { parent: FormGroup; child: FormGroup }): void {\r\n this.isGeneralInformationValid = form.parent.valid && form.child && form.child?.valid;\r\n this.isLine = form.parent?.getRawValue()?.medium === 'LINE';\r\n\r\n this.initWizard();\r\n\r\n if (form.parent && form.child)\r\n this.generalInformationData = {\r\n ...form.parent.getRawValue(),\r\n ...form.child.getRawValue(),\r\n };\r\n }\r\n\r\n public failoverMechanism(form: FormGroup): void {\r\n this.isFailoverMechanismValid = form.valid;\r\n this.failoverMechanismData = form.getRawValue();\r\n }\r\n\r\n public targetAudience(target: {\r\n targetAudience: string[];\r\n numberCount: number;\r\n isUpload: boolean;\r\n file: any;\r\n }): void {\r\n this.targetAudienceFile = target.file;\r\n this.targetAudienceData = target.targetAudience;\r\n this.targetAudienceCount = target.numberCount;\r\n this.isUploadTargetAudience = target.isUpload;\r\n this.isNumberBaseInformationValid =\r\n (target.isUpload && target.file?.name) ||\r\n (!target.isUpload && target.targetAudience.length > 0) ||\r\n this.getCampaignStorage?.generalInformation?.form?.fileId;\r\n }\r\n\r\n public scheduler(form: FormGroup): void {\r\n this.schedulerData = form.getRawValue();\r\n this.isSchedulerInformationValid = form.valid;\r\n }\r\n\r\n public onClickSaveAndNextButton(): void {\r\n this.isSubmit = true;\r\n\r\n switch (this.positionWizard) {\r\n case 1:\r\n this.saveGeneralInformationService();\r\n break;\r\n case 2:\r\n !this.isLine ? this.saveFailoverMechanismService() : this.saveNumberBasesService();\r\n break;\r\n case 3:\r\n !this.isLine ? this.saveNumberBasesService() : this.saveSchedulerService();\r\n break;\r\n case 4:\r\n if (!this.isLine) this.saveSchedulerService();\r\n break;\r\n default:\r\n this.isSubmit = false;\r\n break;\r\n }\r\n }\r\n\r\n get getCampaignStorage(): any {\r\n return localStorage.getItem('telin.campaign')\r\n ? JSON.parse(localStorage.getItem('telin.campaign'))\r\n : {};\r\n }\r\n\r\n get getBody(): string {\r\n const body =\r\n this.generalInformationData?.text ||\r\n this.generalInformationData?.template?.body?.text ||\r\n this.generalInformationData?.body?.text;\r\n\r\n return (\r\n body\r\n ?.split(/\\\\n|\\n/)\r\n .join('<br />')\r\n .split(/\\\\t|\\t/)\r\n .join(' ') ?? ''\r\n );\r\n }\r\n\r\n public onCheckTwilioCounterValid = (): boolean => {\r\n const valuesGeneral = this.generalInformationData;\r\n\r\n if (valuesGeneral?.medium !== 'SMS') {\r\n return true;\r\n }\r\n\r\n if (valuesGeneral?.channel === 'TEXT') {\r\n const segmentedMessage = new SegmentedMessage(this.getBody);\r\n const result = {\r\n segments: segmentedMessage.segmentsCount,\r\n encoding: segmentedMessage.encodingName,\r\n characters: segmentedMessage.numberOfUnicodeScalars,\r\n };\r\n\r\n if (result.segments > 10) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n let valueResult = this.getBody;\r\n Array.from(valuesGeneral.template?.body?.examples || []).map((entry, index) => {\r\n if (valuesGeneral.paramBody.length > 0) {\r\n const placeholder = `{{${entry}}}`;\r\n const value = valuesGeneral.paramBody[index].name;\r\n valueResult = valueResult.split(placeholder).join(value);\r\n }\r\n });\r\n\r\n const segmentedMessage = new SegmentedMessage(valueResult);\r\n const result = {\r\n segments: segmentedMessage.segmentsCount,\r\n encoding: segmentedMessage.encodingName,\r\n characters: segmentedMessage.numberOfUnicodeScalars,\r\n };\r\n\r\n if (result.segments > 10) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n };\r\n\r\n private saveGeneralInformationService(): void {\r\n if (!this.onCheckTwilioCounterValid()) {\r\n this.toastr.error('Segment cannot more than 10');\r\n this.isSubmit = false;\r\n return;\r\n }\r\n\r\n const bodyReq = new GeneralInformationWAReqModel().clone({\r\n ...this.generalInformationData,\r\n });\r\n\r\n const parameterList: Array<Parameter> = [\r\n {\r\n name: 'data',\r\n value: bodyReq.convert(),\r\n in: 'body',\r\n type: 'object',\r\n withoutKeyData: true,\r\n },\r\n ];\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(\r\n parameterList,\r\n this.generalInformationData.id\r\n ? `/campaign/${this.generalInformationData.id}`\r\n : '/campaign',\r\n this.generalInformationData.id ? 'PUT' : 'POST'\r\n )\r\n .subscribe(\r\n (resp) => {\r\n if (resp?.message?.toLowerCase() !== 'success') {\r\n this.isSubmit = false;\r\n return;\r\n }\r\n\r\n localStorage.setItem(\r\n 'telin.campaign',\r\n JSON.stringify({\r\n ...this.getCampaignStorage,\r\n ...{\r\n generalInformation: {\r\n id: resp.data.id,\r\n form: this.generalInformationData,\r\n },\r\n },\r\n })\r\n );\r\n\r\n this.isSubmit = false;\r\n this.positionWizard += 1;\r\n },\r\n () => (this.isSubmit = false)\r\n );\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n private saveFailoverMechanismService(): void {\r\n const bodyReq = new FailoverReqModel().clone({\r\n ...this.failoverMechanismData,\r\n });\r\n\r\n const parameterList: Array<Parameter> = [\r\n {\r\n name: 'data',\r\n value: bodyReq.convert(),\r\n in: 'body',\r\n type: 'object',\r\n withoutKeyData: true,\r\n },\r\n ];\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(\r\n parameterList,\r\n `/campaign/${this.getCampaignStorage?.generalInformation?.id}/failover`,\r\n 'POST'\r\n )\r\n .subscribe(\r\n (resp) => {\r\n if (resp?.message?.toLowerCase() !== 'success') {\r\n this.isSubmit = false;\r\n return;\r\n }\r\n\r\n localStorage.setItem(\r\n 'telin.campaign',\r\n JSON.stringify({\r\n ...this.getCampaignStorage,\r\n ...{\r\n failover: this.failoverMechanismData,\r\n },\r\n })\r\n );\r\n\r\n this.isSubmit = false;\r\n this.positionWizard += 1;\r\n },\r\n () => (this.isSubmit = false)\r\n );\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n private saveNumberBasesService(): void {\r\n if (this.targetAudienceData.length === 0 || this.isUploadTargetAudience) {\r\n localStorage.setItem(\r\n 'telin.campaign',\r\n JSON.stringify({\r\n ...this.getCampaignStorage,\r\n ...{\r\n targetAudience: this.targetAudienceData,\r\n targetAudienceCount: this.targetAudienceCount,\r\n targetAudienceFile: this.targetAudienceFile,\r\n },\r\n })\r\n );\r\n\r\n this.isSubmit = false;\r\n this.positionWizard += 1;\r\n return;\r\n }\r\n\r\n const parameterList: Array<Parameter> = [\r\n {\r\n name: 'data',\r\n value: {\r\n targets: this.targetAudienceData,\r\n numberCount: this.targetAudienceCount,\r\n },\r\n in: 'body',\r\n type: 'object',\r\n withoutKeyData: true,\r\n },\r\n ];\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(\r\n parameterList,\r\n `/campaign/${this.getCampaignStorage?.generalInformation?.id}/targetcategory`,\r\n 'POST'\r\n )\r\n .subscribe(\r\n (resp) => {\r\n if (resp?.message?.toLowerCase() !== 'success') {\r\n this.isSubmit = false;\r\n return;\r\n }\r\n\r\n localStorage.setItem(\r\n 'telin.campaign',\r\n JSON.stringify({\r\n ...this.getCampaignStorage,\r\n ...{\r\n targetAudience: this.targetAudienceData,\r\n targetAudienceCount: this.targetAudienceCount,\r\n targetAudienceFile: this.targetAudienceFile,\r\n },\r\n })\r\n );\r\n\r\n this.isSubmit = false;\r\n this.positionWizard += 1;\r\n },\r\n () => (this.isSubmit = false)\r\n );\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n private saveSchedulerService(): void {\r\n const bodyReq = new SchedulerReqModel().clone({\r\n ...this.schedulerData,\r\n });\r\n\r\n const parameterList: Array<Parameter> = [\r\n {\r\n name: 'data',\r\n value: bodyReq.convert(),\r\n in: 'body',\r\n type: 'object',\r\n withoutKeyData: true,\r\n },\r\n ];\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(\r\n parameterList,\r\n `/campaign/${this.getCampaignStorage?.generalInformation?.id}/schedule`,\r\n 'POST'\r\n )\r\n .subscribe(\r\n (resp) => {\r\n if (resp?.message?.toLowerCase() !== 'success') {\r\n this.isSubmit = false;\r\n return;\r\n }\r\n\r\n localStorage.setItem(\r\n 'telin.campaign',\r\n JSON.stringify({\r\n ...this.getCampaignStorage,\r\n ...{\r\n scheduler: this.schedulerData,\r\n },\r\n })\r\n );\r\n\r\n this.isSubmit = false;\r\n this.positionWizard += 1;\r\n },\r\n () => (this.isSubmit = false)\r\n );\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n public onPrevious(): void {\r\n this.positionWizard -= 1;\r\n }\r\n\r\n public changeCurrentView(area: MainArea) {\r\n this.openConfirmationDialog(area);\r\n }\r\n\r\n private openConfirmationDialog(area: MainArea): void {\r\n const confirmation = new ConfirmationModel();\r\n\r\n confirmation.title = 'Cancel Add Broadcast';\r\n confirmation.content = `Are you sure you want to cancel<br/> Add Broadcast?`;\r\n confirmation.btnSubmitRed = 'Yes';\r\n confirmation.btnCancel = 'No';\r\n\r\n const subs = this.dialog\r\n .open(ConfirmationComponent, {\r\n autoFocus: false,\r\n backdropClass: 'overlay-backdrop-dialog',\r\n data: confirmation,\r\n })\r\n .afterClosed()\r\n .subscribe((resp) => {\r\n if (resp) {\r\n window.history.replaceState(\r\n {},\r\n `/${this.getCampaignStorage?.generalInformation?.id}`,\r\n '/secure/campaign'\r\n );\r\n\r\n this.currentView.emit(area);\r\n }\r\n });\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n public onSubmitForApproval(): void {\r\n const parameterList: Array<Parameter> = [];\r\n this.isSubmit = true;\r\n\r\n if (this.getCampaignStorage?.targetAudienceFile?.name)\r\n parameterList.push({\r\n name: 'isFile',\r\n value: true,\r\n in: 'query',\r\n type: 'string',\r\n });\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(\r\n parameterList,\r\n `/campaign/${this.getCampaignStorage?.generalInformation?.id}/submit`,\r\n 'POST'\r\n )\r\n .subscribe(\r\n (resp) => {\r\n if (resp?.message?.toLowerCase() !== 'success') {\r\n this.isSubmit = false;\r\n return;\r\n }\r\n\r\n window.history.replaceState(\r\n {},\r\n `/${this.getCampaignStorage?.generalInformation?.id}`,\r\n '/secure/campaign'\r\n );\r\n\r\n this.toastr.success('Campaign submitted for approval!');\r\n this.isSubmit = false;\r\n this.currentView.emit(this.currentViews.CampaignIndex);\r\n },\r\n () => (this.isSubmit = false)\r\n );\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscribers.forEach((each) => each.unsubscribe());\r\n }\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n} from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport {\r\n\tGeneralInformationEmailMessageValidationConst,\r\n\tMsgTypeEmailOptionConst,\r\n} from '../../../../../core/const';\r\nimport { Parameter } from '../../../../../core/models/util/api-adapter-service-models';\r\nimport { AppResponse } from '../../../../../core/models/util/api-dto/response-models';\r\nimport { ApiAdapterServiceService } from '../../../../../core/services';\r\nimport { TemplateWAModel, WhatsAppAccountDto } from '../../../../models';\r\n\r\n@Component({\r\n\tselector: 'lib-general-information-email',\r\n\ttemplateUrl: './general-information-email.component.html',\r\n\tstyleUrls: ['./general-information-email.component.scss'],\r\n})\r\nexport class GeneralInformationEmailComponent implements OnInit, OnDestroy {\r\n\t@Output()\r\n\tpublic updateGeneralInformationForm: EventEmitter<FormGroup>;\r\n\r\n\tpublic form: FormGroup;\r\n\tpublic validationMessages: any;\r\n\tpublic msgTypeWAOption: any[] = [];\r\n\tpublic accountOption: WhatsAppAccountDto[] = [];\r\n\tpublic isHaveNextAccountOption: boolean = true;\r\n\tpublic isLoadingAccountOption: boolean = false;\r\n\tpublic templateOption: TemplateWAModel[] = [];\r\n\tpublic isHaveNextTemplateOption: boolean = true;\r\n\tpublic isLoadingTemplateOption: boolean = false;\r\n\tpublic isHaveTemplateParam: boolean = false;\r\n\r\n\tprivate pageNoAccountOption: number = 1;\r\n\tprivate pageNoTemplateOption: number = 1;\r\n\tprivate subscribers: Subscription[] = [];\r\n\r\n\t@Input() public isReadOnlyMode: boolean;\r\n\r\n\t@Input()\r\n\tset isTouchedForm(status: boolean) {\r\n\t\tif (!this.updateGeneralInformationForm) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.updateGeneralInformationForm.emit(this.form);\r\n\t\t});\r\n\t}\r\n\r\n\tconstructor(private apiAdapterService: ApiAdapterServiceService) {\r\n\t\tthis.updateGeneralInformationForm = new EventEmitter();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.validationMessages = GeneralInformationEmailMessageValidationConst;\r\n\t\tthis.msgTypeWAOption = MsgTypeEmailOptionConst;\r\n\r\n\t\tthis.initForm();\r\n\t\tthis.initDisable();\r\n\t\tthis.initEdit();\r\n\t\tthis.initValidation();\r\n\t\tthis.getAccountOptionService(\r\n\t\t\tthis.getCampaignStorage?.generalInformation?.form?.medium ===\r\n\t\t\t\t'EMAIL'\r\n\t\t\t\t? this.getCampaignStorage?.generalInformation?.form?.from?.name\r\n\t\t\t\t: ''\r\n\t\t);\r\n\t}\r\n\r\n\tget getCampaignStorage(): any {\r\n\t\treturn localStorage.getItem('telin.campaign')\r\n\t\t\t? JSON.parse(localStorage.getItem('telin.campaign'))\r\n\t\t\t: {};\r\n\t}\r\n\r\n\tprivate initForm(): void {\r\n\t\tthis.form = new FormGroup({\r\n\t\t\tchannel: new FormControl(null, Validators.required),\r\n\t\t\tfrom: new FormControl(null, Validators.required),\r\n\t\t\ttext: new FormControl(null, Validators.required),\r\n\t\t\ttemplate: new FormControl(null, Validators.required),\r\n\t\t\tparamBody: new FormArray([], Validators.required),\r\n\t\t\tisUpload: new FormControl(false),\r\n\t\t\tfileId: new FormControl(''),\r\n\t\t});\r\n\r\n\t\tthis.form.valueChanges.subscribe(() => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.updateGeneralInformationForm.emit(this.form);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tprivate initDisable(): void {\r\n\t\tif (!this.isReadOnlyMode) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.form.disable();\r\n\t}\r\n\r\n\tprivate initEdit(): void {\r\n\t\tif (\r\n\t\t\tObject.entries(this.getCampaignStorage).length === 0 ||\r\n\t\t\tthis.getCampaignStorage?.generalInformation?.form?.medium !==\r\n\t\t\t\t'EMAIL'\r\n\t\t)\r\n\t\t\treturn;\r\n\r\n\t\tthis.form\r\n\t\t\t.get('channel')\r\n\t\t\t.setValue(\r\n\t\t\t\tthis.getCampaignStorage?.generalInformation?.form.channel\r\n\t\t\t);\r\n\t\tthis.form\r\n\t\t\t.get('from')\r\n\t\t\t.setValue(this.getCampaignStorage?.generalInformation?.form.from);\r\n\t\tthis.form\r\n\t\t\t.get('text')\r\n\t\t\t.setValue(this.getCampaignStorage?.generalInformation?.form.text);\r\n\t\tthis.form\r\n\t\t\t.get('template')\r\n\t\t\t.setValue(\r\n\t\t\t\tthis.getCampaignStorage?.generalInformation?.form.template\r\n\t\t\t);\r\n\t\tthis.form\r\n\t\t\t.get('isUpload')\r\n\t\t\t.setValue(\r\n\t\t\t\tthis.getCampaignStorage?.generalInformation?.form.isUpload\r\n\t\t\t);\r\n\t\tthis.form\r\n\t\t\t.get('fileId')\r\n\t\t\t.setValue(this.getCampaignStorage?.generalInformation?.form.fileId);\r\n\r\n\t\tthis.isHaveTemplateParam = this.form.get('isUpload').value;\r\n\t\tthis.getTemplateOptionService(\r\n\t\t\tnull,\r\n\t\t\tthis.form.get('template').value?.name\r\n\t\t);\r\n\t}\r\n\r\n\tget getIsTemplate(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.form.get('channel').value &&\r\n\t\t\tthis.form.get('channel').value?.toLowerCase() === 'template'\r\n\t\t);\r\n\t}\r\n\r\n\tprivate initValidation(): void {\r\n\t\tfor (const key in this.form.controls) {\r\n\t\t\tthis.form.controls[key].clearValidators();\r\n\t\t\tthis.form.controls[key].updateValueAndValidity();\r\n\t\t}\r\n\r\n\t\tthis.form.get('channel').setValidators(Validators.required);\r\n\t\tthis.form.get('from').setValidators(Validators.required);\r\n\r\n\t\tif (this.getIsTemplate) {\r\n\t\t\tthis.form.get('template').setValidators(Validators.required);\r\n\t\t\tthis.form.get('template').updateValueAndValidity();\r\n\t\t\tthis.form.get('paramBody').setValidators(Validators.required);\r\n\t\t\tthis.form.get('paramBody').updateValueAndValidity();\r\n\t\t} else {\r\n\t\t\tthis.form.get('text').setValidators(Validators.required);\r\n\t\t\tthis.form.get('text').updateValueAndValidity();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic formReset(_isMediaType: boolean = false): void {\r\n\t\tthis.form.get('text').reset();\r\n\t\tthis.form.get('template').reset();\r\n\t\t(this.form.get('paramBody') as FormArray).controls = [];\r\n\t\t(this.form.get('paramBody') as FormArray).reset();\r\n\r\n\t\tthis.initValidation();\r\n\t}\r\n\r\n\tprivate initParam(_name: string, _value: any, _type: string): Parameter {\r\n\t\treturn {\r\n\t\t\tname: _name,\r\n\t\t\tvalue: _value,\r\n\t\t\tin: 'query',\r\n\t\t\ttype: _type,\r\n\t\t};\r\n\t}\r\n\r\n\tprivate getAccountOptionService(\r\n\t\tfilter: string = '',\r\n\t\tisInfinite: boolean = false\r\n\t): void {\r\n\t\tthis.isLoadingAccountOption = true;\r\n\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\tthis.initParam('pageNo', this.pageNoAccountOption, 'number'),\r\n\t\t\tthis.initParam('rowPerPage', 20, 'number'),\r\n\t\t\tthis.initParam('platform', 'EMAIL', 'string'),\r\n\t\t\tthis.initParam('status', 'APPROVED', 'string'),\r\n\t\t\tthis.initParam('filter', filter, 'string'),\r\n\t\t];\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(parameterList, '/admin/account', 'GET')\r\n\t\t\t.subscribe((resp: AppResponse<WhatsAppAccountDto[]>) => {\r\n\t\t\t\tif (!resp.data) return;\r\n\r\n\t\t\t\tthis.accountOption = isInfinite\r\n\t\t\t\t\t? [...this.accountOption, ...resp.data]\r\n\t\t\t\t\t: resp.data;\r\n\t\t\t\tthis.isHaveNextAccountOption = resp.haveNext;\r\n\t\t\t\tthis.isLoadingAccountOption = false;\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tpublic getTemplateOptionService(\r\n\t\tevent: string = null,\r\n\t\tfilter: string = '',\r\n\t\tisInfinite: boolean = false\r\n\t): void {\r\n\t\tthis.isLoadingTemplateOption = true;\r\n\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\tthis.initParam('pageNo', this.pageNoTemplateOption, 'number'),\r\n\t\t\tthis.initParam('rowPerPage', 20, 'number'),\r\n\t\t\tthis.initParam('platform', 'EMAIL', 'string'),\r\n\t\t\tthis.initParam('filter', filter, 'string'),\r\n\t\t\tthis.initParam(\r\n\t\t\t\t'clientId',\r\n\t\t\t\tthis.form.get('from').value?.clientId,\r\n\t\t\t\t'string'\r\n\t\t\t),\r\n\t\t\tthis.initParam(\r\n\t\t\t\t'wabaId',\r\n\t\t\t\tthis.form.get('from').value?.wabaId ?? '',\r\n\t\t\t\t'string'\r\n\t\t\t),\r\n\t\t];\r\n\r\n\t\tif (this.isReadOnlyMode)\r\n\t\t\tparameterList.push(this.initParam('summary', true, 'string'));\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(parameterList, '/message/template', 'GET')\r\n\t\t\t.subscribe((resp: AppResponse<TemplateWAModel[]>) => {\r\n\t\t\t\tthis.templateOption = isInfinite\r\n\t\t\t\t\t? [...this.templateOption, ...resp.data]\r\n\t\t\t\t\t: resp.data;\r\n\t\t\t\tthis.isHaveNextTemplateOption = resp.haveNext;\r\n\t\t\t\tthis.isLoadingTemplateOption = false;\r\n\r\n\t\t\t\tconst template = this.templateOption?.find(\r\n\t\t\t\t\tt => t.ID === this.form.get('template').value?.ID\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (template) {\r\n\t\t\t\t\tthis.form.get('template').setValue(template);\r\n\r\n\t\t\t\t\tif (this.form.get('isUpload').value)\r\n\t\t\t\t\t\treturn this.updateDownloadCSV(\r\n\t\t\t\t\t\t\tthis.form.get('isUpload').value\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\tthis.updateTemplate(this.form.get('template').value);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tprivate initParameter(value: string = ''): FormGroup {\r\n\t\tconst form = new FormGroup({\r\n\t\t\tname: new FormControl(\r\n\t\t\t\t{\r\n\t\t\t\t\tvalue: value,\r\n\t\t\t\t\tdisabled:\r\n\t\t\t\t\t\tthis.isReadOnlyMode ||\r\n\t\t\t\t\t\t['UnsubscribeAccount'].includes(value),\r\n\t\t\t\t},\r\n\t\t\t\tValidators.required\r\n\t\t\t),\r\n\t\t});\r\n\r\n\t\treturn form;\r\n\t}\r\n\r\n\tget getParamBody(): FormGroup[] {\r\n\t\treturn (this.form.get('paramBody') as FormArray)\r\n\t\t\t.controls as FormGroup[];\r\n\t}\r\n\r\n\tpublic addParamBody(value: string = ''): void {\r\n\t\tconst form = this.initParameter(value);\r\n\t\t(this.form.get('paramBody') as FormArray).push(form);\r\n\t}\r\n\r\n\tpublic getNextAccountBatch() {\r\n\t\tif (!this.isHaveNextAccountOption) return;\r\n\r\n\t\tthis.pageNoAccountOption += 1;\r\n\t\tthis.getAccountOptionService('', true);\r\n\t}\r\n\r\n\tpublic accountSelectedDisplay(\r\n\t\tattribute1: WhatsAppAccountDto,\r\n\t\tattribute2: WhatsAppAccountDto\r\n\t): string {\r\n\t\treturn attribute1 && attribute2 && attribute1.id == attribute2.id\r\n\t\t\t? `${attribute1.name} (${attribute1.accountNo})`\r\n\t\t\t: '';\r\n\t}\r\n\r\n\tpublic getNextTemplateBatch() {\r\n\t\tif (!this.isHaveNextTemplateOption) return;\r\n\r\n\t\tthis.pageNoTemplateOption += 1;\r\n\t\tthis.getTemplateOptionService(null, '', true);\r\n\t}\r\n\r\n\tpublic templateSelectedDisplay(\r\n\t\tattribute1: TemplateWAModel,\r\n\t\tattribute2: TemplateWAModel\r\n\t): string {\r\n\t\treturn attribute1 && attribute2 && attribute1.name == attribute2.name\r\n\t\t\t? `${attribute1.name}`\r\n\t\t\t: '';\r\n\t}\r\n\r\n\tpublic updateTemplate(template: TemplateWAModel): void {\r\n\t\tif (!template) return;\r\n\r\n\t\tthis.isHaveTemplateParam = template.body.examples?.length > 0;\r\n\r\n\t\ttemplate.body.examples?.length > 0\r\n\t\t\t? this.form.get('paramBody').setValidators(Validators.required)\r\n\t\t\t: this.form.get('paramBody').clearValidators();\r\n\r\n\t\t(this.form.get('paramBody') as FormArray).controls = [];\r\n\t\t(this.form.get('paramBody') as FormArray).reset();\r\n\t\tthis.form.get('paramBody').updateValueAndValidity();\r\n\r\n\t\tconst formStorage = this.getCampaignStorage?.generalInformation?.form;\r\n\r\n\t\ttemplate.body.examples?.forEach((each, index) => {\r\n\t\t\tlet paramValue =\r\n\t\t\t\tformStorage?.paramBody?.[index]?.name ??\r\n\t\t\t\tformStorage?.paramBody?.[index] ??\r\n\t\t\t\t'';\r\n\r\n\t\t\tif (['UnsubscribeAccount'].includes(each)) paramValue = each;\r\n\r\n\t\t\tthis.addParamBody(paramValue);\r\n\t\t});\r\n\t}\r\n\r\n\tpublic updateSearch(searchValue: string): void {\r\n\t\tthis.pageNoTemplateOption = 1;\r\n\t\tthis.getTemplateOptionService(searchValue);\r\n\t}\r\n\r\n\tpublic updateSearchAccount(searchValue: string): void {\r\n\t\tthis.pageNoAccountOption = 1;\r\n\t\tthis.getAccountOptionService(searchValue);\r\n\t}\r\n\r\n\tpublic updateDownloadCSV(isChecked: boolean): void {\r\n\t\tthis.form.get('isUpload').setValue(isChecked);\r\n\r\n\t\tif (isChecked) {\r\n\t\t\t(this.form.get('paramBody') as FormArray).controls = [];\r\n\t\t\t(this.form.get('paramBody') as FormArray).reset();\r\n\t\t\tthis.form.get('paramBody').clearValidators();\r\n\t\t\tthis.form.get('paramBody').updateValueAndValidity();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.updateTemplate(this.form.get('template').value);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscribers.forEach(each => each.unsubscribe());\r\n\t}\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n} from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport {\r\n\tGeneralInformationLineMessageValidationConst,\r\n\tMsgTypeLineOptionConst,\r\n} from '../../../../../core/const';\r\nimport { Parameter } from '../../../../../core/models/util/api-adapter-service-models';\r\nimport { AppResponse } from '../../../../../core/models/util/api-dto/response-models';\r\nimport { ApiAdapterServiceService } from '../../../../../core/services';\r\nimport { TemplateWAModel, WhatsAppAccountDto } from '../../../../models';\r\n@Component({\r\n\tselector: 'lib-general-information-line',\r\n\ttemplateUrl: './general-information-line.component.html',\r\n\tstyleUrls: ['./general-information-line.component.scss'],\r\n})\r\nexport class GeneralInformationLineComponent implements OnInit, OnDestroy {\r\n\t@Output()\r\n\tpublic updateGeneralInformationForm: EventEmitter<FormGroup>;\r\n\r\n\tpublic form: FormGroup;\r\n\tpublic msgTypeWAOption: any[] = [];\r\n\tpublic validationMessages: any;\r\n\tpublic accountOption: WhatsAppAccountDto[] = [];\r\n\tpublic isHaveNextAccountOption: boolean = true;\r\n\tpublic isLoadingAccountOption: boolean = false;\r\n\tpublic templateOption: TemplateWAModel[] = [];\r\n\tpublic isHaveNextTemplateOption: boolean = true;\r\n\tpublic isLoadingTemplateOption: boolean = false;\r\n\r\n\tprivate pageNoAccountOption: number = 1;\r\n\tprivate pageNoTemplateOption: number = 1;\r\n\tprivate subscribers: Subscription[] = [];\r\n\r\n\t@Input() public isReadOnlyMode: boolean;\r\n\r\n\t@Input()\r\n\tset isTouchedForm(status: boolean) {\r\n\t\tif (!this.updateGeneralInformationForm) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.updateGeneralInformationForm.emit(this.form);\r\n\t\t});\r\n\t}\r\n\r\n\tconstructor(private apiAdapterService: ApiAdapterServiceService) {\r\n\t\tthis.updateGeneralInformationForm = new EventEmitter();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.msgTypeWAOption = MsgTypeLineOptionConst;\r\n\t\tthis.validationMessages = GeneralInformationLineMessageValidationConst;\r\n\r\n\t\tthis.initForm();\r\n\t\tthis.initDisable();\r\n\t\tthis.initEdit();\r\n\t\tthis.initValidation();\r\n\t\tthis.getAccountOptionService(\r\n\t\t\tthis.getCampaignStorage?.generalInformation?.form?.medium === 'LINE'\r\n\t\t\t\t? this.getCampaignStorage?.generalInformation?.form?.from?.name\r\n\t\t\t\t: ''\r\n\t\t);\r\n\t}\r\n\r\n\tget getCampaignStorage(): any {\r\n\t\treturn localStorage.getItem('telin.campaign')\r\n\t\t\t? JSON.parse(localStorage.getItem('telin.campaign'))\r\n\t\t\t: {};\r\n\t}\r\n\r\n\tprivate initForm(): void {\r\n\t\tthis.form = new FormGroup({\r\n\t\t\tchannel: new FormControl(null, Validators.required),\r\n\t\t\tfrom: new FormControl(null, Validators.required),\r\n\t\t\ttext: new FormControl(null),\r\n\t\t\ttemplate: new FormControl(null),\r\n\t\t\tisJSON: new FormControl(false),\r\n\t\t\tparamBody: new FormArray([], Validators.required),\r\n\t\t});\r\n\r\n\t\tthis.form.valueChanges.subscribe(() => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.updateGeneralInformationForm.emit(this.form);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tprivate initDisable(): void {\r\n\t\tif (!this.isReadOnlyMode) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.form.disable();\r\n\t}\r\n\r\n\tprivate initEdit(): void {\r\n\t\tif (\r\n\t\t\tObject.entries(this.getCampaignStorage).length === 0 ||\r\n\t\t\tthis.getCampaignStorage?.generalInformation?.form?.medium !== 'LINE'\r\n\t\t)\r\n\t\t\treturn;\r\n\r\n\t\tthis.form\r\n\t\t\t.get('channel')\r\n\t\t\t.setValue(\r\n\t\t\t\tthis.getCampaignStorage?.generalInformation?.form.channel\r\n\t\t\t);\r\n\t\tthis.form\r\n\t\t\t.get('from')\r\n\t\t\t.setValue(this.getCampaignStorage?.generalInformation?.form.from);\r\n\t\tthis.form\r\n\t\t\t.get('text')\r\n\t\t\t.setValue(this.getCampaignStorage?.generalInformation?.form.text);\r\n\t\tthis.form\r\n\t\t\t.get('template')\r\n\t\t\t.setValue(\r\n\t\t\t\tthis.getCampaignStorage?.generalInformation?.form.template\r\n\t\t\t);\r\n\r\n\t\tthis.getTemplateOptionService(\r\n\t\t\tnull,\r\n\t\t\tthis.form.get('template').value?.name\r\n\t\t);\r\n\t}\r\n\r\n\tprivate initValidation(): void {\r\n\t\tfor (const key in this.form.controls) {\r\n\t\t\tthis.form.controls[key].clearValidators();\r\n\t\t\tthis.form.controls[key].updateValueAndValidity();\r\n\t\t}\r\n\r\n\t\tthis.form.get('channel').setValidators(Validators.required);\r\n\t\tthis.form.get('from').setValidators(Validators.required);\r\n\r\n\t\tif (this.isText) {\r\n\t\t\tthis.form.get('text').setValidators(Validators.required);\r\n\t\t\tthis.form.get('text').updateValueAndValidity();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.form.get('template').setValidators(Validators.required);\r\n\t\tthis.form.get('template').updateValueAndValidity();\r\n\t\tthis.form.get('paramBody').setValidators(Validators.required);\r\n\t\tthis.form.get('paramBody').updateValueAndValidity();\r\n\t}\r\n\r\n\tpublic formReset(): void {\r\n\t\tthis.form.get('text').reset();\r\n\t\tthis.form.get('template').reset();\r\n\t\t(this.form.get('paramBody') as FormArray).controls = [];\r\n\t\t(this.form.get('paramBody') as FormArray).reset();\r\n\r\n\t\tthis.initValidation();\r\n\t}\r\n\r\n\tprivate initParam(_name: string, _value: any, _type: string): Parameter {\r\n\t\treturn {\r\n\t\t\tname: _name,\r\n\t\t\tvalue: _value,\r\n\t\t\tin: 'query',\r\n\t\t\ttype: _type,\r\n\t\t};\r\n\t}\r\n\r\n\tprivate getAccountOptionService(\r\n\t\tfilter: string = '',\r\n\t\tisInfinite: boolean = false\r\n\t): void {\r\n\t\tthis.isLoadingAccountOption = true;\r\n\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\tthis.initParam('pageNo', this.pageNoAccountOption, 'number'),\r\n\t\t\tthis.initParam('rowPerPage', 20, 'number'),\r\n\t\t\tthis.initParam('platform', 'LINE', 'string'),\r\n\t\t\tthis.initParam('status', 'APPROVED', 'string'),\r\n\t\t\tthis.initParam('filter', filter, 'string'),\r\n\t\t];\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(parameterList, '/admin/account', 'GET')\r\n\t\t\t.subscribe((resp: AppResponse<WhatsAppAccountDto[]>) => {\r\n\t\t\t\tif (!resp.data) return;\r\n\r\n\t\t\t\tthis.accountOption = isInfinite\r\n\t\t\t\t\t? [...this.accountOption, ...resp.data]\r\n\t\t\t\t\t: resp.data;\r\n\t\t\t\tthis.isHaveNextAccountOption = resp.haveNext;\r\n\t\t\t\tthis.isLoadingAccountOption = false;\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tpublic getTemplateOptionService(\r\n\t\tevent: string = null,\r\n\t\tfilter: string = '',\r\n\t\tisInfinite: boolean = false\r\n\t): void {\r\n\t\tthis.isLoadingTemplateOption = true;\r\n\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\tthis.initParam('pageNo', this.pageNoTemplateOption, 'number'),\r\n\t\t\tthis.initParam('rowPerPage', 20, 'number'),\r\n\t\t\tthis.initParam('platform', 'LINE', 'string'),\r\n\t\t\tthis.initParam('filter', filter, 'string'),\r\n\t\t\tthis.initParam(\r\n\t\t\t\t'clientId',\r\n\t\t\t\tthis.form.get('from').value?.clientId,\r\n\t\t\t\t'string'\r\n\t\t\t),\r\n\t\t];\r\n\r\n\t\tif (this.isReadOnlyMode)\r\n\t\t\tparameterList.push(this.initParam('summary', true, 'string'));\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(parameterList, '/message/template', 'GET')\r\n\t\t\t.subscribe((resp: AppResponse<TemplateWAModel[]>) => {\r\n\t\t\t\tthis.templateOption = isInfinite\r\n\t\t\t\t\t? [...this.templateOption, ...resp.data]\r\n\t\t\t\t\t: resp.data;\r\n\t\t\t\tthis.isHaveNextTemplateOption = resp.haveNext;\r\n\t\t\t\tthis.isLoadingTemplateOption = false;\r\n\r\n\t\t\t\tconst template = this.templateOption?.find(\r\n\t\t\t\t\tt => t.ID === this.form.get('template').value?.ID\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (template) {\r\n\t\t\t\t\tthis.form.get('template').setValue(template);\r\n\t\t\t\t\tthis.updateTemplate(this.form.get('template').value);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tprivate initParameter(value: string = ''): FormGroup {\r\n\t\tconst form = new FormGroup({\r\n\t\t\tname: new FormControl(\r\n\t\t\t\t{ value: value, disabled: this.isReadOnlyMode },\r\n\t\t\t\tValidators.required\r\n\t\t\t),\r\n\t\t});\r\n\r\n\t\treturn form;\r\n\t}\r\n\r\n\tget getParamBody(): FormGroup[] {\r\n\t\treturn (this.form.get('paramBody') as FormArray)\r\n\t\t\t.controls as FormGroup[];\r\n\t}\r\n\r\n\tpublic addParamBody(value: string = ''): void {\r\n\t\tconst form = this.initParameter(value);\r\n\t\t(this.form.get('paramBody') as FormArray).push(form);\r\n\t}\r\n\r\n\tget isText(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.form.get('channel').value &&\r\n\t\t\tthis.form.get('channel').value?.toLowerCase() === 'text'\r\n\t\t);\r\n\t}\r\n\r\n\tget isTemplate(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.form.get('channel').value &&\r\n\t\t\tthis.form.get('channel').value?.toLowerCase() === 'template'\r\n\t\t);\r\n\t}\r\n\r\n\tpublic getNextAccountBatch() {\r\n\t\tif (!this.isHaveNextAccountOption) return;\r\n\r\n\t\tthis.pageNoAccountOption += 1;\r\n\t\tthis.getAccountOptionService('', true);\r\n\t}\r\n\r\n\tpublic accountSelectedDisplay(\r\n\t\tattribute1: WhatsAppAccountDto,\r\n\t\tattribute2: WhatsAppAccountDto\r\n\t): string {\r\n\t\treturn attribute1 && attribute2 && attribute1.id == attribute2.id\r\n\t\t\t? `${attribute1.name} (${attribute1.accountNo})`\r\n\t\t\t: '';\r\n\t}\r\n\r\n\tpublic getNextTemplateBatch() {\r\n\t\tif (!this.isHaveNextTemplateOption) return;\r\n\r\n\t\tthis.pageNoTemplateOption += 1;\r\n\t\tthis.getTemplateOptionService(null, '', true);\r\n\t}\r\n\r\n\tpublic templateSelectedDisplay(\r\n\t\tattribute1: TemplateWAModel,\r\n\t\tattribute2: TemplateWAModel\r\n\t): string {\r\n\t\treturn attribute1 && attribute2 && attribute1.name == attribute2.name\r\n\t\t\t? `${attribute1.name}`\r\n\t\t\t: '';\r\n\t}\r\n\r\n\tpublic updateTemplate(template: TemplateWAModel): void {\r\n\t\tif (!template) return;\r\n\r\n\t\tlet bodyText = template.body.text;\r\n\r\n\t\tif (this.isJsonString(template.body.text)) {\r\n\t\t\tbodyText = JSON.parse(template.body.text).text;\r\n\t\t}\r\n\r\n\t\tthis.form.get('isJSON').setValue(this.isJsonString(template.body.text));\r\n\t\t(this.form.get('paramBody') as FormArray).controls = [];\r\n\t\t(this.form.get('paramBody') as FormArray).reset();\r\n\r\n\t\tconst findBrackets = bodyText?.match(/{{/g);\r\n\t\tconst formStorage = this.getCampaignStorage?.generalInformation?.form;\r\n\r\n\t\tfindBrackets?.length > 0\r\n\t\t\t? this.form.get('paramBody').setValidators(Validators.required)\r\n\t\t\t: this.form.get('paramBody').clearValidators();\r\n\r\n\t\tfindBrackets?.forEach((_, index) => {\r\n\t\t\tthis.addParamBody(\r\n\t\t\t\tformStorage?.paramBody?.[index]?.name ??\r\n\t\t\t\t\tformStorage?.paramBody?.[index] ??\r\n\t\t\t\t\t''\r\n\t\t\t);\r\n\t\t});\r\n\r\n\t\tthis.form.get('paramBody').updateValueAndValidity();\r\n\t}\r\n\r\n\tprivate isJsonString(str: string): boolean {\r\n\t\ttry {\r\n\t\t\tJSON.parse(str);\r\n\t\t} catch (e) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\tpublic updateSearch(searchValue: string): void {\r\n\t\tthis.pageNoTemplateOption = 1;\r\n\t\tthis.getTemplateOptionService(null, searchValue);\r\n\t}\r\n\r\n\tpublic updateSearchAccount(searchValue: string): void {\r\n\t\tthis.pageNoAccountOption = 1;\r\n\t\tthis.getAccountOptionService(searchValue);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscribers.forEach(each => each.unsubscribe());\r\n\t}\r\n}\r\n","import {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n} from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport {\r\n\tGeneralInformationSMSMessageValidationConst,\r\n\tMsgTypeWAOptionConst,\r\n} from '../../../../../core/const';\r\nimport { Parameter } from '../../../../../core/models/util/api-adapter-service-models';\r\nimport { AppResponse } from '../../../../../core/models/util/api-dto/response-models';\r\nimport { ApiAdapterServiceService } from '../../../../../core/services';\r\nimport { TemplateWAModel, WhatsAppAccountDto } from '../../../../models';\r\n\r\n@Component({\r\n\tselector: 'lib-general-information-sms',\r\n\ttemplateUrl: './general-information-sms.component.html',\r\n\tstyleUrls: ['./general-information-sms.component.scss'],\r\n})\r\nexport class GeneralInformationSMSComponent implements OnInit, OnDestroy {\r\n\t@Output()\r\n\tpublic updateGeneralInformationForm: EventEmitter<FormGroup>;\r\n\r\n\tpublic form: FormGroup;\r\n\tpublic msgTypeWAOption: any[] = [];\r\n\tpublic validationMessages: any;\r\n\tpublic accountOption: WhatsAppAccountDto[] = [];\r\n\tpublic isHaveNextAccountOption: boolean = true;\r\n\tpublic isLoadingAccountOption: boolean = false;\r\n\tpublic templateOption: TemplateWAModel[] = [];\r\n\tpublic isHaveNextTemplateOption: boolean = true;\r\n\tpublic isLoadingTemplateOption: boolean = false;\r\n\tpublic isHaveTemplateParam: boolean = false;\r\n\r\n\tprivate pageNoAccountOption: number = 1;\r\n\tprivate pageNoTemplateOption: number = 1;\r\n\tprivate subscribers: Subscription[] = [];\r\n\r\n\t@Input() public isReadOnlyMode: boolean;\r\n\r\n\t@Input()\r\n\tset isTouchedForm(status: boolean) {\r\n\t\tif (!this.updateGeneralInformationForm) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.updateGeneralInformationForm.emit(this.form);\r\n\t\t});\r\n\t}\r\n\r\n\tconstructor(private apiAdapterService: ApiAdapterServiceService) {\r\n\t\tthis.updateGeneralInformationForm = new EventEmitter();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.msgTypeWAOption = MsgTypeWAOptionConst.filter(\r\n\t\t\tt => t.code === 'TEXT' || t.code === 'TEMPLATE'\r\n\t\t);\r\n\t\tthis.validationMessages = GeneralInformationSMSMessageValidationConst;\r\n\r\n\t\tthis.initForm();\r\n\t\tthis.initDisable();\r\n\t\tthis.initEdit();\r\n\t\tthis.initValidation();\r\n\t\tthis.getAccountOptionService(\r\n\t\t\tthis.getCampaignStorage?.generalInformation?.form?.medium === 'SMS'\r\n\t\t\t\t? this.getCampaignStorage?.generalInformation?.form?.from?.name\r\n\t\t\t\t: ''\r\n\t\t);\r\n\t}\r\n\r\n\tget getCampaignStorage(): any {\r\n\t\treturn localStorage.getItem('telin.campaign')\r\n\t\t\t? JSON.parse(localStorage.getItem('telin.campaign'))\r\n\t\t\t: {};\r\n\t}\r\n\r\n\tprivate initForm(): void {\r\n\t\tthis.form = new FormGroup({\r\n\t\t\tchannel: new FormControl(null, Validators.required),\r\n\t\t\tfrom: new FormControl(null, Validators.required),\r\n\t\t\ttext: new FormControl(null, Validators.required),\r\n\t\t\ttemplate: new FormControl(null, Validators.required),\r\n\t\t\tparamBody: new FormArray([], Validators.required),\r\n\t\t\tisUpload: new FormControl(false),\r\n\t\t\tfileId: new FormControl(''),\r\n\t\t});\r\n\r\n\t\tthis.form.valueChanges.subscribe(() => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.updateGeneralInformationForm.emit(this.form);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tprivate initDisable(): void {\r\n\t\tif (!this.isReadOnlyMode) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.form.disable();\r\n\t}\r\n\r\n\tprivate initEdit(): void {\r\n\t\tif (\r\n\t\t\tObject.entries(this.getCampaignStorage).length === 0 ||\r\n\t\t\tthis.getCampaignStorage?.generalInformation?.form?.medium !== 'SMS'\r\n\t\t)\r\n\t\t\treturn;\r\n\r\n\t\tthis.form\r\n\t\t\t.get('channel')\r\n\t\t\t.setValue(\r\n\t\t\t\tthis.getCampaignStorage?.generalInformation?.form.channel\r\n\t\t\t);\r\n\t\tthis.form\r\n\t\t\t.get('from')\r\n\t\t\t.setValue(this.getCampaignStorage?.generalInformation?.form.from);\r\n\t\tthis.form\r\n\t\t\t.get('text')\r\n\t\t\t.setValue(this.getCampaignStorage?.generalInformation?.form.text);\r\n\t\tthis.form\r\n\t\t\t.get('template')\r\n\t\t\t.setValue(\r\n\t\t\t\tthis.getCampaignStorage?.generalInformation?.form.template\r\n\t\t\t);\r\n\t\tthis.form\r\n\t\t\t.get('isUpload')\r\n\t\t\t.setValue(\r\n\t\t\t\tthis.getCampaignStorage?.generalInformation?.form.isUpload\r\n\t\t\t);\r\n\t\tthis.form\r\n\t\t\t.get('fileId')\r\n\t\t\t.setValue(this.getCampaignStorage?.generalInformation?.form.fileId);\r\n\r\n\t\tthis.isHaveTemplateParam = this.form.get('isUpload').value;\r\n\t\tthis.getTemplateOptionService(\r\n\t\t\tnull,\r\n\t\t\tthis.form.get('template').value?.name\r\n\t\t);\r\n\t}\r\n\r\n\tget getIsTemplate(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.form.get('channel').value &&\r\n\t\t\tthis.form.get('channel').value?.toLowerCase() === 'template'\r\n\t\t);\r\n\t}\r\n\r\n\tprivate initValidation(): void {\r\n\t\tfor (const key in this.form.controls) {\r\n\t\t\tthis.form.controls[key].clearValidators();\r\n\t\t\tthis.form.controls[key].updateValueAndValidity();\r\n\t\t}\r\n\r\n\t\tthis.form.get('channel').setValidators(Validators.required);\r\n\t\tthis.form.get('from').setValidators(Validators.required);\r\n\r\n\t\tif (this.getIsTemplate) {\r\n\t\t\tthis.form.get('template').setValidators(Validators.required);\r\n\t\t\tthis.form.get('paramBody').setValidators(Validators.required);\r\n\t\t\tthis.form.get('template').updateValueAndValidity();\r\n\t\t\tthis.form.get('paramBody').updateValueAndValidity();\r\n\t\t} else {\r\n\t\t\tthis.form.get('text').setValidators(Validators.required);\r\n\t\t\tthis.form.get('text').updateValueAndValidity();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic formReset(_isMediaType: boolean = false): void {\r\n\t\tthis.form.get('text').reset();\r\n\t\tthis.form.get('template').reset();\r\n\t\t(this.form.get('paramBody') as FormArray).controls = [];\r\n\t\t(this.form.get('paramBody') as FormArray).reset();\r\n\r\n\t\tthis.initValidation();\r\n\t}\r\n\r\n\tprivate initParam(_name: string, _value: any, _type: string): Parameter {\r\n\t\treturn {\r\n\t\t\tname: _name,\r\n\t\t\tvalue: _value,\r\n\t\t\tin: 'query',\r\n\t\t\ttype: _type,\r\n\t\t};\r\n\t}\r\n\r\n\tprivate getAccountOptionService(\r\n\t\tfilter: string = '',\r\n\t\tisInfinite: boolean = false\r\n\t): void {\r\n\t\tthis.isLoadingAccountOption = true;\r\n\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\tthis.initParam('pageNo', this.pageNoAccountOption, 'number'),\r\n\t\t\tthis.initParam('rowPerPage', 20, 'number'),\r\n\t\t\tthis.initParam('platform', 'SMS', 'string'),\r\n\t\t\tthis.initParam('status', 'APPROVED', 'string'),\r\n\t\t\tthis.initParam('filter', filter, 'string'),\r\n\t\t];\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(parameterList, '/admin/account', 'GET')\r\n\t\t\t.subscribe((resp: AppResponse<WhatsAppAccountDto[]>) => {\r\n\t\t\t\tif (!resp.data) return;\r\n\r\n\t\t\t\tthis.accountOption = isInfinite\r\n\t\t\t\t\t? [...this.accountOption, ...resp.data]\r\n\t\t\t\t\t: resp.data;\r\n\t\t\t\tthis.isHaveNextAccountOption = resp.haveNext;\r\n\t\t\t\tthis.isLoadingAccountOption = false;\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tpublic getTemplateOptionService(\r\n\t\tevent: string = null,\r\n\t\tfilter: string = '',\r\n\t\tisInfinite: boolean = false\r\n\t): void {\r\n\t\tthis.isLoadingTemplateOption = true;\r\n\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\tthis.initParam('pageNo', this.pageNoTemplateOption, 'number'),\r\n\t\t\tthis.initParam('rowPerPage', 20, 'number'),\r\n\t\t\tthis.initParam('platform', 'SMS', 'string'),\r\n\t\t\tthis.initParam('filter', filter, 'string'),\r\n\t\t\tthis.initParam(\r\n\t\t\t\t'clientId',\r\n\t\t\t\tthis.form.get('from').value?.clientId,\r\n\t\t\t\t'string'\r\n\t\t\t),\r\n\t\t\tthis.initParam(\r\n\t\t\t\t'wabaId',\r\n\t\t\t\tthis.form.get('from').value?.wabaId ?? '',\r\n\t\t\t\t'string'\r\n\t\t\t),\r\n\t\t];\r\n\r\n\t\tif (this.isReadOnlyMode)\r\n\t\t\tparameterList.push(this.initParam('summary', true, 'string'));\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(parameterList, '/message/template', 'GET')\r\n\t\t\t.subscribe((resp: AppResponse<TemplateWAModel[]>) => {\r\n\t\t\t\tthis.templateOption = isInfinite\r\n\t\t\t\t\t? [...this.templateOption, ...resp.data]\r\n\t\t\t\t\t: resp.data;\r\n\t\t\t\tthis.isHaveNextTemplateOption = resp.haveNext;\r\n\t\t\t\tthis.isLoadingTemplateOption = false;\r\n\r\n\t\t\t\tconst template = this.templateOption?.find(\r\n\t\t\t\t\tt => t.ID === this.form.get('template').value?.ID\r\n\t\t\t\t);\r\n\r\n\t\t\t\tif (template) {\r\n\t\t\t\t\tthis.form.get('template').setValue(template);\r\n\r\n\t\t\t\t\tif (this.form.get('isUpload').value)\r\n\t\t\t\t\t\treturn this.updateDownloadCSV(\r\n\t\t\t\t\t\t\tthis.form.get('isUpload').value\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\tthis.updateTemplate(this.form.get('template').value);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tprivate initParameter(value: string = ''): FormGroup {\r\n\t\tconst form = new FormGroup({\r\n\t\t\tname: new FormControl(\r\n\t\t\t\t{\r\n\t\t\t\t\tvalue: value,\r\n\t\t\t\t\tdisabled:\r\n\t\t\t\t\t\tthis.isReadOnlyMode ||\r\n\t\t\t\t\t\t['UnsubscribeAccount'].includes(value),\r\n\t\t\t\t},\r\n\t\t\t\tValidators.required\r\n\t\t\t),\r\n\t\t});\r\n\r\n\t\treturn form;\r\n\t}\r\n\r\n\tget getParamBody(): FormGroup[] {\r\n\t\treturn (this.form.get('paramBody') as FormArray)\r\n\t\t\t.controls as FormGroup[];\r\n\t}\r\n\r\n\tpublic addParamBody(value: string = ''): void {\r\n\t\tconst form = this.initParameter(value);\r\n\t\t(this.form.get('paramBody') as FormArray).push(form);\r\n\t}\r\n\r\n\tpublic getNextAccountBatch() {\r\n\t\tif (!this.isHaveNextAccountOption) return;\r\n\r\n\t\tthis.pageNoAccountOption += 1;\r\n\t\tthis.getAccountOptionService('', true);\r\n\t}\r\n\r\n\tpublic accountSelectedDisplay(\r\n\t\tattribute1: WhatsAppAccountDto,\r\n\t\tattribute2: WhatsAppAccountDto\r\n\t): string {\r\n\t\treturn attribute1 && attribute2 && attribute1.id == attribute2.id\r\n\t\t\t? `${attribute1.name} (${attribute1.accountNo})`\r\n\t\t\t: '';\r\n\t}\r\n\r\n\tpublic getNextTemplateBatch() {\r\n\t\tif (!this.isHaveNextTemplateOption) return;\r\n\r\n\t\tthis.pageNoTemplateOption += 1;\r\n\t\tthis.getTemplateOptionService(null, '', true);\r\n\t}\r\n\r\n\tpublic templateSelectedDisplay(\r\n\t\tattribute1: TemplateWAModel,\r\n\t\tattribute2: TemplateWAModel\r\n\t): string {\r\n\t\treturn attribute1 && attribute2 && attribute1.name == attribute2.name\r\n\t\t\t? `${attribute1.name}`\r\n\t\t\t: '';\r\n\t}\r\n\r\n\tpublic updateTemplate(template: TemplateWAModel): void {\r\n\t\tif (!template) return;\r\n\r\n\t\tthis.isHaveTemplateParam = template.body.examples?.length > 0;\r\n\r\n\t\ttemplate.body.examples?.length > 0\r\n\t\t\t? this.form.get('paramBody').setValidators(Validators.required)\r\n\t\t\t: this.form.get('paramBody').clearValidators();\r\n\r\n\t\t(this.form.get('paramBody') as FormArray).controls = [];\r\n\t\t(this.form.get('paramBody') as FormArray).reset();\r\n\t\tthis.form.get('paramBody').updateValueAndValidity();\r\n\r\n\t\tconst formStorage = this.getCampaignStorage?.generalInformation?.form;\r\n\r\n\t\ttemplate.body.examples?.forEach((each, index) => {\r\n\t\t\tlet paramValue =\r\n\t\t\t\tformStorage?.paramBody?.[index]?.name ??\r\n\t\t\t\tformStorage?.paramBody?.[index] ??\r\n\t\t\t\t'';\r\n\r\n\t\t\tif (['UnsubscribeAccount'].includes(each)) paramValue = each;\r\n\r\n\t\t\tthis.addParamBody(paramValue);\r\n\t\t});\r\n\t}\r\n\r\n\tpublic updateSearch(searchValue: string): void {\r\n\t\tthis.pageNoTemplateOption = 1;\r\n\t\tthis.getTemplateOptionService('', searchValue);\r\n\t}\r\n\r\n\tpublic updateSearchAccount(searchValue: string): void {\r\n\t\tthis.pageNoAccountOption = 1;\r\n\t\tthis.getAccountOptionService(searchValue);\r\n\t}\r\n\r\n\tpublic updateDownloadCSV(isChecked: boolean): void {\r\n\t\tthis.form.get('isUpload').setValue(isChecked);\r\n\r\n\t\tif (isChecked) {\r\n\t\t\t(this.form.get('paramBody') as FormArray).controls = [];\r\n\t\t\t(this.form.get('paramBody') as FormArray).reset();\r\n\t\t\tthis.form.get('paramBody').clearValidators();\r\n\t\t\tthis.form.get('paramBody').updateValueAndValidity();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.updateTemplate(this.form.get('template').value);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscribers.forEach(each => each.unsubscribe());\r\n\t}\r\n}\r\n","import { MapsAPILoader } from '@agm/core';\r\nimport {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport {\r\n GeneralInformationWAMessageValidationConst,\r\n MediaTypeOptionConst,\r\n MsgTypeWAOptionConst,\r\n} from '../../../../../core/const';\r\nimport { ProductCategoryEnum } from '../../../../../core/enums';\r\nimport { BaseOptionModel } from '../../../../../core/models';\r\nimport { Parameter } from '../../../../../core/models/util/api-adapter-service-models';\r\nimport { AppResponse } from '../../../../../core/models/util/api-dto/response-models';\r\nimport { ApiAdapterServiceService } from '../../../../../core/services';\r\nimport { generateEnumOption } from '../../../../../core/util';\r\nimport { TemplateWAModel, WhatsAppAccountDto } from '../../../../models';\r\nimport { EnumData } from '../../../../util/enums';\r\n\r\ninterface IMaps {\r\n zoom: number;\r\n latitude: number;\r\n longitude: number;\r\n isDraggable: boolean;\r\n isDoubleClickZoom: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'lib-general-information-wa',\r\n templateUrl: './general-information-wa.component.html',\r\n styleUrls: ['./general-information-wa.component.scss'],\r\n})\r\nexport class GeneralInformationWAComponent implements OnInit, OnDestroy {\r\n @Output()\r\n public updateGeneralInformationForm: EventEmitter<FormGroup>;\r\n\r\n public form: FormGroup;\r\n public msgTypeWAOption: any[] = [];\r\n public mediaTypeOption: any[] = [];\r\n public categoryOption: BaseOptionModel[];\r\n public accountOption: WhatsAppAccountDto[] = [];\r\n public isHaveNextAccountOption: boolean = true;\r\n public isLoadingAccountOption: boolean = false;\r\n public templateOption: TemplateWAModel[] = [];\r\n public isHaveNextTemplateOption: boolean = true;\r\n public isLoadingTemplateOption: boolean = false;\r\n public isHaveTemplateParam: boolean = false;\r\n public isShowParameter: boolean = false;\r\n public validationMessages: any;\r\n public extFileAccepted: string = 'image/*';\r\n public maps: IMaps;\r\n\r\n private pageNoAccountOption: number = 1;\r\n private pageNoTemplateOption: number = 1;\r\n private subscribers: Subscription[] = [];\r\n private geoCoder: any;\r\n\r\n @Input() public isReadOnlyMode: boolean;\r\n\r\n @Input()\r\n set isTouchedForm(status: boolean) {\r\n if (!this.updateGeneralInformationForm) {\r\n return;\r\n }\r\n\r\n setTimeout(() => {\r\n this.updateGeneralInformationForm.emit(this.form);\r\n });\r\n }\r\n\r\n @ViewChild('mapSearch') mapSearchRef: ElementRef;\r\n\r\n constructor(\r\n private ngZone: NgZone,\r\n private mapsAPILoader: MapsAPILoader,\r\n private apiAdapterService: ApiAdapterServiceService,\r\n private toastr: ToastrService\r\n ) {\r\n this.updateGeneralInformationForm = new EventEmitter();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.msgTypeWAOption = MsgTypeWAOptionConst;\r\n this.mediaTypeOption = MediaTypeOptionConst;\r\n this.categoryOption = generateEnumOption(ProductCategoryEnum);\r\n this.validationMessages = GeneralInformationWAMessageValidationConst;\r\n this.maps = {\r\n zoom: 15,\r\n latitude: null,\r\n longitude: null,\r\n isDraggable: true,\r\n isDoubleClickZoom: true,\r\n };\r\n\r\n this.initForm();\r\n this.initDisable();\r\n this.initEdit();\r\n this.initValidation();\r\n this.getAccountOptionService(\r\n this.getCampaignStorage?.generalInformation?.form?.medium === 'WA'\r\n ? this.getCampaignStorage?.generalInformation?.form?.from?.name\r\n : ''\r\n );\r\n /* this.setCurrentLocation(); */\r\n }\r\n\r\n get getCampaignStorage(): any {\r\n return localStorage.getItem('telin.campaign')\r\n ? JSON.parse(localStorage.getItem('telin.campaign'))\r\n : {};\r\n }\r\n\r\n private initForm(): void {\r\n this.form = new FormGroup({\r\n channel: new FormControl(null, Validators.required),\r\n media: new FormControl(null),\r\n from: new FormControl(null),\r\n text: new FormControl(null),\r\n fileName: new FormControl(null),\r\n targetURL: new FormControl(null),\r\n fileType: new FormControl(null),\r\n file: new FormControl(null),\r\n latitude: new FormControl(null),\r\n longitude: new FormControl(null),\r\n template: new FormControl(null),\r\n paramHeader: new FormArray([], Validators.required),\r\n paramBody: new FormArray([], Validators.required),\r\n paramButton: new FormArray([], Validators.required),\r\n otpValue: new FormControl(''),\r\n isUpload: new FormControl(false),\r\n fileId: new FormControl(''),\r\n category: new FormControl(null),\r\n product: new FormControl(null),\r\n catalogue: new FormControl(null),\r\n body: new FormControl(null),\r\n });\r\n\r\n this.form.valueChanges.subscribe(() => {\r\n setTimeout(() => {\r\n this.updateGeneralInformationForm.emit(this.form);\r\n });\r\n });\r\n }\r\n\r\n private initDisable(): void {\r\n if (!this.isReadOnlyMode) {\r\n return;\r\n }\r\n\r\n this.form.disable();\r\n }\r\n\r\n private initEdit(): void {\r\n if (\r\n Object.entries(this.getCampaignStorage).length === 0 ||\r\n this.getCampaignStorage?.generalInformation?.form?.medium !== 'WA'\r\n )\r\n return;\r\n\r\n this.form\r\n .get('channel')\r\n .setValue(this.getCampaignStorage?.generalInformation?.form.channel);\r\n this.form.get('media').setValue(this.getCampaignStorage?.generalInformation?.form.media);\r\n this.form.get('from').setValue(this.getCampaignStorage?.generalInformation?.form.from);\r\n this.form.get('text').setValue(this.getCampaignStorage?.generalInformation?.form.text);\r\n this.form\r\n .get('targetURL')\r\n .setValue(this.getCampaignStorage?.generalInformation?.form.targetURL);\r\n this.form\r\n .get('fileName')\r\n .setValue(\r\n this.getCampaignStorage?.generalInformation?.form.fileName ??\r\n this.form.get('targetURL').value\r\n );\r\n this.form\r\n .get('template')\r\n .setValue(this.getCampaignStorage?.generalInformation?.form.template);\r\n this.form\r\n .get('isUpload')\r\n .setValue(this.getCampaignStorage?.generalInformation?.form.isUpload);\r\n this.form.get('fileId').setValue(this.getCampaignStorage?.generalInformation?.form.fileId);\r\n this.form\r\n .get('otpValue')\r\n .setValue(this.getCampaignStorage?.generalInformation?.form.otpValue);\r\n\r\n this.isHaveTemplateParam = this.form.get('isUpload').value;\r\n this.getTemplateOptionService(null, this.form.get('template').value?.name);\r\n }\r\n\r\n private initValidation(): void {\r\n for (const key in this.form.controls) {\r\n this.form.controls[key].clearValidators();\r\n this.form.controls[key].updateValueAndValidity();\r\n }\r\n\r\n this.form.get('channel').setValidators(Validators.required);\r\n\r\n if (this.getIsText) {\r\n this.form.get('from').setValidators(Validators.required);\r\n this.form.get('text').setValidators(Validators.required);\r\n this.form.get('from').updateValueAndValidity();\r\n this.form.get('text').updateValueAndValidity();\r\n } else if (this.getIsMedia) {\r\n this.form.get('media').setValidators(Validators.required);\r\n this.form.get('from').setValidators(Validators.required);\r\n this.form.get('fileName').setValidators(Validators.required);\r\n this.form.get('media').updateValueAndValidity();\r\n this.form.get('from').updateValueAndValidity();\r\n this.form.get('fileName').updateValueAndValidity();\r\n } else if (this.getIsTemplate) {\r\n this.form.get('from').setValidators(Validators.required);\r\n this.form.get('template').setValidators(Validators.required);\r\n this.form.get('paramHeader').setValidators(Validators.required);\r\n this.form.get('paramBody').setValidators(Validators.required);\r\n this.form.get('paramButton').setValidators(Validators.required);\r\n this.form.get('from').updateValueAndValidity();\r\n this.form.get('template').updateValueAndValidity();\r\n this.form.get('paramHeader').updateValueAndValidity();\r\n this.form.get('paramBody').updateValueAndValidity();\r\n this.form.get('paramButton').updateValueAndValidity();\r\n } else if (this.getIsCatalogue) {\r\n this.form.get('from').setValidators(Validators.required);\r\n this.form.get('category').setValidators(Validators.required);\r\n this.form.get('catalogue').setValidators(Validators.required);\r\n this.form.get('product').setValidators(Validators.required);\r\n this.form.get('body').setValidators(Validators.maxLength(100));\r\n this.form.get('from').updateValueAndValidity();\r\n this.form.get('category').updateValueAndValidity();\r\n this.form.get('catalogue').updateValueAndValidity();\r\n this.form.get('product').updateValueAndValidity();\r\n this.form.get('body').updateValueAndValidity();\r\n } else {\r\n this.form.get('from').setValidators(Validators.required);\r\n this.form.get('text').setValidators(Validators.required);\r\n this.form.get('from').updateValueAndValidity();\r\n this.form.get('text').updateValueAndValidity();\r\n }\r\n }\r\n\r\n public formReset(_isMediaType: boolean = false): void {\r\n if (!_isMediaType) {\r\n this.form.get('media').reset();\r\n this.form.get('from').reset();\r\n }\r\n\r\n this.form.get('text').reset();\r\n this.form.get('fileName').reset();\r\n this.form.get('targetURL').reset();\r\n this.form.get('fileType').reset();\r\n this.form.get('file').reset();\r\n this.form.get('latitude').reset();\r\n this.form.get('longitude').reset();\r\n this.form.get('template').reset();\r\n this.form.get('category').reset();\r\n this.form.get('product').reset();\r\n this.form.get('catalogue').reset();\r\n this.form.get('body').reset();\r\n this.form.get('otpValue').reset();\r\n (this.form.get('paramHeader') as FormArray).controls = [];\r\n (this.form.get('paramHeader') as FormArray).reset();\r\n (this.form.get('paramBody') as FormArray).controls = [];\r\n (this.form.get('paramBody') as FormArray).reset();\r\n (this.form.get('paramButton') as FormArray).controls = [];\r\n (this.form.get('paramButton') as FormArray).reset();\r\n\r\n this.initValidation();\r\n }\r\n\r\n private initParam(_name: string, _value: any, _type: string): Parameter {\r\n return {\r\n name: _name,\r\n value: _value,\r\n in: 'query',\r\n type: _type,\r\n };\r\n }\r\n\r\n private getAccountOptionService(filter: string = '', isInfinite: boolean = false): void {\r\n this.isLoadingAccountOption = true;\r\n\r\n const parameterList: Array<Parameter> = [\r\n this.initParam('pageNo', this.pageNoAccountOption, 'number'),\r\n this.initParam('rowPerPage', 20, 'number'),\r\n this.initParam('platform', 'WA', 'string'),\r\n this.initParam('status', 'APPROVED', 'string'),\r\n this.initParam('filter', filter, 'string'),\r\n ];\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(parameterList, '/admin/account', 'GET')\r\n .subscribe((resp: AppResponse<WhatsAppAccountDto[]>) => {\r\n if (!resp.data) return;\r\n\r\n this.accountOption = isInfinite ? [...this.accountOption, ...resp.data] : resp.data;\r\n this.isHaveNextAccountOption = resp.haveNext;\r\n this.isLoadingAccountOption = false;\r\n });\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n public getTemplateOptionService(\r\n event: string = null,\r\n filter: string = '',\r\n isInfinite: boolean = false\r\n ): void {\r\n this.isLoadingTemplateOption = true;\r\n\r\n const parameterList: Array<Parameter> = [\r\n this.initParam('pageNo', this.pageNoTemplateOption, 'number'),\r\n this.initParam('rowPerPage', 20, 'number'),\r\n this.initParam('platform', 'WA', 'string'),\r\n this.initParam('filter', filter, 'string'),\r\n this.initParam('status', 'APPROVED', 'string'),\r\n this.initParam('clientId', this.form.get('from').value?.clientId, 'string'),\r\n this.initParam('wabaId', this.form.get('from').value?.wabaId ?? '', 'string'),\r\n ];\r\n\r\n if (this.isReadOnlyMode) parameterList.push(this.initParam('summary', true, 'string'));\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(parameterList, '/message/template', 'GET')\r\n .subscribe((resp: AppResponse<TemplateWAModel[]>) => {\r\n this.templateOption = isInfinite\r\n ? [...this.templateOption, ...resp.data]\r\n : resp.data;\r\n this.isHaveNextTemplateOption = resp.haveNext;\r\n this.isLoadingTemplateOption = false;\r\n\r\n const template = this.templateOption?.find(\r\n (t) => t.ID === this.form.get('template').value?.ID\r\n );\r\n\r\n if (template) {\r\n this.form.get('template').setValue(template);\r\n\r\n if (this.form.get('isUpload').value)\r\n return this.updateDownloadCSV(this.form.get('isUpload').value);\r\n }\r\n this.updateTemplate(this.form.get('template').value);\r\n });\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n private initParameter(isButton: boolean = false, value: string = ''): FormGroup {\r\n const form = isButton\r\n ? new FormGroup({\r\n name: new FormArray([], Validators.required),\r\n })\r\n : new FormGroup({\r\n name: new FormControl(\r\n {\r\n value: value,\r\n disabled: this.isReadOnlyMode || ['$UnsubscribeAccount'].includes(value),\r\n },\r\n Validators.required\r\n ),\r\n });\r\n\r\n return form;\r\n }\r\n\r\n get getParamHeader(): FormGroup[] {\r\n return (this.form.get('paramHeader') as FormArray).controls as FormGroup[];\r\n }\r\n\r\n public addParamHeader(value: string = ''): void {\r\n const form = this.initParameter(false, value);\r\n (this.form.get('paramHeader') as FormArray).push(form);\r\n }\r\n\r\n get getParamBody(): FormGroup[] {\r\n return (this.form.get('paramBody') as FormArray).controls as FormGroup[];\r\n }\r\n\r\n public addParamBody(value: string = ''): void {\r\n const form = this.initParameter(false, value);\r\n (this.form.get('paramBody') as FormArray).push(form);\r\n }\r\n\r\n get getButton(): FormGroup[] {\r\n return (this.form.get('paramButton') as FormArray).controls as FormGroup[];\r\n }\r\n\r\n public getParamButton(index: number): FormGroup[] {\r\n const form = (this.form.get('paramButton') as FormArray).controls as FormGroup[];\r\n return (form[index].get('name') as FormArray).controls as FormGroup[];\r\n }\r\n\r\n public addParamButton(): void {\r\n const form = this.initParameter(true);\r\n (this.form.get('paramButton') as FormArray).push(form);\r\n }\r\n\r\n get getIsText(): boolean {\r\n return (\r\n this.form.get('channel').value &&\r\n this.form.get('channel').value?.toLowerCase() === 'text'\r\n );\r\n }\r\n\r\n get getIsMedia(): boolean {\r\n return (\r\n this.form.get('channel').value &&\r\n this.form.get('channel').value?.toLowerCase() === 'media'\r\n );\r\n }\r\n\r\n get getIsTemplate(): boolean {\r\n return (\r\n this.form.get('channel').value &&\r\n this.form.get('channel').value?.toLowerCase() === 'template'\r\n );\r\n }\r\n\r\n get getIsCatalogue(): boolean {\r\n return (\r\n this.form.get('channel').value &&\r\n this.form.get('channel').value?.toLowerCase() === 'catalogue'\r\n );\r\n }\r\n\r\n public getNextAccountBatch() {\r\n if (!this.isHaveNextAccountOption) return;\r\n\r\n this.pageNoAccountOption += 1;\r\n this.getAccountOptionService('', true);\r\n }\r\n\r\n public accountSelectedDisplay(\r\n attribute1: WhatsAppAccountDto,\r\n attribute2: WhatsAppAccountDto\r\n ): string {\r\n return attribute1 && attribute2 && attribute1.id == attribute2.id\r\n ? `${attribute1.name} (${attribute1.accountNo})`\r\n : '';\r\n }\r\n\r\n public getNextTemplateBatch() {\r\n if (!this.isHaveNextTemplateOption) return;\r\n\r\n this.pageNoTemplateOption += 1;\r\n this.getTemplateOptionService(null, '', true);\r\n }\r\n\r\n public templateSelectedDisplay(\r\n attribute1: TemplateWAModel,\r\n attribute2: TemplateWAModel\r\n ): string {\r\n return attribute1 && attribute2 && attribute1.name == attribute2.name\r\n ? `${attribute1.name}`\r\n : '';\r\n }\r\n\r\n public onFileSelected(event: Event) {\r\n const file: FileList = (event.target as HTMLInputElement).files;\r\n const accept = this.extFileAccepted.split('/');\r\n let matchType = accept[0];\r\n\r\n if (file.length === 0) return;\r\n\r\n if (this.extFileAccepted === 'application/pdf') matchType = accept[1];\r\n\r\n if (!file[0].type.includes(matchType)) {\r\n this.toastr.error('Sorry, the file you are uploading is not allowed');\r\n return;\r\n }\r\n\r\n if (file[0].size > 10000000) {\r\n this.toastr.error('Upload media failed, max size 10mb');\r\n return;\r\n }\r\n\r\n this.form.get('file').setValue(file[0]);\r\n this.form.get('fileType').setValue('image');\r\n this.form.get('fileName').setValue(file[0].name);\r\n this.form.get('targetURL').setValidators(Validators.required);\r\n this.form.get('targetURL').updateValueAndValidity();\r\n\r\n if (file[0].type.indexOf('video') > -1) this.form.get('fileType').setValue('video');\r\n\r\n this.uploadMediaService();\r\n }\r\n\r\n private uploadMediaService(): void {\r\n const parameterList: Array<Parameter> = [\r\n {\r\n name: 'file',\r\n value: this.form.get('file').value,\r\n in: 'formData',\r\n type: 'object',\r\n },\r\n ];\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(parameterList, '/message/media', 'POST')\r\n .subscribe((resp: AppResponse<any>) => {\r\n this.form.get('targetURL').clearValidators();\r\n this.form.get('targetURL').updateValueAndValidity();\r\n this.form.get('targetURL').setValue(resp.data.targetURL);\r\n this.form.get('file').reset();\r\n\r\n this.toastr.success('Upload media success');\r\n });\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n public updateTemplate(template: TemplateWAModel): void {\r\n this.isShowParameter = false;\r\n\r\n if (!template) return;\r\n\r\n this.isHaveTemplateParam =\r\n template.header.examples?.length > 0 ||\r\n template.body.examples?.length > 0 ||\r\n template.buttons?.length > 0;\r\n\r\n if (['image', 'video', 'document'].includes(template?.header?.type?.toLowerCase())) {\r\n this.form\r\n .get('fileName')\r\n .setValue(\r\n this.getCampaignStorage?.generalInformation?.form.fileName ??\r\n this.getCampaignStorage?.generalInformation?.form.targetURL ??\r\n template.header.url\r\n );\r\n this.form\r\n .get('targetURL')\r\n .setValue(\r\n this.getCampaignStorage?.generalInformation?.form.targetURL ??\r\n template.header.url\r\n );\r\n\r\n this.fileTypeChange(template?.header?.type?.toLowerCase());\r\n }\r\n\r\n template.header.examples?.length > 0\r\n ? this.form.get('paramHeader').setValidators(Validators.required)\r\n : this.form.get('paramHeader').clearValidators();\r\n\r\n template.body.examples?.length > 0\r\n ? this.form.get('paramBody').setValidators(Validators.required)\r\n : this.form.get('paramBody').clearValidators();\r\n\r\n template.buttons?.length > 0\r\n ? this.form.get('paramButton').setValidators(Validators.required)\r\n : this.form.get('paramButton').clearValidators();\r\n\r\n (this.form.get('paramHeader') as FormArray).controls = [];\r\n (this.form.get('paramHeader') as FormArray).reset();\r\n this.form.get('paramHeader').updateValueAndValidity();\r\n (this.form.get('paramBody') as FormArray).controls = [];\r\n (this.form.get('paramBody') as FormArray).reset();\r\n this.form.get('paramBody').updateValueAndValidity();\r\n (this.form.get('paramButton') as FormArray).controls = [];\r\n (this.form.get('paramButton') as FormArray).reset();\r\n this.form.get('paramButton').updateValueAndValidity();\r\n this.form.get('otpValue').setValue('');\r\n this.form.get('otpValue').clearValidators();\r\n this.form.get('otpValue').updateValueAndValidity();\r\n\r\n const formStorage = this.getCampaignStorage?.generalInformation?.form;\r\n\r\n if (template.category === 'AUTHENTICATION') {\r\n this.form\r\n .get('otpValue')\r\n .setValue(\r\n formStorage?.otpValue ??\r\n [...(formStorage?.template?.body?.examples ?? [])]?.pop() ??\r\n ''\r\n );\r\n this.form.get('otpValue').setValidators(Validators.required);\r\n this.form.get('otpValue').updateValueAndValidity();\r\n }\r\n\r\n template.header.examples?.forEach((each, index) => {\r\n this.addParamHeader(\r\n formStorage?.paramHeader?.[index]?.name ?? formStorage?.paramHeader?.[index] ?? ''\r\n );\r\n });\r\n\r\n template.body.examples?.forEach((each, index) => {\r\n let paramValue =\r\n formStorage?.paramBody?.[index]?.name ?? formStorage?.paramBody?.[index] ?? '';\r\n\r\n if (['$UnsubscribeAccount'].includes(each)) paramValue = each;\r\n\r\n this.addParamBody(paramValue);\r\n });\r\n\r\n template.buttons?.forEach((each, index) => {\r\n this.addParamButton();\r\n const button = this.getButton;\r\n\r\n if (each.examples?.length > 0) {\r\n each.examples.forEach((_, paramIndex) => {\r\n let form = null;\r\n\r\n if (each.type === 'FLOW') {\r\n form = this.initParameter(false, each.flow_id);\r\n } else {\r\n this.isShowParameter = true;\r\n form = this.initParameter(\r\n false,\r\n formStorage?.paramButton?.[index]?.name?.[paramIndex]?.name ??\r\n formStorage?.paramButton?.[index]?.name?.[paramIndex] ??\r\n formStorage?.paramButton?.[index]?.[paramIndex] ??\r\n ''\r\n );\r\n }\r\n\r\n (button[button.length - 1].get('name') as FormArray).push(form);\r\n });\r\n } else {\r\n button[button.length - 1].get('name').clearValidators();\r\n button[button.length - 1].get('name').updateValueAndValidity();\r\n }\r\n });\r\n }\r\n\r\n public updateMediaType(_mediaType: string): void {\r\n if (_mediaType === EnumData.MEDIA_TYPE_LOCATION) this.initMaps;\r\n\r\n this.formReset(true);\r\n this.fileTypeChange(_mediaType.toLowerCase());\r\n }\r\n\r\n private fileTypeChange(type: string): void {\r\n this.extFileAccepted = 'image/*';\r\n\r\n if (type === EnumData.MEDIA_TYPE_VIDEO.toLowerCase()) {\r\n this.extFileAccepted = 'video/*';\r\n } else if (type === EnumData.MEDIA_TYPE_DOCUMENT.toLowerCase()) {\r\n this.extFileAccepted = 'application/pdf';\r\n }\r\n }\r\n\r\n public updateSearch(searchValue: string): void {\r\n this.pageNoTemplateOption = 1;\r\n this.getTemplateOptionService(null, searchValue);\r\n }\r\n\r\n public updateSearchAccount(searchValue: string): void {\r\n this.pageNoAccountOption = 1;\r\n this.getAccountOptionService(searchValue);\r\n }\r\n\r\n private initMaps(): void {\r\n this.mapsAPILoader.load().then(() => {\r\n this.setCurrentLocation();\r\n\r\n this.geoCoder = new google.maps.Geocoder();\r\n const autocomplete = new google.maps.places.Autocomplete(\r\n this.mapSearchRef.nativeElement\r\n );\r\n autocomplete.addListener('place_changed', () => {\r\n this.ngZone.run(() => {\r\n const place: google.maps.places.PlaceResult = autocomplete.getPlace();\r\n\r\n if (!place.geometry) return;\r\n\r\n this.maps.latitude = place.geometry.location.lat();\r\n this.maps.longitude = place.geometry.location.lng();\r\n this.form.get('latitude').setValue(this.maps.latitude);\r\n this.form.get('longitude').setValue(this.maps.longitude);\r\n });\r\n });\r\n });\r\n }\r\n\r\n private setCurrentLocation() {\r\n if ('geolocation' in navigator) {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n if (!this.form.get('longitude').value && !this.form.get('latitude').value) {\r\n this.maps.latitude = position.coords.latitude;\r\n this.maps.longitude = position.coords.longitude;\r\n this.form.get('latitude').setValue(this.maps.latitude);\r\n this.form.get('longitude').setValue(this.maps.longitude);\r\n }\r\n });\r\n }\r\n }\r\n\r\n public markerDragEnd(event: google.maps.MouseEvent) {\r\n if (event.latLng) {\r\n this.maps.latitude = event.latLng.lat();\r\n this.maps.longitude = event.latLng.lng();\r\n this.form.get('latitude').setValue(this.maps.latitude);\r\n this.form.get('longitude').setValue(this.maps.longitude);\r\n }\r\n }\r\n\r\n public updateDownloadCSV(isChecked: boolean): void {\r\n this.form.get('isUpload').setValue(isChecked);\r\n\r\n if (isChecked) {\r\n (this.form.get('paramHeader') as FormArray).controls = [];\r\n (this.form.get('paramHeader') as FormArray).reset();\r\n (this.form.get('paramBody') as FormArray).controls = [];\r\n (this.form.get('paramBody') as FormArray).reset();\r\n (this.form.get('paramButton') as FormArray).controls = [];\r\n (this.form.get('paramButton') as FormArray).reset();\r\n this.form.get('paramHeader').clearValidators();\r\n this.form.get('paramBody').clearValidators();\r\n this.form.get('paramButton').clearValidators();\r\n this.form.get('paramHeader').updateValueAndValidity();\r\n this.form.get('paramBody').updateValueAndValidity();\r\n this.form.get('paramButton').updateValueAndValidity();\r\n this.form.get('otpValue').reset();\r\n this.form.get('otpValue').clearValidators();\r\n this.form.get('otpValue').updateValueAndValidity();\r\n return;\r\n }\r\n\r\n this.updateTemplate(this.form.get('template').value);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscribers.forEach((each) => each.unsubscribe());\r\n }\r\n}\r\n","import { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\r\nimport {\r\n\tComponent,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOnDestroy,\r\n\tOnInit,\r\n\tOutput,\r\n} from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Subscription } from 'rxjs';\r\nimport {\r\n\tFailoverMechanismValidationConst,\r\n\tPlatformOptionConst,\r\n\tisHaveNextOption,\r\n\tisLoadingOption,\r\n\toptionList,\r\n\tpageNoOption,\r\n} from '../../../../core/const';\r\nimport { intervalTimeValidator } from '../../../../core/const/form-validators';\r\nimport { Parameter } from '../../../../core/models/util/api-adapter-service-models';\r\nimport { AppResponse } from '../../../../core/models/util/api-dto/response-models';\r\nimport { ApiAdapterServiceService } from '../../../../core/services';\r\nimport { TemplateWAModel, WhatsAppAccountDto } from '../../../models';\r\n\r\n@Component({\r\n\tselector: 'lib-failover-mechanism',\r\n\ttemplateUrl: './failover-mechanism.component.html',\r\n\tstyleUrls: ['./failover-mechanism.component.scss'],\r\n})\r\nexport class FailoverMechanismComponent implements OnInit, OnDestroy {\r\n\t@Output()\r\n\tpublic failover: EventEmitter<FormGroup>;\r\n\r\n\tpublic form: FormGroup;\r\n\tpublic channelOption: any;\r\n\tpublic validationMessages: any;\r\n\tpublic isHaveNextTemplateOption = { ...isHaveNextOption };\r\n\tpublic isLoadingTemplateOption = { ...isLoadingOption };\r\n\tpublic templateOption = { ...optionList };\r\n\tpublic isLoadingAccountOption = { ...isLoadingOption };\r\n\tpublic isHaveNextAccountOption = { ...isHaveNextOption };\r\n\tpublic accountOption = { ...optionList };\r\n\r\n\tprivate subscribers: Subscription[] = [];\r\n\tprivate pageNoTemplateOption = { ...pageNoOption };\r\n\tprivate pageNoAccountOption = { ...pageNoOption };\r\n\r\n\t@Input() public isReadOnlyMode: boolean;\r\n\r\n\tconstructor(private apiAdapterService: ApiAdapterServiceService) {\r\n\t\tthis.failover = new EventEmitter();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.validationMessages = FailoverMechanismValidationConst;\r\n\t\tthis.channelOption = [\r\n\t\t\t...PlatformOptionConst,\r\n\t\t\t/* {\r\n icon: '',\r\n inputSvgIcon: 'icon-voice-gray',\r\n image: 'line.png',\r\n label: 'Voice',\r\n value: 'VOICE',\r\n }, */\r\n\t\t].filter(\r\n\t\t\tt =>\r\n\t\t\t\t![\r\n\t\t\t\t\t'LINE',\r\n\t\t\t\t\tthis.getCampaignStorage?.generalInformation?.form?.medium,\r\n\t\t\t\t].includes(t.value)\r\n\t\t);\r\n\r\n\t\tthis.initForm();\r\n\t\tthis.initDisable();\r\n\t\tthis.initEdit();\r\n\t\tthis.failover.emit(this.form);\r\n\t}\r\n\r\n\tget getCampaignStorage(): any {\r\n\t\treturn localStorage.getItem('telin.campaign')\r\n\t\t\t? JSON.parse(localStorage.getItem('telin.campaign'))\r\n\t\t\t: {};\r\n\t}\r\n\r\n\tget interval() {\r\n\t\treturn this.form.get('interval');\r\n\t}\r\n\r\n\tprivate initForm(): void {\r\n\t\tthis.form = new FormGroup({\r\n\t\t\tactive: new FormControl(false, Validators.required),\r\n\t\t\ttype: new FormControl(''),\r\n\t\t\tinterval: new FormControl(null),\r\n\t\t\taccounts: new FormArray([]),\r\n\t\t});\r\n\r\n\t\tthis.form.valueChanges.subscribe(() => {\r\n\t\t\tif (this.interval.touched && this.interval.value === 0) {\r\n\t\t\t\tthis.form.get('interval').setErrors({ intervalTime: true });\r\n\t\t\t}\r\n\t\t\tthis.failover.emit(this.form);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate initDisable(): void {\r\n\t\tif (!this.isReadOnlyMode) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.form.disable();\r\n\t}\r\n\r\n\tprivate initEdit(): void {\r\n\t\tif (\r\n\t\t\tObject.entries(this.getCampaignStorage).length === 0 ||\r\n\t\t\t!this.getCampaignStorage?.failover\r\n\t\t)\r\n\t\t\treturn;\r\n\r\n\t\tthis.form\r\n\t\t\t.get('active')\r\n\t\t\t.setValue(this.getCampaignStorage?.failover?.active);\r\n\t\tthis.form\r\n\t\t\t.get('type')\r\n\t\t\t.setValue(this.getCampaignStorage?.failover?.type ?? '');\r\n\t\tthis.form\r\n\t\t\t.get('interval')\r\n\t\t\t.setValue(this.getCampaignStorage?.failover?.interval ?? null);\r\n\r\n\t\tthis.activeChange(this.getCampaignStorage?.failover?.active);\r\n\t\tthis.validationAccount();\r\n\t}\r\n\r\n\tprivate initAccount(data: any = null, _channel: any = null): FormGroup {\r\n\t\tconst form = new FormGroup({\r\n\t\t\tchannel: new FormControl(_channel),\r\n\t\t\tplatform: new FormControl(_channel?.value),\r\n\t\t\taccountId: new FormControl(\r\n\t\t\t\t{\r\n\t\t\t\t\tvalue:\r\n\t\t\t\t\t\tdata?.accountId && typeof data?.accountId === 'string'\r\n\t\t\t\t\t\t\t? {\r\n\t\t\t\t\t\t\t\t\tid: data?.accountId,\r\n\t\t\t\t\t\t\t\t\tname: data?.accountName,\r\n\t\t\t\t\t\t\t }\r\n\t\t\t\t\t\t\t: data?.accountId ?? '',\r\n\t\t\t\t\tdisabled: this.isReadOnlyMode,\r\n\t\t\t\t},\r\n\t\t\t\tValidators.required\r\n\t\t\t),\r\n\t\t\taccountName: new FormControl(data?.accountName ?? ''),\r\n\t\t\tsubject: new FormControl({\r\n\t\t\t\tvalue: data?.subject ?? '',\r\n\t\t\t\tdisabled: this.isReadOnlyMode,\r\n\t\t\t}),\r\n\t\t\ttemplate: new FormControl({\r\n\t\t\t\tvalue: data?.template ?? '',\r\n\t\t\t\tdisabled: this.isReadOnlyMode,\r\n\t\t\t}),\r\n\t\t\tparamBody: new FormArray([]),\r\n\t\t});\r\n\r\n\t\treturn form;\r\n\t}\r\n\r\n\tget getAccount(): FormGroup[] {\r\n\t\treturn (this.form.get('accounts') as FormArray).controls as FormGroup[];\r\n\t}\r\n\r\n\tpublic addAccount(data: any = null, channel: any = null): void {\r\n\t\tconst form = this.initAccount(data, channel);\r\n\t\t(this.form.get('accounts') as FormArray).push(form);\r\n\r\n\t\tthis.getAccountOptionService(channel?.value, data?.accountName ?? '');\r\n\t\tthis.getTemplateOptionService(channel?.value, {}, data?.template?.name);\r\n\t}\r\n\r\n\tprivate initParameter(): FormGroup {\r\n\t\tconst form = new FormGroup({\r\n\t\t\tname: new FormControl('', Validators.required),\r\n\t\t});\r\n\r\n\t\treturn form;\r\n\t}\r\n\r\n\tpublic getParamBody(account: FormGroup): FormGroup[] {\r\n\t\treturn (account.get('paramBody') as FormArray).controls as FormGroup[];\r\n\t}\r\n\r\n\tpublic addParamBody(account: FormGroup): void {\r\n\t\tconst form = this.initParameter();\r\n\t\t(account.get('paramBody') as FormArray).push(form);\r\n\t}\r\n\r\n\tpublic deleteParamBody(account: FormGroup, index: number): void {\r\n\t\t(account.get('paramBody') as FormArray).removeAt(index);\r\n\t}\r\n\r\n\tprivate initParam(_name: string, _value: any, _type: string): Parameter {\r\n\t\treturn {\r\n\t\t\tname: _name,\r\n\t\t\tvalue: _value,\r\n\t\t\tin: 'query',\r\n\t\t\ttype: _type,\r\n\t\t};\r\n\t}\r\n\r\n\tprivate getAccountOptionService(\r\n\t\tplatform: string,\r\n\t\tfilter: string = '',\r\n\t\tisInfinite: boolean = false\r\n\t): void {\r\n\t\tthis.isLoadingAccountOption[platform] = true;\r\n\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\tthis.initParam(\r\n\t\t\t\t'pageNo',\r\n\t\t\t\tthis.pageNoAccountOption[platform],\r\n\t\t\t\t'number'\r\n\t\t\t),\r\n\t\t\tthis.initParam('rowPerPage', 20, 'number'),\r\n\t\t\tthis.initParam('status', 'APPROVED', 'string'),\r\n\t\t\tthis.initParam('platform', platform, 'string'),\r\n\t\t\tthis.initParam('filter', filter, 'string'),\r\n\t\t];\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(parameterList, '/admin/account', 'GET')\r\n\t\t\t.subscribe((resp: AppResponse<WhatsAppAccountDto[]>) => {\r\n\t\t\t\tif (!resp.data) return;\r\n\r\n\t\t\t\tthis.accountOption[platform] = isInfinite\r\n\t\t\t\t\t? [...this.accountOption[platform], ...resp.data]\r\n\t\t\t\t\t: resp.data;\r\n\r\n\t\t\t\tthis.isHaveNextAccountOption[platform] = resp.haveNext;\r\n\t\t\t\tthis.isLoadingAccountOption[platform] = false;\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tpublic getTemplateOptionService(\r\n\t\tplatform: string,\r\n\t\taccount: any,\r\n\t\tfilter: string = '',\r\n\t\tisInfinite: boolean = false\r\n\t): void {\r\n\t\tthis.isLoadingTemplateOption[platform] = true;\r\n\r\n\t\tconst parameterList: Array<Parameter> = [\r\n\t\t\tthis.initParam(\r\n\t\t\t\t'pageNo',\r\n\t\t\t\tthis.pageNoTemplateOption[platform],\r\n\t\t\t\t'number'\r\n\t\t\t),\r\n\t\t\tthis.initParam('rowPerPage', 20, 'number'),\r\n\t\t\tthis.initParam('platform', platform, 'string'),\r\n\t\t\tthis.initParam('filter', filter, 'string'),\r\n\t\t\tthis.initParam('clientId', account?.clientId ?? '', 'string'),\r\n\t\t\tthis.initParam('wabaId', account?.wabaId ?? '', 'string'),\r\n\t\t];\r\n\r\n\t\tif (platform === 'WA')\r\n\t\t\tparameterList.push(this.initParam('status', 'APPROVED', 'string'));\r\n\r\n\t\tconst subs = this.apiAdapterService\r\n\t\t\t.executeApiRequest(parameterList, '/message/template', 'GET')\r\n\t\t\t.subscribe((resp: AppResponse<TemplateWAModel[]>) => {\r\n\t\t\t\tthis.templateOption[platform] = isInfinite\r\n\t\t\t\t\t? [...this.templateOption[platform], ...resp.data]\r\n\t\t\t\t\t: resp.data;\r\n\r\n\t\t\t\tthis.isHaveNextTemplateOption[platform] = resp.haveNext;\r\n\t\t\t\tthis.isLoadingTemplateOption[platform] = false;\r\n\t\t\t});\r\n\r\n\t\tthis.subscribers.push(subs);\r\n\t}\r\n\r\n\tpublic getNextAccountBatch(platform: string) {\r\n\t\tif (!this.isHaveNextAccountOption[platform]) return;\r\n\r\n\t\tthis.pageNoAccountOption[platform] += 1;\r\n\t\tthis.getAccountOptionService(platform, '', true);\r\n\t}\r\n\r\n\tpublic accountSelectedDisplay(\r\n\t\tattribute1: WhatsAppAccountDto,\r\n\t\tattribute2: WhatsAppAccountDto\r\n\t): string {\r\n\t\treturn attribute1 && attribute2 && attribute1.id == attribute2.id\r\n\t\t\t? `${attribute1.name} (${attribute1.accountNo})`\r\n\t\t\t: '';\r\n\t}\r\n\r\n\tpublic templateSelectedDisplay(\r\n\t\tattribute1: TemplateWAModel,\r\n\t\tattribute2: TemplateWAModel\r\n\t): string {\r\n\t\treturn attribute1 && attribute2 && attribute1.name == attribute2.name\r\n\t\t\t? `${attribute1.name}`\r\n\t\t\t: '';\r\n\t}\r\n\r\n\tpublic getNextTemplateBatch(platform: string, account: any) {\r\n\t\tif (!this.isHaveNextTemplateOption[platform]) return;\r\n\r\n\t\tthis.pageNoTemplateOption[platform] += 1;\r\n\t\tthis.getTemplateOptionService(platform, account, '', true);\r\n\t}\r\n\r\n\tpublic updateSearch(\r\n\t\tsearchValue: string,\r\n\t\tplatform: string,\r\n\t\taccount: any\r\n\t): void {\r\n\t\tthis.pageNoTemplateOption[platform] = 1;\r\n\t\tthis.getTemplateOptionService(platform, account, searchValue);\r\n\t}\r\n\r\n\tpublic updateSearchAccount(searchValue: string, platform: string): void {\r\n\t\tthis.pageNoAccountOption[platform] = 1;\r\n\t\tthis.getAccountOptionService(platform, searchValue);\r\n\t}\r\n\r\n\tpublic activeChange(_active: boolean): void {\r\n\t\tthis.form\r\n\t\t\t.get('type')\r\n\t\t\t.setValue(this.getCampaignStorage?.failover?.type ?? '');\r\n\t\tthis.form.get('type').setValidators(Validators.required);\r\n\t\tthis.form.get('type').updateValueAndValidity();\r\n\r\n\t\tif (_active) {\r\n\t\t\tconst accounts =\r\n\t\t\t\tthis.getCampaignStorage?.failover?.accounts?.filter(\r\n\t\t\t\t\t(t: any) =>\r\n\t\t\t\t\t\tt.platform !==\r\n\t\t\t\t\t\tthis.getCampaignStorage?.generalInformation?.form\r\n\t\t\t\t\t\t\t?.medium\r\n\t\t\t\t);\r\n\r\n\t\t\tif (accounts) {\r\n\t\t\t\taccounts.map(account =>\r\n\t\t\t\t\tthis.addAccount(\r\n\t\t\t\t\t\taccount,\r\n\t\t\t\t\t\tthis.channelOption.find(\r\n\t\t\t\t\t\t\t(t: any) => t.value === account.platform\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\r\n\t\t\t\tthis.channelOption\r\n\t\t\t\t\t.filter((t: any) => {\r\n\t\t\t\t\t\treturn !accounts.find((account: any) => {\r\n\t\t\t\t\t\t\treturn account.platform === t.value;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.map(channel => this.addAccount({}, channel));\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tthis.channelOption.map(channel => this.addAccount({}, channel));\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.form.get('type').clearValidators();\r\n\t\tthis.form.get('type').updateValueAndValidity();\r\n\t\t(this.form.get('accounts') as FormArray).controls = [];\r\n\t\t(this.form.get('accounts') as FormArray).reset();\r\n\t\tthis.form.get('accounts').updateValueAndValidity();\r\n\r\n\t\tthis.typeChange('Status');\r\n\t}\r\n\r\n\tpublic typeChange(_type: string): void {\r\n\t\tif (_type === 'Time') {\r\n\t\t\tthis.form\r\n\t\t\t\t.get('interval')\r\n\t\t\t\t.setValue(this.getCampaignStorage?.failover?.interval ?? null);\r\n\t\t\tthis.form\r\n\t\t\t\t.get('interval')\r\n\t\t\t\t.setValidators([Validators.required, intervalTimeValidator()]);\r\n\t\t\tthis.form.get('interval').updateValueAndValidity();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.form.get('interval').clearValidators();\r\n\t\tthis.form.get('interval').updateValueAndValidity();\r\n\t}\r\n\r\n\tpublic validationAccount(\r\n\t\taccount: WhatsAppAccountDto = null,\r\n\t\taccountControl: FormGroup = null\r\n\t): void {\r\n\t\taccountControl\r\n\t\t\t?.get('accountName')\r\n\t\t\t.setValue(\r\n\t\t\t\tthis.accountOption[accountControl.get('platform').value].find(\r\n\t\t\t\t\tt => t.id === account?.id\r\n\t\t\t\t)?.name ?? ''\r\n\t\t\t);\r\n\r\n\t\tconst isChooseAccount = this.getAccount.filter(\r\n\t\t\tcontrol => control.get('accountId').value\r\n\t\t);\r\n\r\n\t\tthis.getAccount.forEach(control => {\r\n\t\t\tcontrol.get('accountId').setValidators(Validators.required);\r\n\t\t\tcontrol.get('subject').setValidators(Validators.required);\r\n\t\t\tcontrol.get('template').setValidators(Validators.required);\r\n\r\n\t\t\tif (\r\n\t\t\t\t!control.get('accountId').value &&\r\n\t\t\t\tisChooseAccount?.length > 0\r\n\t\t\t) {\r\n\t\t\t\tcontrol.get('accountId').clearValidators();\r\n\t\t\t\tcontrol.get('subject').setValue('');\r\n\t\t\t\tcontrol.get('subject').clearValidators();\r\n\t\t\t\tcontrol.get('template').setValue('');\r\n\t\t\t\tcontrol.get('template').clearValidators();\r\n\t\t\t} else if (\r\n\t\t\t\t['WA', 'SMS', 'VOICE'].includes(control.get('platform').value)\r\n\t\t\t) {\r\n\t\t\t\tcontrol.get('subject').clearValidators();\r\n\t\t\t}\r\n\r\n\t\t\tcontrol.get('accountId').updateValueAndValidity();\r\n\t\t\tcontrol.get('subject').updateValueAndValidity();\r\n\t\t\tcontrol.get('template').updateValueAndValidity();\r\n\t\t});\r\n\r\n\t\tif (accountControl)\r\n\t\t\tthis.getTemplateOptionService(\r\n\t\t\t\taccountControl.get('platform').value,\r\n\t\t\t\taccountControl.get('accountId').value\r\n\t\t\t);\r\n\t}\r\n\r\n\tpublic drop(event: CdkDragDrop<any[]>) {\r\n\t\tmoveItemInArray(\r\n\t\t\tthis.getAccount,\r\n\t\t\tevent.previousIndex,\r\n\t\t\tevent.currentIndex\r\n\t\t);\r\n\r\n\t\tthis.failover.emit(this.form);\r\n\t}\r\n\r\n\tngOnDestroy(): void {\r\n\t\tthis.subscribers.forEach(each => each.unsubscribe());\r\n\t}\r\n}\r\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\r\n\r\nexport function duplicateValidator(\r\n compareArray: any[],\r\n compareProperty: string,\r\n originalValue?: any\r\n): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n const inputValue = control.value ? String(control.value).trim() : '';\r\n\r\n if (!inputValue || (!!originalValue && String(originalValue) === inputValue)) {\r\n return null;\r\n }\r\n\r\n const isDuplicate = compareArray.some(\r\n (data) => inputValue === String(data[compareProperty]).trim()\r\n );\r\n\r\n return isDuplicate ? { duplicateValue: true } : null;\r\n };\r\n}\r\n\r\nexport function intervalTimeValidator(): ValidatorFn {\r\n return (control: AbstractControl): ValidationErrors | null => {\r\n if (!control.value) {\r\n return null;\r\n }\r\n\r\n const number = Number(control.value);\r\n\r\n if (Number.isNaN(number) || number % 1 !== 0 || number < 1) {\r\n return { intervalTime: true };\r\n }\r\n\r\n return null;\r\n };\r\n}\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { SegmentedMessage } from 'sms-segments-calculator';\r\nimport {\r\n\tGeneralInformationMessageValidationConst,\r\n\tPlatformOptionConst,\r\n} from '../../../../core/const';\r\n\r\ninterface IMaps {\r\n\tzoom: number;\r\n\tlatitude: number;\r\n\tlongitude: number;\r\n\tisDraggable: boolean;\r\n\tisDoubleClickZoom: boolean;\r\n}\r\n\r\n@Component({\r\n\tselector: 'lib-new-campaign-general-information',\r\n\ttemplateUrl: './general-information.component.html',\r\n\tstyleUrls: ['./general-information.component.scss'],\r\n})\r\nexport class GeneralInformationComponent implements OnInit {\r\n\t@Output()\r\n\tpublic generalInformation: EventEmitter<{\r\n\t\tparent: FormGroup;\r\n\t\tchild: FormGroup;\r\n\t}>;\r\n\r\n\tpublic form: FormGroup;\r\n\tpublic channelOption: any[];\r\n\tpublic generalInformationForm: FormGroup;\r\n\tpublic isTouchedWAForm: boolean = false;\r\n\tpublic isTouchedSMSForm: boolean = false;\r\n\tpublic isTouchedEmailForm: boolean = false;\r\n\tpublic isShowMore: boolean = false;\r\n\tpublic validationMessages: any;\r\n\tpublic maps: IMaps;\r\n\tpublic twilioResultCounter = {\r\n\t\tsegments: 0,\r\n\t\tcharacters: 0,\r\n\t\tencoding: '',\r\n\t\tfulltext: `Encode - / Chars 0 / Segment 1`,\r\n\t};\r\n\r\n\t@Input() public isReadOnlyMode: boolean;\r\n\r\n\tconstructor(private sanitizer: DomSanitizer) {\r\n\t\tthis.generalInformation = new EventEmitter();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.channelOption = PlatformOptionConst;\r\n\t\tthis.validationMessages = GeneralInformationMessageValidationConst;\r\n\t\tthis.maps = {\r\n\t\t\tzoom: 15,\r\n\t\t\tlatitude: null,\r\n\t\t\tlongitude: null,\r\n\t\t\tisDraggable: true,\r\n\t\t\tisDoubleClickZoom: true,\r\n\t\t};\r\n\r\n\t\tthis.initForm();\r\n\t\tthis.initEdit();\r\n\t\tthis.initDisable();\r\n\t}\r\n\r\n\tprivate initForm(): void {\r\n\t\tthis.form = new FormGroup({\r\n\t\t\tid: new FormControl(null),\r\n\t\t\tcampaignName: new FormControl(null, [\r\n\t\t\t\tValidators.required,\r\n\t\t\t\tValidators.maxLength(100),\r\n\t\t\t]),\r\n\t\t\tmedium: new FormControl(null, [Validators.required]),\r\n\t\t});\r\n\r\n\t\tthis.form.valueChanges.subscribe(() => {\r\n\t\t\tthis.isTouchedWAForm = !this.isTouchedWAForm;\r\n\t\t\tthis.isTouchedSMSForm = !this.isTouchedSMSForm;\r\n\t\t\tthis.isTouchedEmailForm = !this.isTouchedEmailForm;\r\n\r\n\t\t\tthis.generalInformation.emit({\r\n\t\t\t\tparent: this.form,\r\n\t\t\t\tchild: this.generalInformationForm,\r\n\t\t\t});\r\n\t\t});\r\n\t\tsetInterval(() => {\r\n\t\t\tthis.onCheckTwilioCounter();\r\n\t\t}, 400);\r\n\t}\r\n\r\n\tprivate initEdit(): void {\r\n\t\tconst campaign = localStorage.getItem('telin.campaign')\r\n\t\t\t? JSON.parse(localStorage.getItem('telin.campaign'))\r\n\t\t\t: {};\r\n\r\n\t\tif (Object.entries(campaign).length === 0) return;\r\n\r\n\t\tthis.form.get('id').setValue(campaign?.generalInformation?.id);\r\n\t\tthis.form\r\n\t\t\t.get('campaignName')\r\n\t\t\t.setValue(campaign?.generalInformation?.form.campaignName);\r\n\t\tthis.form\r\n\t\t\t.get('medium')\r\n\t\t\t.setValue(campaign?.generalInformation?.form.medium);\r\n\t}\r\n\r\n\tprivate initDisable(): void {\r\n\t\tif (!this.isReadOnlyMode) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.form.disable();\r\n\t}\r\n\r\n\tpublic updateGeneralInformationForm(form: FormGroup): void {\r\n\t\tthis.generalInformationForm = form;\r\n\t\tthis.isShowMore = false;\r\n\r\n\t\tthis.generalInformation.emit({\r\n\t\t\tparent: this.form,\r\n\t\t\tchild: this.generalInformationForm,\r\n\t\t});\r\n\r\n\t\tif (this.getMedia === 'LOCATION') this.getLocation();\r\n\t}\r\n\r\n\tget getHeader(): string {\r\n\t\treturn this.generalInformationForm?.getRawValue()?.from?.name || '';\r\n\t}\r\n\r\n\tget getBodyString(): string {\r\n\t\tconst body =\r\n\t\t\tthis.generalInformationForm?.getRawValue()?.text ||\r\n\t\t\tthis.generalInformationForm?.getRawValue()?.template?.body?.text ||\r\n\t\t\tthis.generalInformationForm?.getRawValue()?.body?.text;\r\n\r\n\t\treturn (\r\n\t\t\tbody\r\n\t\t\t\t?.split(/\\\\n|\\n/)\r\n\t\t\t\t.join('<br />')\r\n\t\t\t\t.split(/\\\\t|\\t/)\r\n\t\t\t\t.join(' ') ?? ''\r\n\t\t);\r\n\t}\r\n\r\n\tget getBody(): any {\r\n\t\tconst body =\r\n\t\t\tthis.generalInformationForm?.getRawValue()?.text ||\r\n\t\t\tthis.generalInformationForm?.getRawValue()?.template?.body?.text ||\r\n\t\t\tthis.generalInformationForm?.getRawValue()?.body?.text;\r\n\r\n\t\treturn this.sanitizer.bypassSecurityTrustHtml(\r\n\t\t\tthis.fixGeneratedHtml(\r\n\t\t\t\tbody\r\n\t\t\t\t\t?.split(/\\\\n|\\n/)\r\n\t\t\t\t\t.join('<br />')\r\n\t\t\t\t\t.split(/\\\\t|\\t/)\r\n\t\t\t\t\t.join(' ') ?? ''\r\n\t\t\t)\r\n\t\t);\r\n\t}\r\n\r\n\tget getMedia(): string {\r\n\t\treturn this.generalInformationForm?.getRawValue()?.media || '';\r\n\t}\r\n\r\n\tget getTemplate(): any {\r\n\t\treturn this.generalInformationForm?.getRawValue()?.template || {};\r\n\t}\r\n\r\n\tget getTemplateButton(): any {\r\n\t\tconst limit =\r\n\t\t\t!this.isShowMore && this.getTemplate?.buttons?.length > 3\r\n\t\t\t\t? 2\r\n\t\t\t\t: this.getTemplate?.buttons?.length;\r\n\r\n\t\treturn [...this.getTemplate?.buttons].splice(0, limit) || [];\r\n\t}\r\n\r\n\tget displayFile(): string {\r\n\t\treturn (\r\n\t\t\t(\r\n\t\t\t\tthis.generalInformationForm?.getRawValue()?.targetURL ||\r\n\t\t\t\tthis.generalInformationForm?.getRawValue()?.template?.header\r\n\t\t\t\t\t?.url\r\n\t\t\t)?.replace('adlsandbox.com', 'adlsandbox.net') ?? ''\r\n\t\t);\r\n\t}\r\n\r\n\t/* LINE */\r\n\tget isText(): boolean {\r\n\t\treturn this.generalInformationForm?.getRawValue()?.channel === 'TEXT';\r\n\t}\r\n\r\n\tget isJSON(): boolean {\r\n\t\treturn this.generalInformationForm?.getRawValue()?.isJSON;\r\n\t}\r\n\r\n\tget getTemplateLine(): any {\r\n\t\treturn this.isJSON\r\n\t\t\t? JSON.parse(\r\n\t\t\t\t\tthis.generalInformationForm?.getRawValue()?.template?.body\r\n\t\t\t\t\t\t?.text\r\n\t\t\t )\r\n\t\t\t: this.generalInformationForm?.getRawValue()?.template?.body?.text;\r\n\t}\r\n\t/* ./ LINE */\r\n\r\n\tprivate getLocation(): void {\r\n\t\tthis.maps.latitude =\r\n\t\t\tthis.generalInformationForm?.getRawValue()?.latitude;\r\n\t\tthis.maps.longitude =\r\n\t\t\tthis.generalInformationForm?.getRawValue()?.longitude;\r\n\t}\r\n\r\n\tprivate fixGeneratedHtml(htmlString) {\r\n\t\treturn htmlString\r\n\t\t\t.replaceAll(/div src=\"http/g, 'img src=\"http')\r\n\t\t\t.replaceAll(/div src=\"data:image/g, 'img src=\"data:image')\r\n\t\t\t.replaceAll(/Drag and drop your image here/g, '');\r\n\t}\r\n\r\n\tpublic onCheckTwilioCounter = (): void => {\r\n\t\tconst valuesGeneral = this.generalInformationForm?.getRawValue();\r\n\t\tif (valuesGeneral?.channel === 'TEXT') {\r\n\t\t\tconst segmentedMessage = new SegmentedMessage(this.getBodyString);\r\n\t\t\tconst result = {\r\n\t\t\t\tsegments: segmentedMessage.segmentsCount,\r\n\t\t\t\tencoding: segmentedMessage.encodingName,\r\n\t\t\t\tcharacters: segmentedMessage.numberOfUnicodeScalars,\r\n\t\t\t};\r\n\r\n\t\t\tthis.twilioResultCounter = {\r\n\t\t\t\t...result,\r\n\t\t\t\tfulltext: `Encode ${result.encoding} / Chars ${result.characters} / Segment ${result.segments}`,\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tlet valueResult = this.getBodyString;\r\n\t\t\tArray.from(valuesGeneral?.template?.body?.examples || []).map(\r\n\t\t\t\t(entry, index) => {\r\n\t\t\t\t\tconst placeholder = `{{${entry}}}`;\r\n\t\t\t\t\tconst value = valuesGeneral.paramBody[index]?.name;\r\n\t\t\t\t\tvalueResult = valueResult.split(placeholder).join(value);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\r\n\t\t\tconst segmentedMessage = new SegmentedMessage(valueResult);\r\n\t\t\tconst result = {\r\n\t\t\t\tsegments: segmentedMessage.segmentsCount,\r\n\t\t\t\tencoding: segmentedMessage.encodingName,\r\n\t\t\t\tcharacters: segmentedMessage.numberOfUnicodeScalars,\r\n\t\t\t};\r\n\r\n\t\t\tthis.twilioResultCounter = {\r\n\t\t\t\t...result,\r\n\t\t\t\tfulltext: `Encode ${result.encoding} / Chars ${result.characters} / Segment ${result.segments}`,\r\n\t\t\t};\r\n\t\t}\r\n\t};\r\n}\r\n","import { SelectionModel } from '@angular/cdk/collections';\r\nimport {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { HttpBodyReqPaginationModel } from '../../../../core/models';\r\nimport { Parameter } from '../../../../core/models/util/api-adapter-service-models';\r\nimport { AppResponse } from '../../../../core/models/util/api-dto/response-models';\r\nimport { ApiAdapterServiceService } from '../../../../core/services';\r\nimport { downloadBlobFile } from '../../../../core/util';\r\nimport { ContactCategoryModel } from '../../../models';\r\nimport { TableModel } from '../../campaign-index/models';\r\n\r\n@Component({\r\n selector: 'lib-new-number-bases',\r\n templateUrl: './new-number-bases.component.html',\r\n styleUrls: ['./new-number-bases.component.scss'],\r\n})\r\nexport class NewNumberBasesComponent implements OnInit, OnDestroy {\r\n @Output()\r\n public targetAudience: EventEmitter<{\r\n targetAudience: string[];\r\n numberCount: number;\r\n isUpload: boolean;\r\n file: any;\r\n }>;\r\n\r\n public table: TableModel;\r\n public isUpload: boolean = false;\r\n public isLoading: boolean = false;\r\n public isShowUploadCSV: boolean = false;\r\n public categorySelected: ContactCategoryModel[] = [];\r\n public selection = new SelectionModel<ContactCategoryModel>(true, []);\r\n public extFileAccepted: string[] = [\r\n 'application/vnd.ms-excel',\r\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\r\n '.csv',\r\n ];\r\n public fileSelected: {\r\n name: string;\r\n targetURL: string;\r\n } = null;\r\n\r\n private categoryParam: HttpBodyReqPaginationModel;\r\n private subscribers: Subscription[] = [];\r\n\r\n @Input() public isReadOnlyMode: boolean;\r\n\r\n @ViewChild(MatSort) matSort: MatSort;\r\n\r\n constructor(\r\n private apiAdapterService: ApiAdapterServiceService,\r\n private toastr: ToastrService\r\n ) {\r\n this.targetAudience = new EventEmitter();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.categoryParam = new HttpBodyReqPaginationModel();\r\n\r\n this.initTable();\r\n this.getCategoryList();\r\n\r\n this.targetAudience.emit({\r\n targetAudience: [],\r\n numberCount: 0,\r\n isUpload: this.getCampaignStorage?.generalInformation?.form?.isUpload,\r\n file: {\r\n name: this.getCampaignStorage?.targetAudienceFile?.name,\r\n targetURL: this.getCampaignStorage?.targetAudienceFile?.targetURL,\r\n },\r\n });\r\n }\r\n\r\n private initTable(): void {\r\n this.table = new TableModel();\r\n this.table.labels = [\r\n 'select',\r\n 'Category',\r\n 'No. Of Customer',\r\n 'Created Date',\r\n 'Updated Date',\r\n ];\r\n this.table.columns = ['select', 'name', 'totalMembers', 'createdDate', 'updatedDate'];\r\n }\r\n\r\n get getCampaignStorage(): any {\r\n return localStorage.getItem('telin.campaign')\r\n ? JSON.parse(localStorage.getItem('telin.campaign'))\r\n : {};\r\n }\r\n\r\n private initEdit(): void {\r\n if (Object.entries(this.getCampaignStorage).length === 0) return;\r\n\r\n this.isShowUploadCSV = this.getCampaignStorage?.generalInformation?.form?.isUpload;\r\n\r\n this.fileSelected = {\r\n name: this.getCampaignStorage?.targetAudienceFile?.name,\r\n targetURL: this.getCampaignStorage?.targetAudienceFile?.targetURL,\r\n };\r\n\r\n this.table.dataSource.data?.forEach((each) => {\r\n if (this.getCampaignStorage?.targetAudience?.includes(each.id))\r\n this.onChecked(true, each);\r\n });\r\n }\r\n\r\n private getCategoryList(filter: string = ''): void {\r\n this.isLoading = true;\r\n\r\n if (this.isReadOnlyMode) this.categoryParam.pageSize = 1000;\r\n\r\n const parameterList: Array<Parameter> = [\r\n this.initParam('pageNo', this.categoryParam.pageNo, 'number'),\r\n this.initParam('rowPerPage', this.categoryParam.pageSize, 'number'),\r\n this.initParam('filter', filter, 'string'),\r\n this.initParam(\r\n 'platform',\r\n this.getCampaignStorage?.generalInformation?.form?.medium,\r\n 'string'\r\n ),\r\n ];\r\n\r\n if (this.getCampaignStorage?.generalInformation?.form?.medium === 'LINE')\r\n parameterList.push(\r\n this.initParam(\r\n 'accountId',\r\n this.getCampaignStorage?.generalInformation?.form?.from?.id,\r\n 'string'\r\n )\r\n );\r\n\r\n if (this.isReadOnlyMode) parameterList.push(this.initParam('summary', true, 'string'));\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(parameterList, '/admin/category', 'GET')\r\n .subscribe((resp: AppResponse<ContactCategoryModel[]>) => {\r\n if (this.isReadOnlyMode) {\r\n this.table.dataSource.data = resp.data?.filter((each) =>\r\n this.getCampaignStorage?.targetAudience?.includes(each.id)\r\n );\r\n\r\n this.categorySelected = this.table.dataSource.data;\r\n this.isLoading = false;\r\n this.initEdit();\r\n return;\r\n }\r\n\r\n this.table.dataSource.data = resp.data;\r\n this.table.setNextPage(resp.haveNext);\r\n this.isLoading = false;\r\n this.initEdit();\r\n });\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n private initParam(_name: string, _value: any, _type: string): Parameter {\r\n return {\r\n name: _name,\r\n value: _value,\r\n in: 'query',\r\n type: _type,\r\n };\r\n }\r\n\r\n public updateSearch(searchValue: string): void {\r\n this.table.resetPage();\r\n this.categoryParam.pageNo = this.table.page;\r\n this.getCategoryList(searchValue);\r\n }\r\n\r\n public updatePage(event: any): void {\r\n if (this.table.pageSize !== event?.pageSize) this.table.resetPage();\r\n\r\n this.table.page =\r\n this.table.pageSize !== event?.pageSize ? this.table.page : event?.pageIndex + 1;\r\n this.table.pageSize = event?.pageSize;\r\n this.categoryParam.pageNo = this.table.page;\r\n this.categoryParam.pageSize = this.table.pageSize;\r\n\r\n this.getCategoryList();\r\n }\r\n\r\n public sort(): void {\r\n this.table.dataSource.sort = this.matSort;\r\n }\r\n\r\n public checkboxLabel(row?: ContactCategoryModel): string {\r\n if (!row) return `${this.isAllSelected() ? 'deselect' : 'select'} all`;\r\n\r\n return `${this.selection.isSelected(row) ? 'deselect' : 'select'} row ${row.name + 1}`;\r\n }\r\n\r\n public isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.table.dataSource.data?.length ?? 0;\r\n\r\n if (\r\n this.table.dataSource.data &&\r\n this.table.dataSource.data.length > 0 &&\r\n this.selection.selected &&\r\n this.selection.selected.length > 0\r\n ) {\r\n for (const data of this.table.dataSource.data) {\r\n if (this.selection.selected.filter((t) => t.id === data.id).length > 0) continue;\r\n\r\n return false;\r\n }\r\n }\r\n\r\n return numSelected === numRows;\r\n }\r\n\r\n public masterToggle(isChecked: boolean) {\r\n if (!isChecked) {\r\n this.selection.clear();\r\n this.categorySelected = [];\r\n\r\n this.targetAudience.emit({\r\n targetAudience: [],\r\n numberCount: 0,\r\n isUpload: this.isShowUploadCSV,\r\n file: {\r\n name: this.getCampaignStorage?.targetAudienceFile?.name,\r\n targetURL: this.getCampaignStorage?.targetAudienceFile?.targetURL,\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.selection.select(...this.table.dataSource.data);\r\n this.categorySelected = this.selection.selected;\r\n\r\n this.targetAudience.emit({\r\n targetAudience: this.categorySelected.map((t) => t.id),\r\n numberCount: this.categorySelected.reduce((sum, x) => sum + x.totalMembers, 0),\r\n isUpload: this.isShowUploadCSV,\r\n file: {\r\n name: this.getCampaignStorage?.targetAudienceFile?.name,\r\n targetURL: this.getCampaignStorage?.targetAudienceFile?.targetURL,\r\n },\r\n });\r\n }\r\n\r\n public onChecked(isChecked: boolean, row: ContactCategoryModel) {\r\n if (!isChecked) {\r\n this.selection.deselect(...this.selection.selected.filter((x) => x.id === row.id));\r\n this.categorySelected = this.selection.selected;\r\n\r\n this.targetAudience.emit({\r\n targetAudience: this.categorySelected.map((t) => t.id),\r\n numberCount: this.categorySelected.reduce((sum, x) => sum + x.totalMembers, 0),\r\n isUpload: this.isShowUploadCSV,\r\n file: {\r\n name: this.getCampaignStorage?.targetAudienceFile?.name,\r\n targetURL: this.getCampaignStorage?.targetAudienceFile?.targetURL,\r\n },\r\n });\r\n\r\n return;\r\n }\r\n\r\n this.selection.select(row);\r\n this.categorySelected = this.selection.selected;\r\n\r\n this.targetAudience.emit({\r\n targetAudience: this.categorySelected.map((t) => t.id),\r\n numberCount: this.categorySelected.reduce((sum, x) => sum + x.totalMembers, 0),\r\n isUpload: this.isShowUploadCSV,\r\n file: {\r\n name: this.getCampaignStorage?.targetAudienceFile?.name,\r\n targetURL: this.getCampaignStorage?.targetAudienceFile?.targetURL,\r\n },\r\n });\r\n }\r\n\r\n public isChecked(row: ContactCategoryModel) {\r\n const found = this.selection.selected.find((x) => x.id === row.id);\r\n return found ? true : false;\r\n }\r\n\r\n public onDownloadSampleService(): void {\r\n const parameterList: Array<Parameter> = [\r\n this.initParam(\r\n 'platform',\r\n this.getCampaignStorage?.generalInformation?.form?.template?.platform,\r\n 'string'\r\n ),\r\n this.initParam(\r\n 'templateName',\r\n this.getCampaignStorage?.generalInformation?.form?.template?.name,\r\n 'string'\r\n ),\r\n this.initParam(\r\n 'templateLang',\r\n this.getCampaignStorage?.generalInformation?.form?.template?.lang,\r\n 'string'\r\n ),\r\n this.initParam(\r\n 'category',\r\n this.categorySelected?.map((t) => t.id).join() ?? [],\r\n 'string'\r\n ),\r\n ];\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(parameterList, '/message/bulkupload/template', 'GET', true)\r\n .subscribe((resp: AppResponse<any>) => {\r\n downloadBlobFile(resp, 'Sample-UploadParameter.xlsx');\r\n });\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n public onFileSelected(event: Event) {\r\n const file: FileList = (event.target as HTMLInputElement).files;\r\n const MAXIMUM_SIZE = 10 * 1024 * 1024;\r\n\r\n if (file.length === 0) return;\r\n\r\n if (file[0].size > MAXIMUM_SIZE) {\r\n this.toastr.error('Upload media failed, max size 10mb');\r\n return;\r\n }\r\n\r\n // this.uploadMediaService(file[0]);\r\n this.getPresignedUrlService(file[0]);\r\n }\r\n\r\n private getPresignedUrlService(file: File): void {\r\n this.isUpload = true;\r\n\r\n const parameterList: Array<Parameter> = [\r\n { name: 'fileName', value: file.name, in: 'query', type: 'string' },\r\n { name: 'fileType', value: file.type, in: 'query', type: 'string' },\r\n ];\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(parameterList, '/campaign/upload/pre-signed-url', 'GET')\r\n .subscribe(\r\n (resp: AppResponse<any>) => {\r\n if (resp && resp.data) {\r\n this.uploadToS3Service(file, resp.data.url, resp.data.fileName);\r\n }\r\n },\r\n () => (this.isUpload = false)\r\n );\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n private uploadToS3Service(file: File, s3Url: string, fileNameS3: string): void {\r\n this.apiAdapterService.uploadFileToS3(s3Url, file).subscribe(\r\n () => {\r\n this.finalizeTargetFileService(fileNameS3);\r\n },\r\n (err) => {\r\n this.toastr.error('Failed uploading to S3 storage');\r\n this.isUpload = false;\r\n console.error('S3 Upload Error:', err);\r\n }\r\n );\r\n }\r\n\r\n private finalizeTargetFileService(fileNameS3: string): void {\r\n const campaignId = this.getCampaignStorage?.generalInformation?.id;\r\n const parameterList: Array<Parameter> = [\r\n {\r\n name: 'body',\r\n value: { fileName: fileNameS3 },\r\n in: 'body',\r\n type: 'object',\r\n withoutKeyData: true,\r\n },\r\n ];\r\n\r\n const subs = this.apiAdapterService\r\n .executeApiRequest(parameterList, `/campaign/${campaignId}/targetfile`, 'POST')\r\n .subscribe(\r\n (resp: AppResponse<any>) => {\r\n if (!resp) return;\r\n\r\n this.toastr.info('Upload XLSX has been uploaded successfully');\r\n this.isUpload = false;\r\n\r\n this.targetAudience.emit({\r\n targetAudience: this.categorySelected.map((t) => t.id),\r\n numberCount: this.categorySelected.reduce(\r\n (sum, x) => sum + x.totalMembers,\r\n 0\r\n ),\r\n isUpload: true,\r\n file: {\r\n name: fileNameS3,\r\n targetURL: resp.data?.targetURL || '',\r\n },\r\n });\r\n },\r\n () => (this.isUpload = false)\r\n );\r\n\r\n this.subscribers.push(subs);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscribers.forEach((each) => each.unsubscribe());\r\n }\r\n}\r\n","export const downloadBlobFile = (blob: any, name: string = 'file.csv'): any => {\r\n\tconst blobUrl = URL.createObjectURL(blob);\r\n\r\n\tconst link = document.createElement('a');\r\n\r\n\tlink.href = blobUrl;\r\n\tlink.download = name;\r\n\r\n\tdocument.body.appendChild(link);\r\n\r\n\tlink.dispatchEvent(\r\n\t\tnew MouseEvent('click', {\r\n\t\t\tbubbles: true,\r\n\t\t\tcancelable: true,\r\n\t\t\tview: window,\r\n\t\t})\r\n\t);\r\n\r\n\tdocument.body.removeChild(link);\r\n};\r\n","import { DatePipe } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { SchedulerMessageValidationConst } from '../../../../core/const';\r\n\r\n@Component({\r\n\tselector: 'lib-new-campaign-scheduler',\r\n\ttemplateUrl: './scheduler.component.html',\r\n\tstyleUrls: ['./scheduler.component.scss'],\r\n})\r\nexport class SchedulerComponent implements OnInit {\r\n\t@Output()\r\n\tpublic scheduler: EventEmitter<FormGroup>;\r\n\r\n\tpublic form: FormGroup;\r\n\tpublic minDate: Date;\r\n\tpublic validationMessages: any;\r\n\r\n\tprivate datePipe: DatePipe;\r\n\r\n\t@Input() public isReadOnlyMode: boolean;\r\n\r\n\tconstructor(private toastr: ToastrService) {\r\n\t\tthis.datePipe = new DatePipe('en-US');\r\n\t\tthis.scheduler = new EventEmitter();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.validationMessages = SchedulerMessageValidationConst;\r\n\t\tthis.minDate = new Date();\r\n\r\n\t\tthis.initForm();\r\n\t\tthis.initEdit();\r\n\t\tthis.initDisable();\r\n\t}\r\n\r\n\tprivate initForm(): void {\r\n\t\tthis.form = new FormGroup({\r\n\t\t\tschedulerType: new FormControl(null, Validators.required),\r\n\t\t\tstartDate: new FormControl(null),\r\n\t\t\tstartTime: new FormControl(null),\r\n\t\t\tisRepeat: new FormControl(false),\r\n\t\t\tdelivery: new FormControl(null),\r\n\t\t});\r\n\r\n\t\tthis.form.valueChanges.subscribe(() => {\r\n\t\t\tthis.scheduler.emit(this.form);\r\n\t\t});\r\n\t}\r\n\r\n\tprivate initDisable(): void {\r\n\t\tif (!this.isReadOnlyMode) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.form.disable();\r\n\t}\r\n\r\n\tprivate initEdit(isEdit: boolean = true): void {\r\n\t\tconst campaign = localStorage.getItem('telin.campaign')\r\n\t\t\t? JSON.parse(localStorage.getItem('telin.campaign'))\r\n\t\t\t: {};\r\n\r\n\t\tif (Object.entries(campaign).length === 0) return;\r\n\r\n\t\tif (isEdit)\r\n\t\t\tthis.form\r\n\t\t\t\t.get('schedulerType')\r\n\t\t\t\t.setValue(campaign?.scheduler?.schedulerType);\r\n\r\n\t\tthis.form.get('startDate').setValue(campaign?.scheduler?.startDate);\r\n\t\tthis.form.get('startTime').setValue(campaign?.scheduler?.startTime);\r\n\t\tthis.form.get('isRepeat').setValue(campaign?.scheduler?.isRepeat);\r\n\t\tthis.form\r\n\t\t\t.get('delivery')\r\n\t\t\t.setValue(\r\n\t\t\t\tthis.capitalizeFirstLetter(campaign?.scheduler?.delivery)\r\n\t\t\t);\r\n\t}\r\n\r\n\tprivate capitalizeFirstLetter(value: string): string {\r\n\t\tif (!value) return '';\r\n\r\n\t\treturn (\r\n\t\t\tvalue?.charAt(0).toUpperCase() + value?.slice(1).toLowerCase() ?? ''\r\n\t\t);\r\n\t}\r\n\r\n\tpublic updateSchedulerType(type: string): void {\r\n\t\tthis.form.get('schedulerType').setValue(type);\r\n\r\n\t\tif (this.form.get('schedulerType').value === 'NOW') {\r\n\t\t\tthis.form.get('startDate').setValue(null);\r\n\t\t\tthis.form.get('startDate').clearValidators();\r\n\t\t\tthis.form.get('startDate').updateValueAndValidity();\r\n\t\t\tthis.form.get('startTime').setValue(null);\r\n\t\t\tthis.form.get('startTime').clearValidators();\r\n\t\t\tthis.form.get('startTime').updateValueAndValidity();\r\n\t\t\tthis.form.get('delivery').setValue(null);\r\n\t\t\tthis.form.get('delivery').clearValidators();\r\n\t\t\tthis.form.get('delivery').updateValueAndValidity();\r\n\t\t\tthis.form.get('isRepeat').setValue(false);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.form.get('startDate').setValidators(Validators.required);\r\n\t\tthis.form.get('startDate').updateValueAndValidity();\r\n\t\tthis.form.get('startTime').setValidators(Validators.required);\r\n\t\tthis.form.get('startTime').updateValueAndValidity();\r\n\t\tthis.initEdit(false);\r\n\t}\r\n\r\n\tpublic updateTime(): void {\r\n\t\tif (!this.form.get('startDate').value) return;\r\n\r\n\t\tconst dateNow = new Date().getTime();\r\n\t\tconst startDate = new Date(\r\n\t\t\t`${this.datePipe.transform(\r\n\t\t\t\tthis.form.get('startDate').value,\r\n\t\t\t\t'yyyy-MM-dd'\r\n\t\t\t)} ${this.form.get('startTime').value}`\r\n\t\t).getTime();\r\n\r\n\t\tif (dateNow > startDate) {\r\n\t\t\tthis.form.get('startTime').setValue(null);\r\n\t\t\tthis.toastr.error('Selected time has been surpassed');\r\n\t\t}\r\n\t}\r\n\r\n\tpublic updateRepeat(isChecked: boolean): void {\r\n\t\tif (isChecked) {\r\n\t\t\tthis.form.get('delivery').setValidators(Validators.required);\r\n\t\t\tthis.form.get('delivery').updateValueAndValidity();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.form.get('isRepeat').setValue(null);\r\n\t\tthis.form.get('delivery').setValue(null);\r\n\t\tthis.form.get('delivery').clearValidators();\r\n\t\tthis.form.get('delivery').updateValueAndValidity();\r\n\t}\r\n}\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'lib-new-campaign-summary',\r\n\ttemplateUrl: './summary.component.html',\r\n\tstyleUrls: ['./summary.component.scss'],\r\n})\r\nexport class SummaryComponent {\r\n\t@Input() public isShowLabel: boolean;\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n\tselector: 'lib-wizard',\r\n\ttemplateUrl: './wizard.component.html',\r\n\tstyleUrls: ['./wizard.component.scss'],\r\n})\r\nexport class WizardComponent implements OnInit {\r\n\t@Input() positionWizard: number = 1;\r\n\t@Input() dataWizard: string[] = [];\r\n\r\n\tconstructor() {}\r\n\r\n\tngOnInit(): void {}\r\n}\r\n","import { AgmCoreModule } from '@agm/core';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { CommonModule, DatePipe } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { PickerModule } from '@ctrl/ngx-emoji-mart';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport {\r\n\tNgbDropdownModule,\r\n\tNgbPaginationModule,\r\n} from '@ng-bootstrap/ng-bootstrap';\r\nimport * as echarts from 'echarts';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { SearchModule } from '../global/search/search.module';\r\nimport { CampaignManagementComponent } from './campaign-management.component';\r\nimport { CampaignIndexModule } from './modules/campaign-index/campaign-index.module';\r\nimport { PendingApprovalDialogViewComponent } from './modules/campaign-index/dialog/pending-approval-dialog-view';\r\nimport { DashboardModule } from './modules/dashboard/dashboard.module';\r\nimport { NewCampaignComponent } from './modules/new-campaign';\r\nimport { GeneralInformationEmailComponent } from './modules/new-campaign/components/general-information-email';\r\nimport { GeneralInformationLineComponent } from './modules/new-campaign/components/general-information-line';\r\nimport { GeneralInformationSMSComponent } from './modules/new-campaign/components/general-information-sms';\r\nimport { GeneralInformationWAComponent } from './modules/new-campaign/components/general-information-wa';\r\nimport { FailoverMechanismComponent } from './modules/new-campaign/failover-mechanism';\r\nimport { GeneralInformationComponent } from './modules/new-campaign/general-information';\r\nimport { NewNumberBasesComponent } from './modules/new-campaign/new-number-bases';\r\nimport { SchedulerComponent } from './modules/new-campaign/scheduler';\r\nimport { SummaryComponent } from './modules/new-campaign/summary';\r\nimport { WizardComponent } from './modules/wizard';\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tCampaignManagementComponent,\r\n\t\tWizardComponent,\r\n\t\tNewCampaignComponent,\r\n\t\tGeneralInformationComponent,\r\n\t\tSchedulerComponent,\r\n\t\tSummaryComponent,\r\n\t\tNewNumberBasesComponent,\r\n\t\tGeneralInformationLineComponent,\r\n\t\tGeneralInformationWAComponent,\r\n\t\tGeneralInformationSMSComponent,\r\n\t\tGeneralInformationEmailComponent,\r\n\t\tPendingApprovalDialogViewComponent,\r\n\t\tFailoverMechanismComponent,\r\n\t],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tAgmCoreModule.forRoot({\r\n\t\t\tapiKey: 'AIzaSyCHReBe_RpzAgLTrUC5QIDyeKttQ817wRY',\r\n\t\t\tlibraries: ['places'],\r\n\t\t}),\r\n\t\tDashboardModule,\r\n\t\tMatAutocompleteModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatInputModule,\r\n\t\tMatSelectModule,\r\n\t\tMatRadioModule,\r\n\t\tMatListModule,\r\n\t\tMatButtonModule,\r\n\t\tNgxEchartsModule.forRoot({\r\n\t\t\techarts,\r\n\t\t}),\r\n\t\tMatIconModule,\r\n\t\tPickerModule,\r\n\t\tAngularEditorModule,\r\n\t\tMatDialogModule,\r\n\t\tMatTabsModule,\r\n\t\tMatBadgeModule,\r\n\t\tNgbDropdownModule,\r\n\t\tNgbPaginationModule,\r\n\t\tMatCardModule,\r\n\t\tMatTableModule,\r\n\t\tMatCheckboxModule,\r\n\t\tMatPaginatorModule,\r\n\t\tMatGridListModule,\r\n\t\tMatDatepickerModule,\r\n\t\tMatSortModule,\r\n\t\tSearchModule,\r\n\t\tMatDividerModule,\r\n\t\tMatProgressSpinnerModule,\r\n\t\tMatSlideToggleModule,\r\n\t\tDragDropModule,\r\n\t\tCampaignIndexModule,\r\n\t],\r\n\texports: [CampaignManagementComponent, SummaryComponent],\r\n\tentryComponents: [PendingApprovalDialogViewComponent],\r\n\tproviders: [DatePipe],\r\n})\r\nexport class CampaignManagementModule {}\r\n","import { AgmCoreModule } from '@agm/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatPaginatorIntl } from '@angular/material/paginator';\r\nimport { NgxEchartsModule } from 'ngx-echarts';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { AdlCampaignManagementLibraryInternalComponent } from './adl-campaign-management-library-internal.component';\r\nimport { CampaignManagementModule } from './campaign-management/campaign-management.module';\r\nimport { CustomPaginator } from './core/util';\r\n\r\n@NgModule({\r\n\tdeclarations: [AdlCampaignManagementLibraryInternalComponent],\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tAgmCoreModule.forRoot({\r\n\t\t\tapiKey: 'AIzaSyCHReBe_RpzAgLTrUC5QIDyeKttQ817wRY',\r\n\t\t\tlibraries: ['places'],\r\n\t\t}),\r\n\t\tCampaignManagementModule,\r\n\t\tNgxEchartsModule,\r\n\t\tMatCardModule,\r\n\t\tHttpClientModule,\r\n\t\tToastrModule.forRoot(),\r\n\t],\r\n\texports: [AdlCampaignManagementLibraryInternalComponent],\r\n\tproviders: [{ provide: MatPaginatorIntl, useClass: CustomPaginator }],\r\n})\r\nexport class AdlCampaignManagementLibraryInternalModule {}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { ConfirmationComponent } from './confirmation';\r\n\r\n@NgModule({\r\n\tdeclarations: [ConfirmationComponent],\r\n\timports: [CommonModule, MatDialogModule, MatButtonModule],\r\n\texports: [ConfirmationComponent]\r\n})\r\nexport class ConfirmationModule {}\r\n"]}
|