{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.html","./src/app/features/announcements/announcements.component.html","./src/app/features/announcements/create-announcement/create-announcement.component.html","./src/app/features/authentication/activation/activation.component.html","./src/app/features/authentication/change-password/change-password.component.html","./src/app/features/authentication/forget-password/forget-password.component.html","./src/app/features/authentication/login/login.component.html","./src/app/features/authentication/register/register.component.html","./src/app/features/authentication/reset-password/reset-password.component.html","./src/app/features/cabs/cabdetails/cab-payment/cab-payment.component.html","./src/app/features/cabs/cabdetails/cabdetails.component.html","./src/app/features/cabs/cabdetails/renew-expiration-dialog/renew-expiration-dialog.component.html","./src/app/features/cabs/cabs-form/cabs-form.component.html","./src/app/features/cabs/cabs.component.html","./src/app/features/cabs/wallet-trans-dialog/wallet-trans-dialog.component.html","./src/app/features/certificates/certificates-details/certificates-details.component.html","./src/app/features/certificates/certificates.component.html","./src/app/features/certificates/create-certificates/create-certificates.component.html","./src/app/features/configuration/abtypes/abtypes.component.html","./src/app/features/configuration/abtypes/createabtypes/createabtypes.component.html","./src/app/features/configuration/configuration.component.html","./src/app/features/configuration/countries-configuration/countries-configuration.component.html","./src/app/features/configuration/countries-configuration/create-countries/create-countries.component.html","./src/app/features/configuration/language-configuration/create-language/create-language.component.html","./src/app/features/configuration/language-configuration/language-configuration.component.html","./src/app/features/configuration/nationality-configurations/create-nationality-configuration/create-nationality-configuration.component.html","./src/app/features/configuration/nationality-configurations/nationality-configurations.component.html","./src/app/features/configuration/sectors-configuration/create-sectors/create-sectors.component.html","./src/app/features/configuration/sectors-configuration/sectors-configuration.component.html","./src/app/features/dashboard/dashboard.component.html","./src/app/features/discussions/create-discussion/create-discussion.component.html","./src/app/features/discussions/discussion-details/discussion-details.component.html","./src/app/features/discussions/discussions-list/discussions-list.component.html","./src/app/features/discussions/discussions.component.html","./src/app/features/due-payments/checkout-payment/checkout-payment.component.html","./src/app/features/due-payments/choose-invoices/choose-invoices.component.html","./src/app/features/due-payments/due-payments.component.html","./src/app/features/due-payments/payment-confirmation-dialog/payment-confirmation-dialog.component.html","./src/app/features/entities/entities.component.html","./src/app/features/entities/entity-details/entity-details.component.html","./src/app/features/entities/entity-details/update-branches-dialog/update-branches-dialog.component.html","./src/app/features/entities/entity-details/update-entity-dialog/update-entity-dialog.component.html","./src/app/features/entities/entity-details/update-representative-dialog/update-representative-dialog.component.html","./src/app/features/entities/entity-form/entity-branch-form/entity-branch-form.component.html","./src/app/features/entities/entity-form/entity-form.component.html","./src/app/features/entities/entity-form/entity-info-form/entity-info-form.component.html","./src/app/features/entities/entity-form/entity-representative-form/entity-representative-form.component.html","./src/app/features/gac/gac-form/gac-form.component.html","./src/app/features/gac/gac.component.html","./src/app/features/partial/file-manager/file-manager.component.html","./src/app/features/partial/files-viewer/files-viewer.component.html","./src/app/features/payment-requests/payment-request-details/payment-request-details.component.html","./src/app/features/payment-requests/payment-requests.component.html","./src/app/features/representatives/representatives.component.html","./src/app/features/search-cab/search-cab.component.html","./src/app/features/users/create-user/create-user.component.html","./src/app/features/users/user-details/user-details.component.html","./src/app/features/users/users.component.html","./src/app/layout/admin-layout/admin-layout.component.html","./src/app/layout/admin-layout/header/header.component.html","./src/app/layout/admin-layout/sidebar/sidebar.component.html","./src/app/layout/basic-layout/basic-layout.component.html","./src/app/Models/notification/NotificationsSearchModel.ts","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/features/announcements/announcements.component.ts","./src/app/features/announcements/create-announcement/create-announcement.component.ts","./src/app/features/authentication/activation/activation.component.ts","./src/app/features/authentication/change-password/change-password.component.ts","./src/app/features/authentication/forget-password/forget-password.component.ts","./src/app/features/authentication/login/login.component.ts","./src/app/features/authentication/register/register.component.ts","./src/app/features/authentication/reset-password/reset-password.component.ts","./src/app/features/cabs/cabdetails/cab-payment/cab-payment.component.ts","./src/app/features/cabs/cabdetails/cabdetails.component.ts","./src/app/features/cabs/cabdetails/renew-expiration-dialog/renew-expiration-dialog.component.ts","./src/app/features/cabs/cabs-form/cabs-form.component.ts","./src/app/features/cabs/cabs.component.ts","./src/app/features/cabs/wallet-trans-dialog/wallet-trans-dialog.component.ts","./src/app/features/certificates/certificates-details/certificates-details.component.ts","./src/app/features/certificates/certificates.component.ts","./src/app/features/certificates/create-certificates/create-certificates.component.ts","./src/app/features/configuration/abtypes/abtypes.component.ts","./src/app/features/configuration/abtypes/createabtypes/createabtypes.component.ts","./src/app/features/configuration/configuration.component.ts","./src/app/features/configuration/countries-configuration/countries-configuration.component.ts","./src/app/features/configuration/countries-configuration/create-countries/create-countries.component.ts","./src/app/features/configuration/language-configuration/create-language/create-language.component.ts","./src/app/features/configuration/language-configuration/language-configuration.component.ts","./src/app/features/configuration/nationality-configurations/create-nationality-configuration/create-nationality-configuration.component.ts","./src/app/features/configuration/nationality-configurations/nationality-configurations.component.ts","./src/app/features/configuration/sectors-configuration/create-sectors/create-sectors.component.ts","./src/app/features/configuration/sectors-configuration/sectors-configuration.component.ts","./src/app/features/dashboard/dashboard.component.ts","./src/app/features/discussions/create-discussion/create-discussion.component.ts","./src/app/features/discussions/discussion-details/discussion-details.component.ts","./src/app/features/discussions/discussions-list/discussions-list.component.ts","./src/app/features/discussions/discussions.component.ts","./src/app/features/due-payments/checkout-payment/checkout-payment.component.ts","./src/app/features/due-payments/choose-invoices/choose-invoices.component.ts","./src/app/features/due-payments/due-payments.component.ts","./src/app/features/due-payments/payment-confirmation-dialog/payment-confirmation-dialog.component.ts","./src/app/features/entities/entities.component.ts","./src/app/features/entities/entity-details/entity-details.component.ts","./src/app/features/entities/entity-details/update-branches-dialog/update-branches-dialog.component.ts","./src/app/features/entities/entity-details/update-entity-dialog/update-entity-dialog.component.ts","./src/app/features/entities/entity-details/update-representative-dialog/update-representative-dialog.component.ts","./src/app/features/entities/entity-form/entity-branch-form/entity-branch-form.component.ts","./src/app/features/entities/entity-form/entity-form.component.ts","./src/app/features/entities/entity-form/entity-info-form/entity-info-form.component.ts","./src/app/features/entities/entity-form/entity-representative-form/entity-representative-form.component.ts","./src/app/features/gac/gac-form/gac-form.component.ts","./src/app/features/gac/gac.component.ts","./src/app/features/partial/file-manager/file-manager.component.ts","./src/app/features/partial/files-viewer/files-viewer.component.ts","./src/app/features/payment-requests/payment-request-details/payment-request-details.component.ts","./src/app/features/payment-requests/payment-requests.component.ts","./src/app/features/representatives/representatives.component.ts","./src/app/features/search-cab/search-cab.component.ts","./src/app/features/users/create-user/create-user.component.ts","./src/app/features/users/user-details/user-details.component.ts","./src/app/features/users/users.component.ts","./src/app/helpers/auth.guard.ts","./src/app/helpers/dnd.directive.ts","./src/app/helpers/error.interceptor.ts","./src/app/helpers/format-datepicker.ts","./src/app/helpers/jwt.interceptor.ts","./src/app/helpers/material-modules.ts","./src/app/helpers/onlynumber.directive.ts","./src/app/helpers/sanitize-html-pipe.pipe.ts","./src/app/helpers/shortName.pipe.ts","./src/app/layout/admin-layout/admin-layout.component.ts","./src/app/layout/admin-layout/header/header.component.ts","./src/app/layout/admin-layout/sidebar/sidebar.component.ts","./src/app/layout/basic-layout/basic-layout.component.ts","./src/app/models/Announcements/AnnouncementModel.ts","./src/app/models/Announcements/AnnouncementsFilterModel.ts","./src/app/models/DuePayment/DuePaymentFilterModal.ts","./src/app/models/DuePayment/DuePaymentSortItems.ts","./src/app/models/DuePayment/DuePaymentStatus.ts","./src/app/models/DuePayment/EntityWalletTransactionType.ts","./src/app/models/DuePayment/SubmitPaymentModel.ts","./src/app/models/Representatives/CustomRoles.ts","./src/app/models/Representatives/RepresentativesFilterModel.ts","./src/app/models/auth/login-model.ts","./src/app/models/cabs/ListFilter.ts","./src/app/models/cabs/sortList.ts","./src/app/models/cabs/statusList.ts","./src/app/models/certificates/CertificateListFilter.ts","./src/app/models/certificates/LoginType.ts","./src/app/models/certificates/SearchCertificateFilterModel.ts","./src/app/models/certificates/SearchCertificateModel.ts","./src/app/models/certificates/sortList.ts","./src/app/models/certificates/statusList.ts","./src/app/models/config.ts","./src/app/models/conversation/ConversationMessages.ts","./src/app/models/conversation/ConversationsFilterModal.ts","./src/app/models/conversation/ConversationsModel.ts","./src/app/models/conversation/NewMessageModel.ts","./src/app/models/entity/Branch.ts","./src/app/models/entity/Entity.ts","./src/app/models/entity/EntityListFilter.ts","./src/app/models/entity/Representative.ts","./src/app/models/entity/sortList.ts","./src/app/models/lookupsManagement/LanguageRow.ts","./src/app/models/lookupsManagement/LookupsFilterModel.ts","./src/app/models/lookupsManagement/SectorDetails.ts","./src/app/models/lookupsManagement/SectorModel.ts","./src/app/models/lookupsManagement/SectorUpdatedModel.ts","./src/app/models/lookupsManagement/oneRecord.ts","./src/app/models/paymentRequest/PaymentSlipStatus.ts","./src/app/models/paymentRequest/RequestsFilterModel.ts","./src/app/models/paymentRequest/SortItems.ts","./src/app/models/user/user.ts","./src/app/models/users/ListFilter.ts","./src/app/models/users/sortList.ts","./src/app/models/users/statusList.ts","./src/app/services/announcements.service.ts","./src/app/services/authentication.service.ts","./src/app/services/cabs.service.ts","./src/app/services/certificate.service.ts","./src/app/services/discussion.service.ts","./src/app/services/entity.service.ts","./src/app/services/lookup-management.service.ts","./src/app/services/lookups.service.ts","./src/app/services/notifications.service.ts","./src/app/services/payment-requests.service.ts","./src/app/services/representatives.service.ts","./src/app/services/signal-rservice.service.ts","./src/app/services/users.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","module.exports = \"\\n\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n\\r\\n {{filterModel.cabsIds}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{ 'announcement.Youhavenoannouncement' | translate }}

\\r\\n

{{ 'announcement.Youareallcaughtup' | translate }}\\r\\n {{ 'announcement.notcreateannouncementCAB' | translate }}

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n 0 || filterModel.filter.cabsIds\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n {{recordsData.totalCount}} {{ 'announcement.Announcements' | translate }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Filterby' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'general.Entity' | translate }}\\r\\n \\r\\n {{ 'general.All' | translate }}\\r\\n {{ one.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
    • \\r\\n
    • \\r\\n
      3\\\">\\r\\n +{{ record.entities.length - 3 }}\\r\\n
      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{ 'general.Entities' | translate }}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{entity.name}} \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    {{record.creationDate | date:'MMMM dd, hh:mm aaa' }}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/{{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"recordsData.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getAll($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
{{ 'announcement.CreateNewannouncement' | translate }}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'announcement.CAB' | translate }}\\r\\n \\r\\n = 2\\\">\\r\\n {{sector.name}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
2\\\" (click)=\\\"showSectoreTree = true\\\" class=\\\"more-plus\\\">+{{sectors.length - 2}}
\\r\\n \\r\\n
\\r\\n {{showSectoreTree ? 'expand_more' : 'expand_less'}}\\r\\n

{{sectorChipsErrorMsg}}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{node.name}}\\r\\n \\r\\n \\r\\n \\r\\n {{node.name}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n {{ 'forms.Required' | translate }}

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\n \\n
\\n\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n

{{ 'general.yourAccountActivated' | translate }}

\\n \\n
\\n \\n \\n
\\n
\\n\\n
\\n
\\n {{ 'auth.invalidActivation' | translate }}\\n
\\n \\n
\\n
\\n\"","module.exports = \"
\\r\\n
\\r\\n

{{ 'auth.Update-password' | translate }}

\\r\\n

{{ 'auth.set-password' | translate }}...

\\r\\n\\r\\n
{{msgObj.msg}}
\\r\\n
{{ 'auth.Reset-expire' | translate }}
\\r\\n \\r\\n
\\r\\n \\r\\n {{ 'auth.Old Password' | translate }}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Password' | translate }}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n {{ 'forms.password-validation' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.cPassword' | translate }}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n {{ 'auth.Password-match' | translate }}\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\n
\\n

{{ 'auth.Forget-password' | translate }}

\\n

{{ 'auth.Forget-title' | translate }}...

\\n \\n
{{msgObj.msg}}
\\n\\n
\\n \\n {{ 'forms.Email-Address' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n {{ 'forms.Invalid-Email' | translate }}\\n {{ 'forms.Invalid-Email' | translate }}\\n \\n\\n
\\n \\n
\\n\\n
\\n {{ 'auth.have-account?' | translate }}\\n {{ 'auth.Sign-in' | translate }}\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n

{{ 'header.Sign-In' | translate }}

\\n

{{ 'auth.login-title' | translate }}...

\\n \\n
{{errorMsg}}
\\n\\n
\\n \\n {{ 'forms.Email-Address' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n {{ 'forms.Invalid-Email' | translate }}\\n {{ 'forms.Invalid-Email' | translate }}\\n \\n\\n \\n {{ 'forms.Password' | translate }}\\n \\n \\n {{ 'forms.Required' | translate }}\\n \\n\\n
\\n \\n

{{ 'forms.Required' | translate }}

\\n
\\n\\n
\\n \\n
\\n\\n
\\n {{ 'auth.forgetPassword' | translate }}\\n
\\n {{ 'auth.haveNotAccount' | translate }}\\n {{ 'auth.Sign-up' | translate }}\\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\r\\n
\\r\\n

{{ 'register.Register' | translate }}

\\r\\n

{{ 'register.Create your CAB Representative account' | translate }}

\\r\\n \\r\\n
{{errorMsg}}
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{ 'dashbord.CAB' | translate }}\\r\\n \\r\\n \\r\\n {{showSectoreTree ? 'expand_less' : 'expand_more'}}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.validSector' | translate }}\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{node.name}}\\r\\n \\r\\n \\r\\n \\r\\n {{node.name}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.Full Name in English' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.EntervalidNameinEnglish' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Full Name in Arabic' | translate }}\\r\\n \\r\\n {{ 'forms.Optional' | translate }}\\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.EntervalidNameinArabic' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Email-Address' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n {{ 'forms.Invalid-Email' | translate }}\\r\\n {{ 'forms.uniqe-email' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'forms.Mobile-Number' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.vaildMobile' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'register.Nationality' | translate }}\\r\\n \\r\\n \\r\\n {{nationality.text}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Country' | translate }}\\r\\n \\r\\n \\r\\n {{country.text}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'forms.City' | translate }}\\r\\n \\r\\n \\r\\n {{city.text}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Password' | translate }}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n {{ 'forms.password-validation' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.cPassword' | translate }}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n {{ 'auth.Password-match' | translate }}\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{ 'auth.have-account?' | translate }}\\r\\n {{ 'auth.Sign-in' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\n
\\n

{{ 'auth.set-password' | translate }}

\\n

{{ 'auth.Reset-title' | translate }}...

\\n\\n
{{msgObj.msg}}
\\n
{{ 'auth.Reset-expire' | translate }}
\\n\\n
\\n \\n {{ 'forms.Password' | translate }}\\n \\n \\n {{ 'forms.Required' | translate }}\\n {{ 'forms.password-validation' | translate }}\\n \\n\\n \\n {{ 'forms.cPassword' | translate }}\\n \\n \\n {{ 'forms.Required' | translate }}\\n {{ 'auth.Password-match' | translate }}\\n \\n\\n
\\n \\n
\\n\\n
\\n {{ 'auth.have-account?' | translate }}\\n {{ 'auth.Sign-in' | translate }}\\n
\\n
\\n
\\n
\"","module.exports = \"
\\r\\n
\\r\\n
{{ 'messages.Kindly upload wire transfer proof document to confirm payment' | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n

\\r\\n {{data.supposedAmount}} {{ 'duepayment.SAR' | translate }}\\r\\n

\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ details.englishName }}\\r\\n
\\r\\n {{ details.arabicName }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{details.totalCertificates}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'CABs.Total Issued Certificates' | translate }}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ 'CABs.View all Certificates' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{(details.currentWalletCredit) ? details.currentWalletCredit : '0'}} {{ 'duepayment.SAR' | translate }}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'CABs.Balance in Wallet' | translate }}\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ 'CABs.View Transactions' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Basic Info' | translate }}

\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'forms.CommercialRegistrationNo' | translate }}

\\r\\n {{details.commercialIdentificationNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ 'forms.Mobile No' | translate }}\\r\\n

\\r\\n
\\r\\n {{ details.phone }}\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Email' | translate }}

\\r\\n {{ details.email }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ 'general.Address' | translate }}\\r\\n

\\r\\n
\\r\\n {{ details.address }}\\r\\n

\\r\\n {{ details.cityName }}, {{ details.countryName }}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n

{{ 'Entity.Certified Entities' | translate }}

\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'general.Name' | translate }}{{ 'Entity.Commercial RegNo' | translate }}{{ 'Entity.Certificates granted' | translate }}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{record.name}}\\r\\n
\\r\\n
\\r\\n
{{record.commercialIdentificationNumber}}{{record.certificatesNumber}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ 'general.NoDataFound' | translate }}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'general.NoDataFound' | translate }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

{{ 'CABs.Accreditation Details' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n {{details.status.text}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ 'CABs.Accreditation Commencement Date' | translate }}\\r\\n

\\r\\n
\\r\\n \\r\\n {{ details.accreditationCommencementDate | date:fulldate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'CABs.Certification Expiry Date' | translate }}

\\r\\n \\r\\n {{ details.certificationExpirationDate | date:fulldate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'forms.Scopes' | translate }}

\\r\\n
    \\r\\n
  • \\r\\n {{scope.text}}\\r\\n
      \\r\\n
    • {{scope.text}}
    • \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'CABs.Waiting for Activation Representatives' | translate }}\\r\\n ({{ representatives.inActiveUsers.length }})

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'forms.Name' | translate }}{{ 'CABs.Your Action' | translate }}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ representative.name }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n visibility\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'CABs.CABs Representatives' | translate }}\\r\\n ({{ representatives.activeUsers.length }})

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'forms.Name' | translate }}{{ 'forms.Role' | translate }}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ representative.name }}
\\r\\n
\\r\\n
{{ representative.roleName }}\\r\\n
\\r\\n \\r\\n visibility\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'forms.No Representatives found' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
{{ 'general.Renew Accreditation' | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n {{ 'forms.Expiration Date' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
{{ (isCreate ? \\\"general.Create\\\" : \\\"general.Update\\\") | translate }} {{ 'general.CAB' | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n

{{ 'messages.Maximumfilesize800KB' | translate }}
\\r\\n {{ 'messages.Werecommendimagedimensions' | translate }}

\\r\\n
\\r\\n
\\r\\n

{{ 'forms.Required' | translate }}

\\r\\n

{{ 'messages.Filetypeisinvalid' | translate }}

\\r\\n

{{ 'messages.Maxfilesize' | translate }} {{maxFileSize}} {{ 'messages.Mb' | translate }}

\\r\\n
\\r\\n \\r\\n \\r\\n {{ 'forms.Full Name in English' | translate }} \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.EntervalidNameinEnglish' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Full Name in Arabic' | translate }}\\r\\n \\r\\n {{ 'forms.Optional' | translate }}\\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.EntervalidNameinArabic' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.CommercialRegistrationNo' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.CommercialRegistrationNo.isalreadyexist' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.IssueDate' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.ExpirationDate' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.ExpirationDatemustbelaterthanIssueDate' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n {{ 'forms.Scopes' | translate }}\\r\\n \\r\\n = 5\\\">\\r\\n {{node.text}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
5\\\" class=\\\"more-plus\\\"\\r\\n (click)=\\\"showScopesTree = true\\\">+{{selectedScopes.length - 5}}
\\r\\n \\r\\n
\\r\\n {{showScopesTree ? 'expand_more' : 'expand_less'}}\\r\\n

{{ 'forms.Required' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{node.text}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{node.text}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{ 'forms.Email-Address' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n {{ 'forms.Invalid-Email' | translate }}\\r\\n {{ 'forms.uniqe-email' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'forms.Country' | translate }}\\r\\n \\r\\n \\r\\n {{country.text}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'forms.City' | translate }}\\r\\n \\r\\n \\r\\n {{city.text}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'forms.AddressinEnglish' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.AddressinArabic' | translate }}\\r\\n \\r\\n {{ 'forms.Optional' | translate }}\\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.Filterby' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'general.Status' | translate }}\\r\\n \\r\\n {{ 'general.All' | translate }}\\r\\n {{ status.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.Country' | translate }}\\r\\n \\r\\n {{ 'general.All' | translate }}\\r\\n {{ country.text }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.City' | translate }}\\r\\n \\r\\n {{ 'general.All' | translate }}\\r\\n {{ city.text }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'CABs.expirationDateFrom' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'CABs.expirationDateTo' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'CABs.CABName' | translate }}{{ 'general.City & Country' | translate }}{{ 'general.Status' | translate }}{{ 'CABs.IssueExpiration' | translate }}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{record.name}}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{record.cityName}}
\\r\\n {{record.countryName}}\\r\\n
\\r\\n \\r\\n {{record.status.text}}\\r\\n \\r\\n \\r\\n {{record.accreditationCommencementDate | date: fulldate}}
\\r\\n {{record.certificationExpirationDate | date: fulldate}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/{{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"recordsData.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getAll($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
{{ 'CABs.WalletTransactions' | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{trans.walletCategoryText}}\\r\\n

{{trans.transactionDate|date:fulldate}}

\\r\\n
{{ trans.amount}} {{ 'duepayment.SAR' | translate }}
\\r\\n
\\r\\n
\\r\\n {{ 'general.NoDataFound' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'Certificate.Certificate no.' | translate }}
\\r\\n
{{ details.certificateNumber }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'Certificate.Certified Entity' | translate }}\\r\\n {{ details.certifiedEntity.englishName }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'Certificate.Certified by CAB' | translate }}\\r\\n {{ details.cabDetails.name }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ 'Certificate.Show in Search' | translate }}\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Certificate Details' | translate }}

\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ 'Certificate.Certificate Status' | translate }}\\r\\n

\\r\\n \\r\\n {{details.status.text}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Certificate Issue Date' | translate }}

\\r\\n
\\r\\n \\r\\n {{ details.issueingDate | date : fulldate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Certificate Expiry Date' | translate }}

\\r\\n \\r\\n {{ details.expirationDate | date : fulldate }}\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'general.Created on' | translate }}

\\r\\n \\r\\n {{ details.created | date : fulldate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Certificate Document' | translate }}

\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Authentication Report' | translate }}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Scope' | translate }}

\\r\\n
    \\r\\n
  • {{ details.abTypeText }}
  • \\r\\n
  • \\r\\n {{scope}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Entity.Entity Branch' | translate }}

\\r\\n
\\r\\n \\r\\n {{ details.branchNames[0].text }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ 'Certificate.Authorized Officer' | translate }}\\r\\n

\\r\\n
\\r\\n \\r\\n {{ details.representives[0].representiveName }}\\r\\n
\\r\\n {{ details.representives[0].representiveTitle }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.Filterby' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'Certificate.Certificate Number' | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'general.Status' | translate }}\\r\\n \\r\\n {{ 'general.All' | translate }}\\r\\n {{status.name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'Certificate.Scope' | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.Issue Date From' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.Issue Date To' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{ 'CABs.expirationDateFrom' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'CABs.expirationDateTo' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'Certificate.Certificate Number' | translate }}{{ 'Certificate.Scope' | translate }}{{ 'Certificate.Issue & Expiration Dates' | translate }}{{ 'general.Status' | translate }}{{ 'general.Entity' | translate }}{{ 'general.CAB' | translate }}
\\r\\n {{ record.certificateNumber }}\\r\\n {{ record.scopeName }}\\r\\n {{ record.issueingDate | date: fullDate }}
\\r\\n {{ record.expirationDate | date: fullDate }}\\r\\n
\\r\\n \\r\\n {{record.status.text}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/{{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"recordsData.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getAll($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
{{ (data.create ? 'general.Create' : 'general.Update') | translate }} {{'general.certificate' | translate}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'Certificate.Use Entity Name or its Commercial RegNo' | translate }}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ 'Certificate.Add New Entity' | translate }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ 'Certificate.Certified Entity' | translate }}\\r\\n \\r\\n \\r\\n {{entity.name}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'Certificate.AB Type' | translate }}\\r\\n \\r\\n \\r\\n {{AbType.text}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{ 'general.Scope' | translate }}\\r\\n \\r\\n \\r\\n {{scope.text}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{ 'Certificate.Certificate no.' | translate }}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'Certificate.Certificate no.' | translate }} {{ 'messages.already exist' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Issue Date' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Expiry Date' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'messages.Expiry Date must be later than Issue Date' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'Entity.Entity Branch' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{branch.name}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'Certificate.Authorized Officer' | translate }}\\r\\n \\r\\n \\r\\n {{repsentative.name}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n {{filterModel.totalCount}} \\r\\n {{ 'general.ABTypes' | translate }}\\r\\n {{ 'general.Certificate Scopes' | translate }}\\r\\n {{ 'general.Scopes' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'general.Name in English' | translate }}{{ 'general.Name in Arabic' | translate }}
{{element.englishName}}{{element.arabicName}}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/ {{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"filterModel.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getAll($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n

{{ 'forms.Create' | translate }}

\\r\\n

{{ 'forms.Update' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ 'general.Name in English' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.EntervalidNameinEnglish' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'general.Name in Arabic' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.EntervalidNameinArabic' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"

configuration works!

\\r\\n\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n {{filterModel.totalCount}} {{ 'general.Countires' | translate }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{displayedColumns[0]}}\\r\\n {{element.englishName}}\\r\\n {{displayedColumns[1]}}\\r\\n {{element.arabicName}}\\r\\n {{displayedColumns[2]}}\\r\\n {{element.childs.length}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n edit\\r\\n \\r\\n \\r\\n delete\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/{{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"filterModel.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getListCountries($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n

{{ 'general.Create New County' | translate }}

\\r\\n

{{ 'general.update Country' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ 'general.Country Name In English' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n {{ 'general.Country Name In Arabic' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.EntervalidNameinArabic' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
{{ 'general.Add Cities' | translate }}
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
{{item.englishName}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{item.arabicName}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'forms.EntervalidNameinArabic' | translate }}

\\r\\n

\\r\\n {{ 'general.please Enter at least one Country' | translate }}\\r\\n

\\r\\n \\r\\n
\\r\\n
\\r\\n

➤ {{ 'general.Please press Enter key to add city' | translate }}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n

Create New Language

\\r\\n

update Language

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Language Name In English\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n Language Name In French\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n {{filterModel.totalCount}} Languages\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{displayedColumns[0]}}\\r\\n {{element.nameEn}}\\r\\n {{displayedColumns[1]}}\\r\\n {{element.nameFr}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n edit\\r\\n \\r\\n \\r\\n delete\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/{{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"filterModel.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getListLanguages($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n

{{ 'general.Create New Nationality' | translate }}

\\r\\n

{{ 'general.update Nationality' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ 'general.Nationality Name In English' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n {{ 'general.Nationality Name In Arabic' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.EntervalidNameinArabic' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n {{filterModel.totalCount}} {{ 'general.Nationalities' | translate }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{displayedColumns[0]}}\\r\\n {{element.englishName}}\\r\\n {{displayedColumns[1]}}\\r\\n {{element.arabicName}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/{{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"filterModel.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getListNationalities($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n

Create New Sector

\\r\\n

Update Sector

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n Sector Name In English\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n Sector Name In French\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n
\\r\\n
Add Specialization
\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
{{item.nameEn}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{item.nameFr}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n please Enter at least one Specialization\\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n

➤ Please press Enter key to add Specialization

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n {{filterModel.totalCount}} Sectors\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{displayedColumns[0]}}\\r\\n {{element.nameEn}}\\r\\n \\r\\n {{displayedColumns[1]}}\\r\\n {{element.nameFr}}\\r\\n {{displayedColumns[2]}}\\r\\n {{element.referenceCount}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n edit\\r\\n \\r\\n \\r\\n delete\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/{{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"filterModel.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getListSectors($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{statics.caBsCount}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'dashbord.Total CABs' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{statics.certificatesCount}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'dashbord.Total Certificates' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{statics.certifiedEntitiesCount}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'dashbord.Total Certified Entities' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{statics.usersCount}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'dashbord.Total Users' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{statics.certifiedEntitiesDuplicatedCount}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'dashbord.Total Duplicated Certified Entities' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{statics.paymentRequestsCount}}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'dashbord.Total Payment Requests' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

{{ 'dashbord.Certifications by CAB' | translate }}

\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'general.Country' | translate }}\\r\\n \\r\\n {{ 'general.All' | translate }}\\r\\n \\r\\n {{ country.text }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'dashbord.CAB' | translate }}\\r\\n \\r\\n {{ 'general.All' | translate }}\\r\\n \\r\\n {{ cab.name }}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.Date From' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.Date To' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
{{ 'discssion.Create New Discussion' | translate }}
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'CABs.CABs' | translate }}\\r\\n \\r\\n \\r\\n {{showSectoreTree ? 'expand_less' : 'expand_more'}}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'messages.Invalid CAB' | translate }}\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{node.name}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{node.name}}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{ 'discssion.Select a discussion to read' | translate }}

\\r\\n

{{ 'discssion.Just select a discusson from the list to read' | translate }}

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{recordsData.entityName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{ 'discssion.There is no discussions' | translate }}

\\r\\n
\\r\\n
\\r\\n\\r\\n
    0 && !dataLoading\\\">\\r\\n
  • \\r\\n
    \\r\\n
    {{ 'general.You' | translate }}
    \\r\\n
    {{message.creatorName}}
    \\r\\n

    {{message.text}}

    \\r\\n

    {{message.messageDate | date:'MMMM dd, hh:mm aaa' }}

    \\r\\n
    \\r\\n
  • \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"\\\"\\r\\n

{{ 'discssion.You have no discussions yet' | translate }}

\\r\\n

{{ 'discssion.You are all caught up looks like GAC doesnt' | translate }}

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
{{ 'duepayment.Checkout' | translate }}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{data.duePayments.length}} {{ 'duepayment.Invoices' | translate }}
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ data.cab.cabEntityName }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n \\r\\n {{ 'general.certificate' | translate }}\\r\\n #\\r\\n \\r\\n {{item.certificateRefNumber}}\\r\\n
    \\r\\n
    \\r\\n {{item.amount}} {{ 'duepayment.SAR' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{ 'duepayment.Supposed Paid' | translate }}\\r\\n \\r\\n {{data.totalAmount}}\\r\\n {{ 'duepayment.SAR' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'duepayment.Select Payment Method' | translate }}

\\r\\n
\\r\\n \\r\\n {{ 'duepayment.Pay with Wallet' | translate }}\\r\\n {{ 'duepayment.Wire Transfer' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'CABs.Balance in Wallet' | translate }}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{currentBalance}}\\r\\n {{ 'duepayment.SAR' | translate }}\\r\\n \\r\\n
\\r\\n

{{ 'duepayment.Total amount to pay is higher than balance in your CABs wallet' | translate }}\\r\\n \\r\\n {{ 'duepayment.to proceed' | translate }}\\r\\n {{ 'duepayment.please change the payment method' | translate }} \\r\\n {{ 'duepayment.or' | translate }} \\r\\n {{ 'duepayment.remove invoices above to match your wallet balance' | translate }} \\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n

{{ 'duepayment.Kindly upload wire transfer proof document to confirm payment' | translate }}

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
{{ 'duepayment.Choose Invoice to pay' | translate }}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{recordData.amountPaid}}\\r\\n {{ 'duepayment.SAR' | translate }}\\r\\n \\r\\n {{ 'duepayment.added to your CAB wallet' | translate }}\\r\\n
\\r\\n

{{ 'duepayment.Wire Transfer was lower than due payment requested' | translate }}

\\r\\n

{{ 'duepayment.So please choose' | translate }} {{ 'duepayment.which invoices to be paid' | translate }} {{ 'duepayment.as per your balance' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{ 'duepayment.Your transaction has been Rejected because of' | translate }} {{recordData.rejectionReason}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{ 'duepayment.your current Balance is' | translate }} {{recordData.walletCredit}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

{{ 'CABs.Balance in Wallet' | translate }}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{recordData.walletCredit}}\\r\\n {{ 'duepayment.SAR' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
    0\\\">\\r\\n \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n #\\r\\n {{invoice.refNumber}}\\r\\n
    \\r\\n
    \\r\\n {{invoice.amount}} {{ 'duepayment.SAR' | translate }}\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
\\r\\n
0) && recordData.transactionWalletCategory != 0\\\">\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n #\\r\\n {{invoice.refNumber}}\\r\\n
    \\r\\n
    \\r\\n {{invoice.amount}} {{ 'duepayment.SAR' | translate }}\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
0 && duePaymentsSelection.length > 0\\\">\\r\\n {{ 'duepayment.Total' | translate }} \\r\\n \\r\\n {{totalAmount}} \\r\\n {{ 'duepayment.SAR' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n {{recordsData.totalCount}} {{ 'duepayment.Requests' | translate }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

{{ 'general.Filterby' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'general.Status' | translate }}\\r\\n \\r\\n {{status.name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.From' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.To' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'duepayment.Certificate Reference No' | translate }}
\\r\\n
{{ 'duepayment.Invoice Date' | translate }}
\\r\\n
{{ 'general.Status' | translate }}
\\r\\n
{{ 'duepayment.Amount' | translate }}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{record.duePaymentDate | date:'MMMM dd, hh:mm aaa'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{record.status.text}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{record.amount}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/{{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"recordsData.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getAll($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
0 && duePaymentsSelection.length > 0\\\">\\r\\n
\\r\\n
\\r\\n
{{duePaymentsSelection.length}}
\\r\\n

{{ 'duepayment.Invoices Selected' | translate }}

\\r\\n {{ 'duepayment.Unselect' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'duepayment.Supposed Paid' | translate }}\\r\\n \\r\\n {{ 'duepayment.SR' | translate }} {{totalAmount}}\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\"","module.exports = \"\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n

{{ 'duepayment.ThanksWallet' | translate }}

\\n

{{ 'duepayment.ThanksWire' | translate }}

\\n\\n

\\n {{ 'duepayment.walletTransfareSuccess' | translate }} {{ data.amount }} {{ 'duepayment.SAR' | translate }} {{ 'duepayment.walletTransfareConfirmation' | translate }}\\n

\\n

{{ 'duepayment.wireTransfareConfirmation' | translate }}

\\n\\n \\n
\\n
\"","module.exports = \"\\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n clear\\n \\n \\n
\\n\\n \\n
\\n \\n
\\n
\\n \\n
\\n

{{ 'general.Filterby' | translate }}

\\n
\\n
\\n \\n {{ 'general.Name' | translate }}\\n \\n \\n
\\n
\\n \\n {{ 'Entity.Commercial RegNo' | translate }}\\n \\n \\n
\\n
\\n \\n {{ 'general.Country' | translate }}\\n \\n {{ 'general.All' | translate }}\\n {{ country.text }}\\n \\n \\n
\\n
\\n \\n {{ 'general.City' | translate }}\\n \\n {{ 'general.All' | translate }}\\n {{ city.text }}\\n \\n \\n
\\n \\n
\\n
\\n\\n
\\n
\\n \\n
\\n\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{ 'general.Name' | translate }}{{ 'Entity.Commercial RegNo' | translate }}{{ 'general.City & Country' | translate }}{{ 'Entity.Certificates granted' | translate }}
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n {{record.name}}\\n
\\n
\\n
{{record.commercialIdentificationNumber}}\\n {{record.cityName}}
\\n {{record.countryName}}\\n
{{record.certificatesNumber}}\\n \\n
\\n
\\n
\\n
1\\\">\\n {{ 'general.page' | translate }}/{{ pageCount }}\\n
\\n 1\\\"\\n [length]=\\\"recordsData.totalCount\\\"\\n [pageSize]=\\\"filterModel.pageSize\\\"\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\n (page)=\\\"getAll($event)\\\"\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\n showFirstLastButtons>\\n
\\n
\\n
\\n \\n
\\n

{{ 'general.NoDataFound' | translate }}

\\n
\\n
\\n \\n
\"","module.exports = \"\\n\\n
\\n \\n
\\n\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n {{details.englishName}}\\n
\\n {{details.arabicName}}\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
{{details.certificatesCount}}
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n {{ 'CABs.Total Issued Certificates' | translate }}\\n
\\n
\\n \\n \\n {{ 'CABs.View all Certificates' | translate }}\\n \\n \\n \\n \\n
\\n
\\n

{{ 'general.Basic Info' | translate }}

\\n \\n
\\n
\\n

{{ 'forms.CommercialRegistrationNo' | translate }}

\\n {{details.commercialIdentificationNumber}}\\n
\\n
\\n
\\n
\\n

{{ 'forms.Mobile No' | translate }}

\\n
\\n {{details.phone}}\\n
\\n
\\n
\\n

{{ 'forms.Fax' | translate }}

\\n
\\n {{details.fax}}\\n
\\n
\\n
\\n
\\n
\\n

{{ 'forms.Website' | translate }}

\\n {{details.website}}\\n
\\n
\\n

{{ 'general.Email' | translate }}

\\n {{details.email}}\\n
\\n
\\n
\\n
\\n

{{ 'general.Address' | translate }}

\\n
\\n {{details.address}}\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n

{{ 'Entity.EntityRepresentatives' | translate }} ({{ representativesData.pageData.length }})

\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{ 'general.Name' | translate }}{{ 'general.Title' | translate }}
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
{{ representative.name }}
\\n
\\n
{{ representative.title }}
\\n
\\n
\\n {{ 'general.NoDataFound' | translate }}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n

{{ 'Entity.EntityBranches' | translate }} ({{branchesData.pageData.length}})

\\n
\\n \\n \\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{ 'Entity.Branch Title City' | translate }}{{ 'forms.Phone No.' | translate }} #
\\n \\\"\\\"\\n \\n
\\n
{{ branch.name }}
\\n
\\n

{{ branch.cityName }}

\\n
{{ branch.phoneNumber }}
\\n
\\n
\\n {{ 'general.NoDataFound' | translate }}\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n {{ 'general.NoDataFound' | translate }}\\n
\\n
\"","module.exports = \"
\\n
\\n
{{ 'general.Edit' | translate }} {{ 'Entity.EntityBranches' | translate }}
\\n \\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\n\\n \\n
\\n \\n
\\n
\\n
\\n
\\n {{ 'general.Branch' | translate }} {{i + 1}}: \\n {{branch.englishName}}\\n
\\n unfold_more\\n unfold_less\\n
\\n\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n \\n \\n
\\n
\\n
\"","module.exports = \"
\\n
\\n
{{ 'Entity.Edit Entity' | translate }}
\\n \\n
\\n
\\n\\n\\n
\\n \\n
\\n
\"","module.exports = \"
\\n
\\n
{{ 'general.Edit' | translate }} {{ 'Entity.EntityRepresentatives' | translate }}
\\n \\n
\\n
\\n\\n\\n
\\n
\\n
\\n \\n\\n \\n
\\n \\n
\\n
\\n
\\n
\\n {{ 'general.Representatives' | translate }} {{i + 1}}: \\n {{representative.englishFullName}}\\n
\\n unfold_more\\n unfold_less\\n
\\n\\n
\\n \\n
\\n
\\n \\n

{{ 'Entity.You must enter 2 representatives' | translate }}

\\n
\\n
\\n\\n
\\n \\n \\n
\\n
\\n
\"","module.exports = \"
\\n \\n {{ 'forms.Title in English' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.Enter-vaild' | translate }} {{ 'forms.Title in English' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Title in Arabic' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.Enter-vaild' | translate }} {{ 'forms.Title in Arabic' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Country' | translate }}\\n \\n \\n {{country.text}}\\n \\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n \\n {{ 'forms.City' | translate }}\\n \\n \\n {{city.text}}\\n \\n \\n {{ 'forms.Required' | translate }}\\n \\n\\n \\n {{ 'forms.AddressinEnglish' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n\\n \\n {{ 'forms.AddressinArabic' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n\\n \\n {{ 'forms.CommercialRegistrationNo' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.commercialNoLength' | translate }}\\n \\n\\n \\n {{ 'forms.Phone No.' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.vaildMobile' | translate }}\\n \\n \\n\\n
\\n \\n \\n
\\n
\"","module.exports = \"
\\n
\\n
{{ 'Entity.Create New Certified Entity' | translate }}
\\n \\n
\\n
\\n\\n\\n
\\n \\n
\\n\\n
\\n
\\n
\\n
\\n {{stepperPages[pageIndex].index + 1}} {{ 'general.of' | translate }} {{ stepsCount }}\\n \\n \\n
\\n

{{stepperPages[pageIndex].title}}

\\n ({{ 'forms.Required' | translate }})\\n \\n ({{ 'forms.Optional' | translate }})\\n \\n
\\n\\n \\n \\n \\n \\n \\n\\n \\n
\\n
\\n \\n\\n \\n
\\n \\n
\\n
\\n
\\n
\\n {{ 'general.Branch' | translate }} {{i + 1}}: \\n {{branch.englishName}}\\n
\\n unfold_more\\n unfold_less\\n
\\n\\n
\\n \\n
\\n
\\n
\\n
\\n\\n
\\n \\n \\n
\\n
\\n\\n \\n
\\n
\\n \\n\\n \\n
\\n \\n
\\n
\\n
\\n
\\n {{ 'general.Representative' | translate }} {{i + 1}}: \\n {{representative.englishFullName}}\\n
\\n unfold_more\\n unfold_less\\n
\\n\\n
\\n \\n
\\n
\\n \\n

\\n {{ 'Entity.You must enter 2 representatives' | translate }}

\\n
\\n
\\n\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n

{{ 'messages.Maximumfilesize800KB' | translate }}
\\n {{ 'messages.Werecommendimagedimensions' | translate }}

\\n
\\n
\\n

{{ 'forms.Required' | translate }}

\\n

{{ 'messages.Filetypeisinvalid' | translate }}File type is invalid

\\n

{{ 'messages.Maxfilesize' | translate }} {{maxFileSize}}Mb

\\n
\\n \\n \\n {{ 'Entity.Entity Name in English' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.EntervalidNameinEnglish' | translate }}\\n \\n \\n\\n \\n {{ 'Entity.Entity Name in Arabic' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.EntervalidNameinArabic' | translate }}\\n \\n \\n\\n \\n {{ 'forms.CommercialRegistrationNo' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.CommercialRegistrationNo.isalreadyexist' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Website' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.InvalidURL' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Email-Address' | translate }}\\n \\n \\n {{ 'forms.Required' | translate }}\\n {{ 'forms.Invalid-Email' | translate }}\\n {{ 'forms.uniqe-email' | translate }}\\n \\n\\n \\n {{ 'forms.Phone No.' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.vaildMobile' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Fax' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.invaild' | translate }}\\n \\n \\n \\n \\n {{ 'forms.Country' | translate }}\\n \\n \\n {{country.text}}\\n \\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n \\n {{ 'forms.City' | translate }}\\n \\n \\n {{city.text}}\\n \\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n \\n {{ 'forms.AddressinEnglish' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n\\n \\n {{ 'forms.AddressinArabic' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n\\n
\\n \\n
\\n
\"","module.exports = \"
\\n \\n {{ 'forms.Full Name in English' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.EntervalidNameinEnglish' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Full Name in Arabic' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.EntervalidNameinArabic' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Title in English' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.Enter-vaild' | translate }} {{ 'forms.Title in English' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Title in Arabic' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.Enter-vaild' | translate }} {{ 'forms.Title in Arabic' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Nationality' | translate }}\\n \\n \\n {{nationality.text}}\\n \\n \\n {{ 'forms.Required' | translate }}\\n \\n\\n \\n {{ 'forms.Country' | translate }}\\n \\n \\n {{country.text}}\\n \\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n \\n {{ 'forms.City' | translate }}\\n \\n \\n {{city.text}}\\n \\n \\n {{ 'forms.Required' | translate }}\\n \\n\\n \\n {{ 'forms.Mobile No' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.vaildMobile' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Phone No.' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.vaildPhone' | translate }}\\n \\n \\n \\n \\n {{ 'forms.Email-Address' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n {{ 'forms.Invalid-Email' | translate }}\\n {{ 'forms.uniqe-email' | translate }}\\n \\n\\n
\\n \\n \\n
\\n
\"","module.exports = \"
\\n
\\n
{{ 'general.Update' | translate }} {{ 'gac.GAC' | translate }}
\\n \\n
\\n
\\n\\n\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n

{{ 'messages.Maximumfilesize800KB' | translate }}
\\n {{ 'messages.Werecommendimagedimensions' | translate }}

\\n
\\n
\\n

{{ 'forms.Required' | translate }}

\\n

{{ 'messages.Filetypeisinvalid' | translate }}

\\n

{{ 'messages.Maxfilesize' | translate }} {{maxFileSize}} {{ 'messages.Mb' | translate }}

\\n
\\n \\n \\n {{ 'forms.Full Name in English' | translate }} \\n \\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.EntervalidNameinEnglish' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Full Name in Arabic' | translate }}\\n \\n {{ 'forms.Optional' | translate }}\\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.EntervalidNameinArabic' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Email-Address' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n {{ 'forms.Invalid-Email' | translate }}\\n {{ 'forms.uniqe-email' | translate }}\\n \\n\\n \\n {{ 'forms.Website' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.InvalidURL' | translate }}\\n \\n \\n \\n \\n {{ 'forms.Phone No.' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n {{ 'forms.vaildMobile' | translate }}\\n \\n \\n\\n \\n {{ 'forms.Fax' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n \\n {{ 'forms.AddressinEnglish' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n\\n \\n {{ 'forms.AddressinArabic' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n
\\n \\n \\n

\\n {{ 'forms.Required' | translate }}

\\n
\\n\\n
\\n \\n \\n

\\n {{ 'forms.Required' | translate }}

\\n
\\n \\n \\n {{ 'forms.Facebook' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n {{ 'forms.Instagram' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n {{ 'forms.LinkedIn' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n {{ 'forms.Twitter' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n {{ 'forms.Youtube' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n\\n \\n \\n {{ 'gac.maximumAnonymousSearch' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n {{ 'gac.maximumCABSearch' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n {{ 'gac.certificationCost' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n \\n {{ 'gac.registrationCost' | translate }}\\n \\n {{ 'forms.Required' | translate }}\\n \\n\\n
\\n \\n
\\n
\\n
\\n
\"","module.exports = \"\\n\\n
\\n \\n
\\n\\n
\\n
\\n \\\"\\\"\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n {{ details.englishName }}\\n
\\n {{ details.arabicName }}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n

{{ 'general.Basic Info' | translate }}

\\n \\n
\\n
\\n

{{ 'forms.CommercialRegistrationNo' | translate }}

\\n {{details.commercialIdentificationNumber}}\\n
\\n
\\n \\n
\\n
\\n

\\n {{ 'forms.Phone No.' | translate }}\\n

\\n
\\n {{ details.entitySiteSetting.phoneNumber }}\\n
\\n
\\n
\\n

{{ 'forms.Fax' | translate }}

\\n {{ details.entitySiteSetting.fax }}\\n
\\n
\\n\\n
\\n
\\n

{{ 'forms.Facebook' | translate }}

\\n {{ details.entitySiteSetting.facebookLink }}\\n
\\n
\\n

{{ 'forms.Instagram' | translate }}

\\n {{ details.entitySiteSetting.instagramLink }}\\n
\\n
\\n\\n
\\n
\\n

{{ 'forms.LinkedIn' | translate }}

\\n {{ details.entitySiteSetting.linkedInLink }}\\n
\\n
\\n

{{ 'forms.Twitter' | translate }}

\\n {{ details.entitySiteSetting.twitterLink }}\\n
\\n
\\n\\n
\\n
\\n

{{ 'forms.Youtube' | translate }}

\\n {{ details.entitySiteSetting.youtubeLink }}\\n
\\n
\\n

{{ 'forms.Website' | translate }}

\\n {{ details.entitySiteSetting.webSite }}\\n
\\n
\\n\\n
\\n
\\n

{{ 'gac.maximumAnonymousSearch' | translate }}

\\n {{ details.entitySiteSetting.maximumAnonymousSearch }}\\n
\\n
\\n

{{ 'gac.maximumCABSearch' | translate }}

\\n {{ details.entitySiteSetting.maximumCABSearch }}\\n
\\n
\\n\\n
\\n
\\n

{{ 'gac.certificationCost' | translate }}

\\n {{ details.entitySiteSetting.certificationCost }} {{ 'duepayment.SAR' | translate }}\\n
\\n
\\n

{{ 'gac.registrationCost' | translate }}

\\n {{ details.entitySiteSetting.registrationCost }} {{ 'duepayment.SAR' | translate }}\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n

\\n {{ 'forms.AddressinEnglish' | translate }}\\n

\\n
\\n {{ details.entitySiteSetting.englishAddress }}\\n

\\n {{ details.cityName }}, {{ details.countryName }}\\n

\\n
\\n
\\n
\\n

\\n {{ 'forms.AddressinArabic' | translate }}\\n

\\n
\\n {{ details.entitySiteSetting.arabicAddress }}\\n

\\n {{ details.cityName }}, {{ details.countryName }}\\n

\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n

\\n {{ 'forms.englishAboutUs' | translate }}\\n

\\n
\\n
\\n
\\n

\\n {{ 'forms.arabicAboutUs' | translate }}\\n

\\n
\\n
\\n
\\n
\\n
\\n

\\n {{ details.cityName }}, {{ details.countryName }}\\n

\\n
\\n\\n
\\n
\\n
\\n
\\n {{ 'general.NoDataFound' | translate }}\\n
\\n
\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n

{{ label }}

\\r\\n

{{ label }}

\\r\\n\\r\\n
\\r\\n {{ 'general.or' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
maxFiles}\\\">{{ 'forms.Max-files-is' | translate }} {{maxFiles}}
\\r\\n \\r\\n
{{ 'forms.AcceptableFiles' | translate }}
\\r\\n
{{ 'forms.Max-file-size' | translate }}
\\r\\n
{{ 'forms.Required' | translate }}
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n

No Files

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ formatBytes(file?.size) }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n \\n {{ formatBytes(file?.size) }}\\n
\\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n
\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
{{ 'paymentrequest.Payment Request' | translate }}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'paymentrequest.Payment Reference No' | translate }}\\r\\n {{recordsData.paymentRefNumber}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{recordsData.entityName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{recordsData.status.text}}\\r\\n \\r\\n \\r\\n

{{recordsData.walletCategoryText}}

\\r\\n
\\r\\n
\\r\\n
{{ 'paymentrequest.Paid Date' | translate }}
\\r\\n
{{recordsData.date | date:'MMMM dd, hh:mm aaa'}}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{ 'paymentrequest.Reason of decline' | translate }}:
\\r\\n

{{recordsData.rejectionReason}}

\\r\\n
\\r\\n
\\r\\n
{{ 'paymentrequest.acceptedAmount' | translate }}:
\\r\\n

{{recordsData.amountPaid}} {{ 'duepayment.SAR' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
{{recordsData.invoices.length}} {{ 'duepayment.Invoices' | translate }}
\\r\\n\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n #\\r\\n {{invoice.refNumber}}\\r\\n
    \\r\\n
    \\r\\n {{invoice.amount}} {{ 'duepayment.SAR' | translate }}\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'duepayment.Supposed Paid' | translate }}\\r\\n \\r\\n {{recordsData.supposedPaid}}\\r\\n {{ 'duepayment.SAR' | translate }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{ 'paymentrequest.Amount Paid by CAB' | translate }}\\r\\n \\r\\n {{recordsData.amountPaid}}\\r\\n {{ 'duepayment.SAR' | translate }}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
{{ 'paymentrequest.Decided by' | translate }}
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{recordsData.decidedBy}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'paymentrequest.Decided on' | translate }}
\\r\\n
{{recordsData.decidedOn | date:'MMMM dd, hh:mm aaa'}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n

\\r\\n {{ 'paymentrequest.After check this wire transfer proof document you have to take the decision' | translate }}

\\r\\n

\\r\\n {{ 'paymentrequest.Wire transfer proof document' | translate }}

\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'paymentrequest.Amount Paid by CAB' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n
\\r\\n {{ 'duepayment.SAR' | translate }}\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{ 'paymentrequest.Reason of decline' | translate }} \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n {{recordsData.totalCount}} {{ 'duepayment.Requests' | translate }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

{{ 'general.Filterby' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'general.Status' | translate }}\\r\\n \\r\\n {{status.name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.From' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.To' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'paymentrequest.Payment Reference No' | translate }}{{ 'paymentrequest.Category' | translate }}{{ 'duepayment.Supposed Paid' | translate }}{{ 'general.Status' | translate }}{{ 'paymentrequest.Paid Date' | translate }}
\\r\\n
{{record.paymentRefNumber}}
\\r\\n
\\r\\n
{{record.walletCategoryText}}
\\r\\n
\\r\\n
{{record.supposedPaid}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n {{record.status.text}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
{{record.date | date:'MMMM dd, hh:mm aaa' }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/{{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"recordsData.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getAll($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

{{ 'duepayment.Payment Declined' | translate }}

\\r\\n \\r\\n

{{ 'duepayment.Payment Successfully Confirmed' | translate }}

\\r\\n

{{ 'duepayment.WireTransferProofDocumentApproved' | translate }}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n {{recordsData.totalCount}} {{ 'general.Representative' | translate }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Filterby' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'general.Status' | translate }}\\r\\n \\r\\n {{status.name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.Role' | translate }}\\r\\n \\r\\n {{role.name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.From' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'forms.To' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'general.Name' | translate }}{{ 'general.Email' | translate }}{{ 'forms.Role' | translate }}{{ 'general.Status' | translate }}{{ 'general.Creation Date' | translate }}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{record.name}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{record.email}}
\\r\\n
\\r\\n
{{record.roleName}}
\\r\\n
\\r\\n \\r\\n {{record.status.text}}\\r\\n \\r\\n {{record.creationDate | date:'MMMM dd, hh:mm aaa' }}\\r\\n
\\r\\n \\r\\n visibility\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/{{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"recordsData.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getAll($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'searchCert.title' | translate }}

\\r\\n

{{ 'searchCert.subTitle' | translate }}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Search Results' | translate }}

\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n \\\"\\\"\\r\\n

{{ 'searchCert.Certificate is' | translate }}\\r\\n \\r\\n {{recordsData.status.text}}\\r\\n \\r\\n \\r\\n -\\r\\n \\r\\n

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Certificate Details' | translate }}

\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Certificate no.' | translate }}

\\r\\n
\\r\\n {{recordsData.certificateNumber}} \\r\\n -\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Certificate Scope' | translate }}

\\r\\n - \\r\\n \\r\\n
{{ recordsData.abTypeText }}
\\r\\n
    \\r\\n
  • \\r\\n {{scope}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Certificate Issue Date' | translate }}

\\r\\n
\\r\\n {{recordsData.issueingDate | date}}\\r\\n -\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Certificate Expiry Date' | translate }}

\\r\\n {{recordsData.expirationDate | date}}\\r\\n \\r\\n -\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Certificate Document' | translate }}

\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Authentication Report' | translate }}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Accredited By' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ recordsData.cabDetails.englishName }}\\r\\n
\\r\\n {{ recordsData.cabDetails.arabicName }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Address' | translate }}

\\r\\n
\\r\\n {{ recordsData.cabDetails.address }}\\r\\n -\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.Email' | translate }}

\\r\\n \\r\\n {{ recordsData.cabDetails.email }}\\r\\n -\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'Certificate.Entity Details' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ recordsData.certifiedEntity.englishName}}\\r\\n
\\r\\n {{ recordsData.certifiedEntity.arabicName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Address' | translate }}

\\r\\n
\\r\\n {{ recordsData.certifiedEntity.address}} \\r\\n -\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'forms.Phone Number' | translate }}

\\r\\n
\\r\\n {{ recordsData.certifiedEntity.phone}} \\r\\n -\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'forms.FAX' | translate }}

\\r\\n
\\r\\n {{ recordsData.certifiedEntity.fax}} \\r\\n -\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Email' | translate }}

\\r\\n {{ recordsData.certifiedEntity.email}}\\r\\n -\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'forms.Website' | translate }}

\\r\\n \\r\\n {{ recordsData.certifiedEntity.website}}\\r\\n -\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{ 'general.NoDataFound' | translate }}\\r\\n
\\r\\n
\\r\\n {{ 'searchCert.searchLimit' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'general.Create New' | translate }} \\r\\n {{ 'forms.Update' | translate }} \\r\\n {{ 'users.GAC User' | translate }}\\r\\n {{ 'users.CAB Representative' | translate }}\\r\\n {{ 'users.My Profile' | translate }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n {{ 'forms.Full Name in English' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'messages.Enter valid Name in English' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Full Name in Arabic' | translate }}\\r\\n \\r\\n {{ 'forms.Optional' | translate }}\\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'messages.Enter valid Name in Arabic' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Email-Address' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n {{ 'forms.Invalid-Email' | translate }}\\r\\n {{ 'forms.uniqe-email' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'forms.Mobile-Number' | translate }}\\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n {{ 'forms.vaildMobile' | translate }}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Nationality' | translate }}\\r\\n \\r\\n \\r\\n {{nationality.text}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{ 'forms.Country' | translate }}\\r\\n \\r\\n \\r\\n {{country.text}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n {{ 'forms.City' | translate }}\\r\\n \\r\\n \\r\\n {{city.text}}\\r\\n \\r\\n \\r\\n {{ 'forms.Required' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'forms.Select User Type' | translate }}

\\r\\n
\\r\\n \\r\\n {{ 'general.Admin' | translate }} \\r\\n {{ 'general.User' | translate }} \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ 'forms.Admins Permissions' | translate }}
\\r\\n
{{ 'forms.Users Permissions' | translate }}
\\r\\n unfold_more\\r\\n unfold_less\\r\\n
\\r\\n
\\r\\n \\r\\n {{permission.text}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'forms.Required' | translate }}

\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n {{ 'users.welcomeChangePassword' | translate }} {{ 'users.Change your password' | translate }}\\r\\n
\\r\\n\\r\\n
\\r\\n {{ 'users.registrationFeesReminder' | translate }} {{ 'users.view CAB Profile' | translate }}\\r\\n
\\r\\n\\r\\n
\\r\\n \\\"\\\"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ details.englishFullName }}\\r\\n
\\r\\n {{ details.arabicFullName }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ 'general.Created date' | translate }}:\\r\\n {{details.created | date:'MMMM dd, y hh:mm aaa'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'general.Basic Info' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n {{details.status.text}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'forms.Mobile No' | translate }}

\\r\\n
\\r\\n {{details.mobile}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Email' | translate }}

\\r\\n {{ details.email }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Country' | translate }}

\\r\\n
\\r\\n {{details.country.text}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.City' | translate }}

\\r\\n
\\r\\n {{details.city.text}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'general.Address' | translate }}

\\r\\n
\\r\\n {{details.address}}\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{ 'forms.Nationality' | translate }}

\\r\\n
\\r\\n {{details.nationality.text}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'forms.Users Permissions' | translate }}

\\r\\n
\\r\\n
    \\r\\n
  • {{permission.text}}
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ 'general.NoDataFound' | translate }}\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n clear\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.Filterby' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'general.Status' | translate }}\\r\\n \\r\\n {{ 'general.All' | translate }}\\r\\n {{ status.name }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'general.Country' | translate }}\\r\\n \\r\\n {{ 'general.All' | translate }}\\r\\n {{ country.text }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n {{ 'general.City' | translate }}\\r\\n \\r\\n {{ 'general.All' | translate }}\\r\\n {{ city.text }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'general.Name' | translate }}{{ 'general.Email' | translate }}{{ 'general.City & Country' | translate }}{{ 'general.Status' | translate }}{{ 'general.Creation Date' | translate }}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{record.name}}\\r\\n
\\r\\n
\\r\\n
{{record.email}}\\r\\n {{record.cityName}}
\\r\\n {{record.countryName}}\\r\\n
\\r\\n \\r\\n {{record.status.text}}\\r\\n \\r\\n \\r\\n {{record.creationDate | date: fulldate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
1\\\">\\r\\n {{ 'general.page' | translate }}/{{ pageCount }}\\r\\n
\\r\\n 1\\\"\\r\\n [length]=\\\"recordsData.totalCount\\\"\\r\\n [pageSize]=\\\"filterModel.pageSize\\\"\\r\\n [pageSizeOptions]=\\\"[5, 10, 20]\\\"\\r\\n (page)=\\\"getAll($event)\\\"\\r\\n [pageIndex]=\\\"filterModel.pageNumber\\\"\\r\\n showFirstLastButtons>\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

{{ 'general.NoDataFound' | translate }}

\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","module.exports = \"
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{ 'general.language' | translate }}\\r\\n
\\r\\n \\r\\n {{ notificationsResult.unSeenNotificationsCount }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

{{ 'header.Notification' | translate }}

\\r\\n
\\r\\n\\r\\n
{{ 'header.You have no notifications' | translate }}!
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ 'header.Hello' | translate }}, {{currentUser.fullName}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\"","import { Notification } from './Notification';\r\nexport class NotificationsSearchModel {\r\n pageData: Notification[];\r\n pageNumber = 0;\r\n pageSize = 0;\r\n unSeenNotificationsCount: number;\r\n totalCount: number;\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from './helpers/auth.guard';\r\n\r\n// Layouts\r\nimport { BasicLayoutComponent } from './layout/basic-layout/basic-layout.component';\r\nimport { AdminLayoutComponent } from './layout/admin-layout/admin-layout.component';\r\n\r\nimport { LoginComponent } from './features/authentication/login/login.component';\r\nimport { ResetPasswordComponent } from './features/authentication/reset-password/reset-password.component';\r\nimport { ForgetPasswordComponent } from './features/authentication/forget-password/forget-password.component';\r\nimport { ChangePasswordComponent } from './features/authentication/change-password/change-password.component';\r\n// import { MyProfileComponent } from './features/my-profile/my-profile.component';\r\n\r\nimport { UsersComponent } from './features/users/users.component';\r\nimport { UserDetailsComponent } from './features/users/user-details/user-details.component';\r\nimport { LanguageConfigurationComponent } from './features/configuration/language-configuration/language-configuration.component';\r\nimport { CountriesConfigurationComponent } from './features/configuration/countries-configuration/countries-configuration.component';\r\nimport { SectorsConfigurationComponent } from './features/configuration/sectors-configuration/sectors-configuration.component';\r\nimport { CABDetailsComponent } from './features/cabs/cabdetails/cabdetails.component';\r\nimport { CABSComponent } from './features/cabs/cabs.component';\r\nimport { EntitiesComponent } from './features/entities/entities.component';\r\nimport { EntityDetailsComponent } from './features/entities/entity-details/entity-details.component';\r\nimport { PaymentRequestsComponent } from './features/payment-requests/payment-requests.component';\r\nimport { DuePaymentsComponent } from './features/due-payments/due-payments.component';\r\nimport { DiscussionsComponent } from './features/discussions/discussions.component';\r\nimport { CertificatesComponent } from './features/certificates/certificates.component';\r\nimport { CertificatesDetailsComponent } from './features/certificates/certificates-details/certificates-details.component';\r\nimport { AnnouncementsComponent } from './features/announcements/announcements.component';\r\nimport { RepresentativesComponent } from './features/representatives/representatives.component';\r\nimport { RegisterComponent } from './features/authentication/register/register.component';\r\nimport { SearchCABComponent } from './features/search-cab/search-cab.component';\r\nimport { DashboardComponent } from './features/dashboard/dashboard.component';\r\nimport { ActivationComponent } from './features/authentication/activation/activation.component';\r\nimport { GacComponent } from './features/gac/gac.component';\r\nimport { NationalityConfigurationsComponent } from './features/configuration/nationality-configurations/nationality-configurations.component';\r\nimport { ABTypesComponent } from './features/configuration/abtypes/abtypes.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: BasicLayoutComponent,\r\n children: [\r\n { path: '', component: SearchCABComponent },\r\n { path: 'certficatescan', component: SearchCABComponent },\r\n { path: 'register', component: RegisterComponent },\r\n { path: 'login', component: LoginComponent },\r\n { path: 'logout', component: LoginComponent },\r\n { path: 'resetpassword/:userid/:code', component: ResetPasswordComponent },\r\n { path: 'forgetpassword', component: ForgetPasswordComponent},\r\n { path: 'activation/:userid/:code', component: ActivationComponent },\r\n ]\r\n },\r\n {\r\n path: 'admin',\r\n component: AdminLayoutComponent,\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: '', component: DashboardComponent},\r\n { path: 'dashboard', component: DashboardComponent},\r\n { path: 'searchcab', component: SearchCABComponent },\r\n {\r\n path: 'announcements',\r\n children: [\r\n { path: '', component: AnnouncementsComponent}\r\n ]\r\n },\r\n { path: 'gac', component: GacComponent},\r\n {\r\n path: 'certificates',\r\n children: [\r\n { path: '', component: CertificatesComponent},\r\n { path: ':id', component: CertificatesDetailsComponent},\r\n ]\r\n },\r\n {\r\n path: 'duepayment',\r\n children: [\r\n { path: '', component: DuePaymentsComponent},\r\n { path: ':id', component: DuePaymentsComponent},\r\n ]\r\n },\r\n {\r\n path: 'payment',\r\n children: [\r\n { path: '', component: PaymentRequestsComponent},\r\n { path: ':id', component: PaymentRequestsComponent}\r\n ]\r\n },\r\n { path: 'cabprofile', component: CABDetailsComponent},\r\n {\r\n path: 'cabs',\r\n children: [\r\n { path: '', component: CABSComponent},\r\n { path: ':id', component: CABDetailsComponent}\r\n ]\r\n },\r\n { path: 'myprofile', component: UserDetailsComponent },\r\n { path: 'changepassword', component: ChangePasswordComponent},\r\n {\r\n path: 'users',\r\n children: [\r\n { path: '', component: UsersComponent},\r\n { path: ':id', component: UserDetailsComponent},\r\n ]\r\n },\r\n {\r\n path: 'representatives',\r\n children: [\r\n { path: '', component: RepresentativesComponent},\r\n { path: ':id', component: UserDetailsComponent}\r\n ]\r\n },\r\n {\r\n path: 'entities',\r\n children: [\r\n { path: '', component: EntitiesComponent},\r\n { path: ':id', component: EntityDetailsComponent},\r\n ]\r\n },\r\n {\r\n path: 'discussions',\r\n children: [\r\n { path: '', component: DiscussionsComponent},\r\n { path: ':id', component: DiscussionsComponent},\r\n ]\r\n },\r\n {\r\n path: 'config',\r\n children: [\r\n { path: '', component: NationalityConfigurationsComponent},\r\n { path: 'nationailty', component: NationalityConfigurationsComponent},\r\n { path: 'countries', component: CountriesConfigurationComponent},\r\n { path: 'abtypes', component: ABTypesComponent},\r\n { path: 'language', component: LanguageConfigurationComponent},\r\n { path: 'sectors', component: SectorsConfigurationComponent}\r\n ]\r\n },\r\n { path: '**', redirectTo: '' }\r\n ]\r\n },\r\n // otherwise redirect to home\r\n { path: '**', redirectTo: '' }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, {\r\n scrollPositionRestoration: 'enabled',\r\n onSameUrlNavigation: 'reload',\r\n scrollOffset: [0, 64]\r\n })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n title = 'UnidoAdmin';\r\n constructor(\r\n public translate: TranslateService,\r\n // private appConfig: AppConfigService\r\n ) {\r\n const lang = localStorage.getItem('language') || 'en';\r\n translate.addLangs(['en', 'fr']);\r\n translate.setDefaultLang('en');\r\n translate.use(lang);\r\n }\r\n\r\n // tslint:disable-next-line: use-lifecycle-interface\r\n // async ngOnInit(): Promise {\r\n // await this.appConfig.load();\r\n // }\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport localeAr from '@angular/common/locales/ar';\r\nregisterLocaleData(localeAr);\r\n\r\nimport { DndDirective } from './helpers/dnd.directive';\r\nimport { JwtInterceptor } from './helpers/jwt.interceptor';\r\nimport { ErrorInterceptor } from './helpers/error.interceptor';\r\n\r\nimport { DemoMaterialModule } from './helpers/material-modules';\r\nimport { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';\r\nimport { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { AppDateAdapter, APP_DATE_FORMATS } from './helpers/format-datepicker';\r\n\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nexport function HttpLoaderFactory(httpClient: HttpClient) {\r\n return new TranslateHttpLoader(httpClient, './assets/i18n/', '.json');\r\n}\r\nimport { ChartsModule, ThemeService } from 'ng2-charts';\r\nimport { SanitizeHtmlPipePipe } from './helpers/sanitize-html-pipe.pipe';\r\nimport { OnlynumberDirective } from './helpers/onlynumber.directive';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\nimport { ShortNamePipe } from './helpers/shortName.pipe';\r\nimport {TimeAgoPipe} from 'time-ago-pipe';\r\nimport { RecaptchaModule, RECAPTCHA_SETTINGS, RecaptchaSettings } from 'ng-recaptcha';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { BasicLayoutComponent } from './layout/basic-layout/basic-layout.component';\r\nimport { AdminLayoutComponent } from './layout/admin-layout/admin-layout.component';\r\n\r\nimport { HeaderComponent } from './layout/admin-layout/header/header.component';\r\nimport { SideBarComponent } from './layout/admin-layout/sidebar/sidebar.component';\r\n\r\nimport { FileManagerComponent } from './features/partial/file-manager/file-manager.component';\r\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\r\nimport { LoginComponent } from './features/authentication/login/login.component';\r\nimport { ResetPasswordComponent } from './features/authentication/reset-password/reset-password.component';\r\nimport { ForgetPasswordComponent } from './features/authentication/forget-password/forget-password.component';\r\nimport { ChangePasswordComponent } from './features/authentication/change-password/change-password.component';\r\nimport { DashboardComponent } from './features/dashboard/dashboard.component';\r\nimport { UsersComponent } from './features/users/users.component';\r\nimport { CreateUserComponent } from './features/users/create-user/create-user.component';\r\nimport { UserDetailsComponent } from './features/users/user-details/user-details.component';\r\nimport { ConfigurationComponent } from './features/configuration/configuration.component';\r\nimport { LanguageConfigurationComponent } from './features/configuration/language-configuration/language-configuration.component';\r\nimport { CountriesConfigurationComponent } from './features/configuration/countries-configuration/countries-configuration.component';\r\nimport { SectorsConfigurationComponent } from './features/configuration/sectors-configuration/sectors-configuration.component';\r\nimport { CreateLanguageComponent } from './features/configuration/language-configuration/create-language/create-language.component';\r\nimport { CreateSectorsComponent } from './features/configuration/sectors-configuration/create-sectors/create-sectors.component';\r\nimport { CreateCountriesComponent } from './features/configuration/countries-configuration/create-countries/create-countries.component';\r\n\r\nimport { FilesViewerComponent } from './features/partial/files-viewer/files-viewer.component';\r\nimport { CABDetailsComponent } from './features/cabs/cabdetails/cabdetails.component';\r\nimport { CABSComponent } from './features/cabs/cabs.component';\r\nimport { EntitiesComponent } from './features/entities/entities.component';\r\nimport { EntityFormComponent } from './features/entities/entity-form/entity-form.component';\r\nimport { PaymentRequestsComponent } from './features/payment-requests/payment-requests.component';\r\nimport { PaymentRequestDetailsComponent } from './features/payment-requests/payment-request-details/payment-request-details.component';\r\nimport { EntityBranchFormComponent } from './features/entities/entity-form/entity-branch-form/entity-branch-form.component';\r\n// tslint:disable-next-line: max-line-length\r\nimport { EntityRepresentativeFormComponent } from './features/entities/entity-form/entity-representative-form/entity-representative-form.component';\r\nimport { EntityDetailsComponent } from './features/entities/entity-details/entity-details.component';\r\nimport { DuePaymentsComponent } from './features/due-payments/due-payments.component';\r\nimport { CheckoutPaymentComponent } from './features/due-payments/checkout-payment/checkout-payment.component';\r\nimport { ChooseInvoicesComponent } from './features/due-payments/choose-invoices/choose-invoices.component';\r\nimport { DiscussionsComponent } from './features/discussions/discussions.component';\r\nimport { DiscussionsListComponent } from './features/discussions/discussions-list/discussions-list.component';\r\nimport { CreateDiscussionComponent } from './features/discussions/create-discussion/create-discussion.component';\r\nimport { DiscussionDetailsComponent } from './features/discussions/discussion-details/discussion-details.component';\r\nimport { CertificatesComponent } from './features/certificates/certificates.component';\r\nimport { CertificatesDetailsComponent } from './features/certificates/certificates-details/certificates-details.component';\r\nimport { CreateCertificatesComponent } from './features/certificates/create-certificates/create-certificates.component';\r\nimport { EntityInfoFormComponent } from './features/entities/entity-form/entity-info-form/entity-info-form.component';\r\nimport { UpdateEntityDialogComponent } from './features/entities/entity-details/update-entity-dialog/update-entity-dialog.component';\r\nimport { UpdateBranchesDialogComponent } from './features/entities/entity-details/update-branches-dialog/update-branches-dialog.component';\r\n// tslint:disable-next-line: max-line-length\r\nimport { UpdateRepresentativeDialogComponent } from './features/entities/entity-details/update-representative-dialog/update-representative-dialog.component';\r\nimport { AnnouncementsComponent } from './features/announcements/announcements.component';\r\nimport { CreateAnnouncementComponent } from './features/announcements/create-announcement/create-announcement.component';\r\nimport { CabsFormComponent } from './features/cabs/cabs-form/cabs-form.component';\r\nimport { WalletTransDialogComponent } from './features/cabs/wallet-trans-dialog/wallet-trans-dialog.component';\r\nimport { RenewExpirationDialogComponent } from './features/cabs/cabdetails/renew-expiration-dialog/renew-expiration-dialog.component';\r\nimport { RepresentativesComponent } from './features/representatives/representatives.component';\r\nimport { CabPaymentComponent } from './features/cabs/cabdetails/cab-payment/cab-payment.component';\r\nimport { RegisterComponent } from './features/authentication/register/register.component';\r\nimport { SearchCABComponent } from './features/search-cab/search-cab.component';\r\nimport { ActivationComponent } from './features/authentication/activation/activation.component';\r\nimport { PaymentConfirmationDialogComponent } from './features/due-payments/payment-confirmation-dialog/payment-confirmation-dialog.component';\r\nimport { GacComponent } from './features/gac/gac.component';\r\nimport { GacFormComponent } from './features/gac/gac-form/gac-form.component';\r\nimport { NationalityConfigurationsComponent } from './features/configuration/nationality-configurations/nationality-configurations.component';\r\nimport { CreateNationalityConfigurationComponent } from './features/configuration/nationality-configurations/create-nationality-configuration/create-nationality-configuration.component';\r\nimport { ABTypesComponent } from './features/configuration/abtypes/abtypes.component';\r\nimport { CreateabtypesComponent } from './features/configuration/abtypes/createabtypes/createabtypes.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n DndDirective,\r\n SanitizeHtmlPipePipe,\r\n OnlynumberDirective,\r\n TimeAgoPipe,\r\n ShortNamePipe,\r\n\r\n BasicLayoutComponent,\r\n AdminLayoutComponent,\r\n SideBarComponent,\r\n HeaderComponent,\r\n FileManagerComponent,\r\n FilesViewerComponent,\r\n DashboardComponent,\r\n\r\n LoginComponent,\r\n ResetPasswordComponent,\r\n ForgetPasswordComponent,\r\n ChangePasswordComponent,\r\n UsersComponent,\r\n CreateUserComponent,\r\n UserDetailsComponent,\r\n ConfigurationComponent,\r\n LanguageConfigurationComponent,\r\n CountriesConfigurationComponent,\r\n SectorsConfigurationComponent,\r\n CreateLanguageComponent,\r\n CreateSectorsComponent,\r\n CreateCountriesComponent,\r\n CABDetailsComponent,\r\n CABSComponent,\r\n EntitiesComponent,\r\n EntityFormComponent,\r\n PaymentRequestsComponent,\r\n PaymentRequestDetailsComponent,\r\n EntityBranchFormComponent,\r\n EntityRepresentativeFormComponent,\r\n DuePaymentsComponent,\r\n CheckoutPaymentComponent,\r\n ChooseInvoicesComponent,\r\n DiscussionsComponent,\r\n DiscussionsListComponent,\r\n CreateDiscussionComponent,\r\n DiscussionDetailsComponent,\r\n CertificatesComponent,\r\n CertificatesDetailsComponent,\r\n CreateCertificatesComponent,\r\n EntityDetailsComponent,\r\n EntityInfoFormComponent,\r\n UpdateEntityDialogComponent,\r\n UpdateBranchesDialogComponent,\r\n UpdateRepresentativeDialogComponent,\r\n AnnouncementsComponent,\r\n CreateAnnouncementComponent,\r\n CabsFormComponent,\r\n WalletTransDialogComponent,\r\n RenewExpirationDialogComponent,\r\n RepresentativesComponent,\r\n CabPaymentComponent,\r\n CabPaymentComponent,\r\n RegisterComponent,\r\n SearchCABComponent,\r\n ActivationComponent,\r\n PaymentConfirmationDialogComponent,\r\n GacComponent,\r\n GacFormComponent,\r\n NationalityConfigurationsComponent,\r\n CreateNationalityConfigurationComponent,\r\n ABTypesComponent,\r\n CreateabtypesComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n DemoMaterialModule,\r\n FormsModule,\r\n CKEditorModule,\r\n ChartsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n InfiniteScrollModule,\r\n RecaptchaModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n })\r\n ],\r\n providers: [\r\n {\r\n provide: RECAPTCHA_SETTINGS,\r\n useValue: {\r\n siteKey: '6LfhpvQZAAAAAJdDbvbCkFKvycgghhDsumMnPZYg',\r\n useValue: localStorage.getItem('language') || 'en'\r\n } as RecaptchaSettings,\r\n },\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n { provide: MAT_FORM_FIELD_DEFAULT_OPTIONS, useValue: { appearance: 'fill' } },\r\n { provide: DateAdapter, useClass: AppDateAdapter },\r\n { provide: MAT_DATE_FORMATS, useValue: APP_DATE_FORMATS},\r\n { provide: LOCALE_ID, useValue: localStorage.getItem('language') || 'en' },\r\n ThemeService\r\n ],\r\n bootstrap: [AppComponent],\r\n entryComponents: [\r\n EntityFormComponent,\r\n CreateUserComponent,\r\n CreateLanguageComponent,\r\n CreateSectorsComponent,\r\n CreateCountriesComponent,\r\n PaymentRequestDetailsComponent,\r\n CheckoutPaymentComponent,\r\n ChooseInvoicesComponent,\r\n CreateDiscussionComponent,\r\n CreateCertificatesComponent,\r\n UpdateEntityDialogComponent,\r\n UpdateBranchesDialogComponent,\r\n UpdateRepresentativeDialogComponent,\r\n CreateAnnouncementComponent,\r\n CabsFormComponent,\r\n WalletTransDialogComponent,\r\n RenewExpirationDialogComponent,\r\n CabPaymentComponent,\r\n PaymentConfirmationDialogComponent,\r\n GacFormComponent,\r\n CreateNationalityConfigurationComponent,\r\n CreateabtypesComponent\r\n ],\r\n})\r\nexport class AppModule { }\r\n","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { AnnouncementsService } from 'src/app/services/announcements.service';\r\nimport { AnnouncementsFilterModel } from 'src/app/models/Announcements/AnnouncementsFilterModel';\r\nimport { AnnouncementsModel } from 'src/app/models/Announcements/AnnouncementsModel';\r\nimport { CreateAnnouncementComponent } from './create-announcement/create-announcement.component';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SignalRServiceService } from 'src/app/services/signal-rservice.service';\r\n\r\n@Component({\r\n selector: 'app-announcements',\r\n templateUrl: './announcements.component.html'\r\n})\r\n\r\nexport class AnnouncementsComponent implements OnInit {\r\n\r\n dataLoading = false;\r\n showFilter = false;\r\n showSearch = false;\r\n\r\n filterModel: AnnouncementsFilterModel = new AnnouncementsFilterModel();\r\n\r\n // entity\r\n filterEntitiy = {\r\n pageNumber: 0,\r\n pageSize: 999,\r\n };\r\n entityListing: any = [];\r\n\r\n // table\r\n pageCount = 0;\r\n manualPage = 0;\r\n recordsData: any = {};\r\n\r\n // showMore = false;\r\n constructor(public dialog: MatDialog,\r\n public zone: NgZone,\r\n private service: AnnouncementsService,\r\n private translate: TranslateService,\r\n private signalRService: SignalRServiceService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.getAll(null);\r\n this.ListEntities();\r\n this.signalRService.handleNewAnnouncementEvent(this, this.updateList);\r\n }\r\n\r\n updateList(contxt) {\r\n contxt.zone.run(() => {\r\n contxt.getAll(null);\r\n });\r\n }\r\n\r\n ListEntities() {\r\n this.service.ListEntities(this.filterEntitiy).subscribe(\r\n data => {\r\n if (data) {\r\n this.entityListing = data.pageData as [];\r\n }\r\n },\r\n error => {\r\n });\r\n }\r\n getAll(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.service.getAll(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.recordsData = data as AnnouncementsModel;\r\n this.recordsData.pageData.map((item) => {\r\n item.messageToExpand = false;\r\n item.showMore = false;\r\n });\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n togglemessageToExpand(index) {\r\n this.recordsData.pageData.forEach((element, currentIndex) => {\r\n if (index === currentIndex) {\r\n element.messageToExpand = !element.messageToExpand;\r\n } else {\r\n element.messageToExpand = false;\r\n }\r\n });\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getAll(null);\r\n }\r\n }\r\n }\r\n\r\n makeFilter() {\r\n this.getAll(null);\r\n }\r\n\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getAll(null);\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getAll(null);\r\n }\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n openPaymentRequestsDialog() {\r\n const dialogRef = this.dialog.open(CreateAnnouncementComponent, {\r\n width: '600px',\r\n data: { data: '' }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Announcementcreatedsuccessfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok'),\r\n }).then(() => {\r\n this.getAll(null);\r\n });\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { FormGroup, FormBuilder, FormControl, Validators } from '@angular/forms';\r\nimport { MatAutocomplete } from '@angular/material/autocomplete';\r\nimport { MatChipList } from '@angular/material/chips';\r\nimport { Observable } from 'rxjs';\r\nimport { NestedTreeControl } from '@angular/cdk/tree';\r\nimport { ArrayDataSource, SelectionModel } from '@angular/cdk/collections';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { AnnouncementsService } from 'src/app/services/announcements.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AnnouncementModel } from 'src/app/models/Announcements/AnnouncementModel';\r\nimport { EntitiesByCountry } from 'src/app/models/Announcements/EntitiesByCountry';\r\nimport Swal from 'sweetalert2';\r\nimport * as ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\n\r\nexport interface DialogData {\r\n data: string;\r\n}\r\n\r\n@Component({\r\n selector: 'app-create-announcement',\r\n templateUrl: './create-announcement.component.html'\r\n})\r\n\r\nexport class CreateAnnouncementComponent implements OnInit {\r\n\r\n loading = false;\r\n isSubmitted = false;\r\n\r\n addNewAnnouncement: AnnouncementModel = new AnnouncementModel();\r\n\r\n announcementFormGroup: FormGroup;\r\n\r\n public Editor = ClassicEditor;\r\n EditorConfig = {\r\n placeholder: '',\r\n toolbar: {\r\n items: [\r\n 'heading',\r\n '|',\r\n 'bold',\r\n 'italic',\r\n '|',\r\n 'numberedList',\r\n 'bulletedList',\r\n '|',\r\n 'indent',\r\n 'outdent',\r\n '|',\r\n 'link',\r\n 'blockQuote',\r\n 'insertTable',\r\n '|',\r\n 'undo',\r\n 'redo'\r\n ]\r\n },\r\n language: (document.documentElement.lang === 'en') ? 'en' : 'ar'\r\n };\r\n\r\n //////// Sectors field config /////////////////\r\n showSectoreTree = false;\r\n sectorLoading = false;\r\n @ViewChild('sectorInput', { static: false }) sectorInput: ElementRef;\r\n @ViewChild('sectorAuto', { static: false }) sectorMatAutocomplete: MatAutocomplete;\r\n @ViewChild('chipSectorsList', { static: false }) chipSectorsList: MatChipList;\r\n sectorChipsErrorMsg: string;\r\n filteredSectors: Observable<{}[]>;\r\n sectors = [];\r\n /** The selection for checklist */\r\n sectorsSelection = new SelectionModel(true /* multiple */);\r\n SECTOR_TREE_DATA: EntitiesByCountry[] = [];\r\n sectorTreeData: any[];\r\n sectorsTreeControl = new NestedTreeControl(node => node.entities);\r\n sectorsDataSource = new ArrayDataSource(this.SECTOR_TREE_DATA);\r\n hasChild = (_: number, node: EntitiesByCountry) => !!node.entities && node.entities.length > 0;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialogRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private translate: TranslateService,\r\n private service: AnnouncementsService) { }\r\n\r\n ngOnInit() {\r\n this.LoadEntitiesByCountry();\r\n this.buildForm();\r\n }\r\n\r\n buildForm() {\r\n this.announcementFormGroup = this.formBuilder.group({\r\n announcementType: ['', Validators.required],\r\n sectors: [this.sectors, this.validateChips],\r\n });\r\n this.announcementFormGroup.get('sectors').setValue(null);\r\n this.announcementFormGroup.get('sectors').statusChanges.subscribe(\r\n status => {\r\n this.chipSectorsList.errorState = status === 'INVALID';\r\n if (!this.sectors.length && this.sectorInput.nativeElement.value === '') {\r\n this.sectorChipsErrorMsg = this.translate.instant('forms.Required');\r\n } else {\r\n this.sectorChipsErrorMsg = this.translate.instant('forms.validSector');\r\n }\r\n }\r\n );\r\n }\r\n\r\n LoadEntitiesByCountry() {\r\n this.sectorLoading = true;\r\n // const textVal = this.announcementFormGroup.get('sectors').value || '';\r\n this.service.LoadEntitiesByCountry().subscribe(\r\n data => {\r\n this.sectorLoading = false;\r\n this.SECTOR_TREE_DATA = data as EntitiesByCountry[];\r\n this.sectorsDataSource = new ArrayDataSource(this.SECTOR_TREE_DATA);\r\n this.sectorsSelection = new SelectionModel(true, this.sectors);\r\n this.sectors.forEach(node => {\r\n this.sectorsSelection.select(node);\r\n });\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n\r\n submitAnnouncement() {\r\n this.isSubmitted = true;\r\n\r\n // // console.log(this.sectors);\r\n this.sectors.forEach(sector => {\r\n this.addNewAnnouncement.cabsIds.push(sector.id);\r\n // // console.log(sector.id);\r\n });\r\n\r\n if (!this.sectors.length) {\r\n this.announcementFormGroup.get('sectors').setErrors({ valid: false });\r\n }\r\n this.addNewAnnouncement.text = this.announcementFormGroup.controls.announcementType.value;\r\n // // console.log(this.addNewAnnouncement);\r\n if (this.announcementFormGroup.valid) {\r\n this.loading = true;\r\n this.service.addAnnouncements(this.addNewAnnouncement).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: err.message,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n }\r\n\r\n hasError(formGroup, controlName: string, errorName: string) {\r\n return formGroup.controls[controlName].hasError(errorName);\r\n }\r\n\r\n private _filter(filteritem: any, parentObj, control: string) {\r\n if (typeof filteritem === 'string' || filteritem instanceof String) {\r\n const matches = parentObj.filter(obj => obj.name.toLowerCase().includes(filteritem.toLowerCase()));\r\n if (filteritem !== '') {\r\n this.announcementFormGroup.get(control).setErrors({ valid: false });\r\n }\r\n return matches;\r\n } else if (filteritem instanceof Object) { }\r\n }\r\n\r\n remove(obj, parentObj, control): void {\r\n const index = parentObj.indexOf(obj);\r\n if (index >= 0) {\r\n parentObj.splice(index, 1);\r\n this.announcementFormGroup.get(control).setValue(parentObj);\r\n }\r\n }\r\n\r\n isInArray(parentObj, item) {\r\n return parentObj.some(obj => obj.id === item.id);\r\n }\r\n\r\n private validateChips(control: FormControl) {\r\n if (control.value && control.value.length === 0) {\r\n return {\r\n validateChipsArray: { valid: false }\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n // TREE configrations //////////////////////////////////////////\r\n /** Whether all the descendants of the node are selected */\r\n descendantsAllSelected(node: EntitiesByCountry): boolean {\r\n const descendants = this.sectorsTreeControl.getDescendants(node);\r\n return descendants.every(child => this.sectorsSelection.isSelected(child));\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: EntitiesByCountry): boolean {\r\n const descendants = this.sectorsTreeControl.getDescendants(node);\r\n const result = descendants.some(child => this.sectorsSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(node: EntitiesByCountry): void {\r\n this.sectorsSelection.toggle(node);\r\n const descendants = this.sectorsTreeControl.getDescendants(node);\r\n this.sectorsSelection.isSelected(node)\r\n ? this.sectorsSelection.select(...descendants)\r\n : this.sectorsSelection.deselect(...descendants);\r\n }\r\n\r\n selectedSector(node) {\r\n this.sectors = [];\r\n this.sectorsSelection.selected.forEach((element: EntitiesByCountry) => {\r\n if (!element.entities && !this.isInArray(this.sectors, element)) {\r\n this.sectors.push(element);\r\n }\r\n });\r\n this.sectorInput.nativeElement.value = '';\r\n this.announcementFormGroup.get('sectors').setValue(null);\r\n // if (this.showSectoreTree) {\r\n // this.LoadEntitiesByCountry();\r\n // }\r\n }\r\n\r\n removeSector(obj): void {\r\n const index = this.sectors.indexOf(obj);\r\n if (index >= 0) {\r\n this.sectors.splice(index, 1);\r\n this.todoItemSelectionToggle(obj);\r\n }\r\n }\r\n // END TREE configrations //////////////////////////////////////////\r\n\r\n\r\n // dropdowns overlay events\r\n @HostListener('window:keydown', ['$event']) handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.showSectoreTree = false;\r\n }\r\n }\r\n @HostListener('document:click', ['$event']) onDocumentClick(event: MouseEvent) {\r\n if (event.target === document.getElementById('popOverlay')) {\r\n this.showSectoreTree = false;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthenticationService } from 'src/app/services/authentication.service';\n\n@Component({\n selector: 'app-activation',\n templateUrl: './activation.component.html'\n})\nexport class ActivationComponent implements OnInit {\n code: string;\n userId: string;\n loading = true;\n isActivated = false;\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private authenticationService: AuthenticationService\n ) { }\n\n ngOnInit() {\n this.route.paramMap.subscribe(params => {\n this.userId = params.get('userid');\n this.code = params.get('code');\n this.loading = true;\n this.authenticationService.confrimEmail(this.userId, this.code).subscribe(\n data => {\n this.loading = false;\n this.isActivated = true;\n },\n error => {\n this.loading = false;\n this.isActivated = false;\n });\n });\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport Swal from 'sweetalert2/dist/sweetalert2.js';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html'\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n resetPasswordForm: FormGroup;\r\n\r\n loading = false;\r\n msgObj = {msg: '', type: ''};\r\n urlExpired = false;\r\n hideOldPassword = true;\r\n hidePassword = true;\r\n hideConfPassword = true;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private authenticationService: AuthenticationService,\r\n private translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.resetPasswordForm = this.formBuilder.group({\r\n oldPassword: ['', Validators.required],\r\n password: ['', [\r\n Validators.required,\r\n Validators.pattern('^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?#&._-])[A-Za-z\\d$@$!%*?#&].{7,}$')\r\n ]],\r\n cPassword: ['', Validators.required]\r\n }, {validator: this.validateMatch });\r\n }\r\n\r\n resetPassword() {\r\n if (this.resetPasswordForm.valid) {\r\n this.loading = true;\r\n const oldPassword = this.resetPasswordForm.controls.oldPassword.value;\r\n const newPassword = this.resetPasswordForm.controls.password.value;\r\n this.authenticationService.ChangePassword(oldPassword, newPassword).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.msgObj.msg = this.translate.instant('auth.Password-updated-successfully');\r\n this.msgObj.type = 'success';\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('auth.Password-updated-successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then((result) => {\r\n this.router.navigate(['/logout']);\r\n });\r\n },\r\n error => {\r\n this.loading = false;\r\n // this.msgObj.msg = this.translate.instant('forms.Try-again');\r\n this.msgObj.type = 'danger';\r\n if (error.code === -1) {\r\n this.msgObj.msg = this.translate.instant('auth.OldPasswordIncorrect');\r\n } else {\r\n this.msgObj.msg = this.translate.instant('forms.Try-again');\r\n // this.msgObj.msg = this.translate.instant('forms.email-not-correct');\r\n }\r\n // this.urlExpired = true;\r\n });\r\n }\r\n }\r\n\r\n validateMatch(group: FormGroup) {\r\n const pass = group.get('password').value;\r\n const confirmPass = group.get('cPassword').value;\r\n if (pass !== confirmPass) {\r\n group.get('cPassword').setErrors({ notMatch: true });\r\n } else {\r\n group.get('cPassword').setErrors(null);\r\n }\r\n }\r\n\r\n hasError(controlName: string, errorName: string) {\r\n return this.resetPasswordForm.controls[controlName].hasError(errorName);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { AuthenticationService } from 'src/app/services/authentication.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-forget-password',\n templateUrl: './forget-password.component.html'\n})\nexport class ForgetPasswordComponent implements OnInit {\n forgetPassForm: FormGroup;\n loading = false;\n msgObj = {msg: '', type: ''};\n\n constructor(\n private formBuilder: FormBuilder,\n private authenticationService: AuthenticationService,\n private translate: TranslateService\n ) { }\n\n ngOnInit() {\n this.forgetPassForm = this.formBuilder.group({\n email: ['', [\n Validators.required,\n Validators.email,\n Validators.pattern('[a-zA-Z0-9._]{1,}@[a-zA-Z0-9.-]{2,}[.]{1}[a-zA-Z]{2,}'),\n ]]\n });\n }\n\n forgetPassword() {\n if (this.forgetPassForm.valid) {\n this.loading = true;\n this.authenticationService.forgetPassword(this.forgetPassForm.controls.email.value).subscribe(\n data => {\n this.loading = false;\n this.msgObj.msg = this.translate.instant('auth.Send-successfully-check-email');\n this.msgObj.type = 'success';\n },\n error => {\n this.loading = false;\n this.msgObj.type = 'danger';\n if (error.code === -1) {\n this.msgObj.msg = this.translate.instant('forms.email-not-correct');\n } else {\n this.msgObj.msg = this.translate.instant('forms.Try-again');\n // this.msgObj.msg = this.translate.instant('forms.email-not-correct');\n }\n });\n }\n }\n\n hasError(controlName: string, errorName: string) {\n return this.forgetPassForm.controls[controlName].hasError(errorName);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { LoginModel } from 'src/app/models/auth/login-model';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { AuthenticationService } from 'src/app/services/authentication.service';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html'\n})\nexport class LoginComponent implements OnInit {\n loginForm: FormGroup;\n loginObject: LoginModel = new LoginModel();\n\n loading = false;\n hidePassword = true;\n rememberMe = false;\n\n returnUrl: string;\n\n errorMsg = '';\n captcha: string;\n formSubmitted = false;\n constructor(\n private formBuilder: FormBuilder,\n private route: ActivatedRoute,\n private router: Router,\n private authenticationService: AuthenticationService\n ) {\n if (this.route.snapshot.routeConfig.path === 'logout') {\n this.authenticationService.logout();\n this.router.navigate(['/login']);\n return;\n }\n // redirect to home if already logged in\n if (this.authenticationService.currentUserValue) {\n this.router.navigate(['/admin/myprofile']);\n }\n }\n\n ngOnInit() {\n this.returnUrl = this.route.snapshot.queryParams.returnUrl || '/admin/myprofile';\n\n this.loginForm = this.formBuilder.group({\n email: new FormControl('', [\n Validators.required,\n Validators.email,\n Validators.pattern('[a-zA-Z0-9._]{1,}@[a-zA-Z0-9.-]{2,}[.]{1}[a-zA-Z]{2,}'),\n ]),\n password: ['', Validators.required],\n });\n }\n\n login() {\n this.formSubmitted = true;\n if (this.loginForm.valid && this.captcha) {\n this.loading = true;\n this.authenticationService.login(this.loginForm.controls.email.value, encodeURIComponent(this.loginForm.controls.password.value))\n .subscribe(\n data => {\n this.loading = false;\n // this.router.navigate([this.returnUrl]);\n },\n error => {\n this.errorMsg = error.error_description;\n this.loading = false;\n });\n }\n }\n\n public resolved(captchaResponse: string) {\n this.captcha = captchaResponse;\n // // console.log(`Resolved captcha with response: ${captchaResponse}`);\n }\n\n hasError(controlName: string, errorName: string) {\n return this.loginForm.controls[controlName].hasError(errorName);\n }\n}\n","import { Component, OnInit, HostListener, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormControl, FormBuilder, Validators, AbstractControl, AsyncValidatorFn } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { LookupsService } from 'src/app/services/lookups.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AnnouncementsService } from 'src/app/services/announcements.service';\r\n\r\nimport { EntitiesByCountry } from 'src/app/models/Announcements/EntitiesByCountry';\r\nimport { Register } from 'src/app/models/auth/Register';\r\nimport { City } from 'src/app/models/lookups/City';\r\nimport { Country } from 'src/app/models/lookups/Country';\r\n\r\nimport { NestedTreeControl } from '@angular/cdk/tree';\r\nimport { ArrayDataSource, SelectionModel } from '@angular/cdk/collections';\r\n\r\nimport Swal from 'sweetalert2';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html'\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n\r\n @ViewChild('form', { static: false }) form;\r\n\r\n loading = false;\r\n isSubmitted = false;\r\n\r\n formGroup: FormGroup;\r\n\r\n countries: Country[] = [];\r\n cities: City[] = [];\r\n Nationalities: Country[] = [];\r\n\r\n captcha: string;\r\n hidePassword = true;\r\n hideConfPassword = true;\r\n\r\n emailLoader = false;\r\n\r\n //////// Sectors field config /////////////////\r\n showSectoreTree = false;\r\n sectorLoading = false;\r\n selectedSector = {} as EntitiesByCountry;\r\n sectors = [];\r\n /** The selection for checklist */\r\n sectorsSelection = new SelectionModel(true /* multiple */);\r\n SECTOR_TREE_DATA: EntitiesByCountry[] = [];\r\n sectorTreeData: any[];\r\n sectorsTreeControl = new NestedTreeControl(node => node.entities);\r\n sectorsDataSource = new ArrayDataSource(this.SECTOR_TREE_DATA);\r\n hasChild = (_: number, node: EntitiesByCountry) => !!node.entities && node.entities.length > 0;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private lookupsService: LookupsService,\r\n private translate: TranslateService,\r\n private service: AuthenticationService,\r\n private serviceAnn: AnnouncementsService,\r\n ) { }\r\n\r\n\r\n ngOnInit() {\r\n this.LoadEntitiesByCountry();\r\n this.buildForm();\r\n }\r\n\r\n LoadEntitiesByCountry() {\r\n this.sectorLoading = true;\r\n this.serviceAnn.LoadEntitiesByCountry().subscribe(\r\n data => {\r\n this.sectorLoading = false;\r\n this.SECTOR_TREE_DATA = data as EntitiesByCountry[];\r\n // // console.log(data);\r\n this.sectorsDataSource = new ArrayDataSource(this.SECTOR_TREE_DATA);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n\r\n buildForm() {\r\n this.formGroup = this.formBuilder.group({\r\n enName: ['', [\r\n Validators.required,\r\n Validators.pattern('^[0-9a-zA-Z ]+$')\r\n ]\r\n ],\r\n arName: ['', [Validators.pattern('^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 _-]+$')]],\r\n email: ['', [\r\n Validators.email,\r\n Validators.pattern('[a-zA-Z0-9._]{1,}@[a-zA-Z0-9.-]{2,}[.]{1}[a-zA-Z]{2,}'),\r\n Validators.required\r\n ], [this.uniqueEmailValidator()]\r\n ],\r\n country: ['', Validators.required],\r\n city: ['', Validators.required],\r\n nationality: ['', Validators.required],\r\n mobile: ['', [\r\n Validators.required,\r\n Validators.pattern('^[+]?[0-9]{11,50}$')\r\n ]\r\n ],\r\n SpecializationIds: [this.sectors, this.validateChips],\r\n password: ['', [\r\n Validators.required,\r\n Validators.pattern('^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?#&._-])[A-Za-z\\d$@$!%*?#&].{7,}$')\r\n ]],\r\n cPassword: ['', Validators.required]\r\n }, {validator: this.validateMatch });\r\n\r\n this.getCountries();\r\n this.GetNationalities();\r\n }\r\n\r\n uniqueEmailValidator(): AsyncValidatorFn {\r\n return (control: AbstractControl): Observable<{ [key: string]: any } | null> => {\r\n if (control.value) { this.emailLoader = true; }\r\n return this.service.checkUniqueEmail(control.value)\r\n .pipe(\r\n map(res => {\r\n this.emailLoader = false;\r\n // if (this.isUpdateUser) { return; }\r\n if (res) {\r\n return { emailTaken: true };\r\n }\r\n })\r\n );\r\n };\r\n }\r\n\r\n validateMatch(group: FormGroup) {\r\n const pass = group.get('password').value;\r\n const confirmPass = group.get('cPassword').value;\r\n if (pass !== confirmPass) {\r\n group.get('cPassword').setErrors({ notMatch: true });\r\n } else {\r\n group.get('cPassword').setErrors(null);\r\n }\r\n }\r\n\r\n\r\n getCountries() {\r\n this.lookupsService.getCountries().subscribe(\r\n data => {\r\n this.countries = data as Country[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n GetNationalities() {\r\n this.lookupsService.GetNationalities().subscribe(\r\n data => {\r\n this.Nationalities = data as Country[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n getCities(countryId) {\r\n this.lookupsService.getCities(countryId).subscribe(\r\n data => {\r\n this.cities = data as City[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n\r\n saveRecored() {\r\n if (this.sectors.length === 0 && this.formGroup.get('SpecializationIds').value) {\r\n this.formGroup.get('SpecializationIds').setErrors({ notValid: true });\r\n }\r\n\r\n this.isSubmitted = true;\r\n\r\n if (this.formGroup.valid && this.captcha) {\r\n this.loading = true;\r\n let formData;\r\n formData = {\r\n arabicFullName: this.formGroup.controls.arName.value,\r\n englishFullName: this.formGroup.controls.enName.value,\r\n email: this.formGroup.controls.email.value,\r\n phone: this.formGroup.controls.mobile.value,\r\n cityid: this.formGroup.controls.city.value,\r\n nationalityId: this.formGroup.controls.nationality.value,\r\n entityId: this.selectedSector.id,\r\n password: this.formGroup.controls.password.value\r\n } as Register;\r\n\r\n this.service.RegisterEntityUser(formData).subscribe(\r\n () => {\r\n this.loading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('auth.YourRequestSubmittedSuccessfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.form.resetForm();\r\n });\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: err.message,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n }\r\n\r\n public resolved(captchaResponse: string) {\r\n this.captcha = captchaResponse;\r\n // // console.log(`Resolved captcha with response: ${captchaResponse}`);\r\n }\r\n\r\n hasError(formGroup, controlName: string, errorName: string) {\r\n return formGroup.controls[controlName].hasError(errorName);\r\n }\r\n\r\n\r\n selectSector(node) {\r\n // // console.log(node);\r\n this.selectedSector = node;\r\n this.sectors = [this.selectedSector];\r\n this.formGroup.controls.SpecializationIds.setValue(node.name);\r\n }\r\n\r\n remove(obj, parentObj, control): void {\r\n const index = parentObj.indexOf(obj);\r\n if (index >= 0) {\r\n parentObj.splice(index, 1);\r\n this.formGroup.get(control).setValue(parentObj);\r\n }\r\n }\r\n\r\n isInArray(parentObj, item) {\r\n return parentObj.some(obj => obj.id === item.id);\r\n }\r\n\r\n private validateChips(control: FormControl) {\r\n if (control.value && control.value.length === 0) {\r\n return {\r\n validateChipsArray: { valid: false }\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n // TREE configrations //////////////////////////////////////////\r\n /** Whether all the descendants of the node are selected */\r\n descendantsAllSelected(node: EntitiesByCountry): boolean {\r\n const descendants = this.sectorsTreeControl.getDescendants(node);\r\n return descendants.every(child => this.sectorsSelection.isSelected(child));\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: EntitiesByCountry): boolean {\r\n const descendants = this.sectorsTreeControl.getDescendants(node);\r\n const result = descendants.some(child => this.sectorsSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(node: EntitiesByCountry): void {\r\n this.sectorsSelection.toggle(node);\r\n const descendants = this.sectorsTreeControl.getDescendants(node);\r\n this.sectorsSelection.isSelected(node)\r\n ? this.sectorsSelection.select(...descendants)\r\n : this.sectorsSelection.deselect(...descendants);\r\n }\r\n\r\n\r\n removeSector(obj): void {\r\n const index = this.sectors.indexOf(obj);\r\n if (index >= 0) {\r\n this.sectors.splice(index, 1);\r\n this.todoItemSelectionToggle(obj);\r\n }\r\n }\r\n // END TREE configrations //////////////////////////////////////////\r\n\r\n\r\n // dropdowns overlay events\r\n @HostListener('window:keydown', ['$event']) handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.showSectoreTree = false;\r\n }\r\n }\r\n @HostListener('document:click', ['$event']) onDocumentClick(event: MouseEvent) {\r\n if (event.target === document.getElementById('popOverlay')) {\r\n this.showSectoreTree = false;\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { AuthenticationService } from 'src/app/services/authentication.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport Swal from 'sweetalert2';\n\n@Component({\n selector: 'app-reset-password',\n templateUrl: './reset-password.component.html'\n})\nexport class ResetPasswordComponent implements OnInit {\n resetPasswordForm: FormGroup;\n\n loading = false;\n msgObj = {msg: '', type: ''};\n urlExpired = false;\n hidePassword = true;\n hideConfPassword = true;\n\n userId: string;\n code: string;\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private formBuilder: FormBuilder,\n private authenticationService: AuthenticationService,\n private translate: TranslateService\n ) { }\n\n ngOnInit() {\n this.route.paramMap.subscribe(params => {\n this.userId = params.get('userid');\n this.code = params.get('code');\n });\n\n this.authenticationService.checkResetPasswordLink(this.userId, this.code).subscribe(\n data => {\n if (!data) {\n this.urlExpired = true;\n }\n },\n error => {\n\n }\n );\n\n this.resetPasswordForm = this.formBuilder.group({\n password: ['', [\n Validators.required,\n Validators.pattern('^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?#&._-])[A-Za-z\\d$@$!%*?#&].{7,}$')\n ]],\n cPassword: ['', Validators.required]\n }, {validator: this.validateMatch });\n }\n\n resetPassword() {\n if (this.resetPasswordForm.valid) {\n this.loading = true;\n this.authenticationService.resetPassword(this.userId, this.code, this.resetPasswordForm.controls.password.value).subscribe(\n data => {\n this.loading = false;\n this.msgObj.msg = this.translate.instant('auth.Password-updated-successfully');\n this.msgObj.type = 'success';\n Swal.fire({\n title: this.translate.instant('messages.Success'),\n text: '',\n icon: 'success',\n confirmButtonText: this.translate.instant('messages.ok')\n }).then((result) => {\n this.router.navigate(['/logout']);\n });\n },\n error => {\n this.loading = false;\n this.msgObj.msg = this.translate.instant('auth.Reset-expire');\n this.msgObj.type = 'danger';\n // this.urlExpired = true;\n });\n }\n }\n\n validateMatch(group: FormGroup) {\n const pass = group.get('password').value;\n const confirmPass = group.get('cPassword').value;\n if (pass !== confirmPass) {\n group.get('cPassword').setErrors({ notMatch: true });\n } else {\n group.get('cPassword').setErrors(null);\n }\n }\n\n hasError(controlName: string, errorName: string) {\n return this.resetPasswordForm.controls[controlName].hasError(errorName);\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { CabsService } from 'src/app/services/cabs.service';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport interface DialogData {\r\n supposedAmount: any;\r\n duePaymentIds: [];\r\n transactionType: number;\r\n}\r\n\r\n@Component({\r\n selector: 'app-cab-payment',\r\n templateUrl: './cab-payment.component.html'\r\n})\r\nexport class CabPaymentComponent implements OnInit {\r\n loading = false;\r\n files = [];\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialogRef: MatDialogRef,\r\n private translate: TranslateService,\r\n private service: CabsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n save() {\r\n this.loading = true;\r\n const obj = {\r\n duePaymentIds: this.data.duePaymentIds,\r\n transactionType: this.data.transactionType,\r\n paymentMethod: 1,\r\n totalPaymentAmount: 0\r\n };\r\n this.service.SubmitPayment(obj, this.files[0]).subscribe(\r\n data => {\r\n this.loading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Payment submitted successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n}\r\n","import { Component, NgZone, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport Swal from 'sweetalert2';\r\n\r\nimport { CreateCertificatesComponent } from 'src/app/features/certificates/create-certificates/create-certificates.component';\r\nimport { CabsService } from 'src/app/services/cabs.service';\r\nimport { CabsFormComponent } from '../cabs-form/cabs-form.component';\r\nimport { RenewExpirationDialogComponent } from './renew-expiration-dialog/renew-expiration-dialog.component';\r\nimport { WalletTransDialogComponent } from '../wallet-trans-dialog/wallet-trans-dialog.component';\r\nimport { CabPaymentComponent } from './cab-payment/cab-payment.component';\r\nimport { CreateUserComponent } from 'src/app/features/users/create-user/create-user.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ChooseInvoicesComponent } from 'src/app/features/due-payments/choose-invoices/choose-invoices.component';\r\nimport { SignalRServiceService } from 'src/app/services/signal-rservice.service';\r\nimport { EntityService } from 'src/app/services/entity.service';\r\n\r\n@Component({\r\n selector: 'app-cabdetails',\r\n templateUrl: './cabdetails.component.html'\r\n})\r\nexport class CABDetailsComponent implements OnInit {\r\n dataLoading = true;\r\n actionLoading = false;\r\n cabId: any;\r\n details: any;\r\n isCabProfile = false;\r\n\r\n representativesLoader = true;\r\n representatives: any;\r\n\r\n duePayments = [];\r\n\r\n entitiesLoading = true;\r\n certifiedEntities: any;\r\n\r\n constructor(\r\n public zone: NgZone,\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n private activatedRoute: ActivatedRoute,\r\n private signalRService: SignalRServiceService,\r\n private entityService: EntityService,\r\n private service: CabsService\r\n ) {\r\n this.signalRService.handleRespondPaymentEvent(this, this.updateDetails);\r\n this.signalRService.handleUpdateCBProfileEvent(this, this.updateDetails);\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.paramMap.subscribe(params => {\r\n if (params.get('id')) {\r\n this.cabId = params.get('id');\r\n }\r\n this.getDetails();\r\n });\r\n }\r\n\r\n updateDetails(context, id) {\r\n context.zone.run(() => {\r\n if (!context.dataLoading) {\r\n if (context.details.entityId === id) {\r\n context.getDetails();\r\n }\r\n }\r\n });\r\n }\r\n\r\n getDetails() {\r\n this.dataLoading = true;\r\n if (this.cabId) {\r\n this.service.GetEntitiesDetails(this.cabId).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n this.details = data;\r\n this.GetEntityUsersRepresentatives();\r\n this.ListCertifiedEntities();\r\n }, err => {\r\n console.error(err);\r\n });\r\n } else {\r\n this.service.GetEntityProfileDetails().subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n this.details = data;\r\n this.isCabProfile = true;\r\n }, err => {\r\n console.error(err);\r\n this.dataLoading = false;\r\n this.details = null;\r\n });\r\n }\r\n this.loadDuePayments();\r\n }\r\n\r\n loadDuePayments() {\r\n this.service.GetDuePaymentIds().subscribe(\r\n data => {\r\n this.duePayments = data as [];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n GetEntityUsersRepresentatives() {\r\n this.service.GetEntityUsersRepresentatives(this.cabId).subscribe(\r\n data => {\r\n this.representativesLoader = false;\r\n this.representatives = data;\r\n // console.log(data);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n ListCertifiedEntities() {\r\n this.entityService.getAll({pageSize: 999, cabEntityId: this.cabId}).subscribe(\r\n data => {\r\n this.entitiesLoading = false;\r\n if (data) {\r\n this.certifiedEntities = data as any;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n changeStatus(status) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.yes'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.actionLoading = true;\r\n const obj = {\r\n id: this.cabId,\r\n entityStatus: status\r\n };\r\n this.service.UpdateEntityStatus(obj).subscribe(\r\n data => {\r\n this.actionLoading = false;\r\n this.getDetails();\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('CABs.CAB updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n }, err => {\r\n this.actionLoading = false;\r\n console.error(err);\r\n });\r\n }\r\n });\r\n }\r\n renewAccreditation() {\r\n const dialogRef = this.dialog.open(RenewExpirationDialogComponent, {\r\n width: '600px',\r\n data: {record: this.details}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.getDetails();\r\n }\r\n });\r\n }\r\n representativeStatus(representative, status) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.yes'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.actionLoading = true;\r\n const obj = {\r\n id: representative.userId,\r\n userStatus: status\r\n };\r\n this.service.UpdateEntityUserStatus(obj).subscribe(\r\n data => {\r\n this.actionLoading = false;\r\n this.getDetails();\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n }, err => {\r\n this.actionLoading = false;\r\n console.error(err);\r\n this.getDetails();\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n openEditDialog() {\r\n const dialogRef = this.dialog.open(CabsFormComponent, {\r\n width: '600px',\r\n data: {record: this.details}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.getDetails();\r\n // Swal.fire({\r\n // title: this.translate.instant('messages.Success'),\r\n // text: this.translate.instant('CABs.CAB updated successfully'),\r\n // icon: 'success',\r\n // confirmButtonText: this.translate.instant('messages.ok')\r\n // }).then(() => {\r\n // this.getDetails();\r\n // });\r\n }\r\n });\r\n }\r\n\r\n openTransactions() {\r\n const dialogRef = this.dialog.open(WalletTransDialogComponent, {\r\n width: '600px',\r\n data: {cabId: this.details.entityId}\r\n });\r\n }\r\n openCabPaymentDialog(transactionType) {\r\n const dialogRef = this.dialog.open(CabPaymentComponent, {\r\n width: '600px',\r\n data: {\r\n supposedAmount: this.details.registrationFees,\r\n duePaymentIds: this.duePayments,\r\n transactionType\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.getDetails();\r\n }\r\n });\r\n }\r\n openCreateCertifcateDialog() {\r\n const dialogRef = this.dialog.open(CreateCertificatesComponent, {\r\n width: '600px',\r\n data: {create: true}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('CABs.Certificate created successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n }\r\n });\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n openCreateRepDialog() {\r\n const dialogRef = this.dialog.open(CreateUserComponent, {\r\n width: '600px',\r\n data: {\r\n cabId: this.details.entityId,\r\n accountType: 2 // cab repr.\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.GetEntityUsersRepresentatives();\r\n }\r\n });\r\n }\r\n\r\n openEditRepresentative(representative) {\r\n const dialogRef = this.dialog.open(CreateUserComponent, {\r\n width: '600px',\r\n data: {\r\n userId: representative.userId,\r\n cabId: this.details.entityId,\r\n accountType: 2 // cab repr.\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.GetEntityUsersRepresentatives();\r\n }\r\n });\r\n }\r\n\r\n openChooseInvoicesDialog() {\r\n const dialogRef = this.dialog.open(ChooseInvoicesComponent, {\r\n width: '600px',\r\n data: {\r\n relatedData: this.details.payAccredationTransactionId,\r\n transactionType : 9\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.getDetails();\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { CabsService } from 'src/app/services/cabs.service';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport interface DialogData {\r\n record: any;\r\n}\r\n\r\n@Component({\r\n selector: 'app-renew-expiration-dialog',\r\n templateUrl: './renew-expiration-dialog.component.html'\r\n})\r\nexport class RenewExpirationDialogComponent implements OnInit {\r\n loading = false;\r\n today = new Date();\r\n expirationDate = '';\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialogRef: MatDialogRef,\r\n private service: CabsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n save() {\r\n this.loading = true;\r\n const obj = {\r\n entityId: this.data.record.entityId,\r\n expirationDate: this.expirationDate\r\n };\r\n this.service.RenewEntity(obj).subscribe(\r\n data => {\r\n this.loading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('CABs.Accreditation updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n}\r\n","import { Component, ElementRef, HostListener, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, AsyncValidatorFn, AbstractControl } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\n\r\nimport { CabsService } from 'src/app/services/cabs.service';\r\nimport { LookupsService } from 'src/app/services/lookups.service';\r\n\r\nimport { CAB } from 'src/app/models/cabs/CAB';\r\nimport { Scope } from 'src/app/models/lookups/Scope';\r\nimport { City } from 'src/app/models/lookups/City';\r\nimport { Country } from 'src/app/models/lookups/Country';\r\n\r\nimport { MatAutocomplete } from '@angular/material/autocomplete';\r\nimport { MatChipList } from '@angular/material/chips';\r\nimport { NestedTreeControl } from '@angular/cdk/tree';\r\nimport { ArrayDataSource, SelectionModel } from '@angular/cdk/collections';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport interface DialogData {\r\n record: CAB;\r\n}\r\n\r\n@Component({\r\n selector: 'app-cabs-form',\r\n templateUrl: './cabs-form.component.html'\r\n})\r\nexport class CabsFormComponent implements OnInit {\r\n loading = false;\r\n commercialNoLoader = false;\r\n isCreate = true;\r\n\r\n formGroup: FormGroup;\r\n isSubmitted = false;\r\n countries: Country[] = [];\r\n cities: City[] = [];\r\n public websiteReg = /(http|ftp|https):\\/\\/[\\w-]+(\\.[\\w-]+)+([\\w.,@?^=%&:\\/~+#-]*[\\w@?^=%&\\/~+#-])?/;\r\n today = new Date();\r\n\r\n // image file\r\n logo: any = {};\r\n logoSrc: string;\r\n maxFileSize = 0.8;\r\n fileTypeError = false;\r\n fileSizeError = false;\r\n\r\n //////// Scopes field config /////////////////\r\n selectedScopes = [];\r\n showScopesTree = false;\r\n scopeLoading = false;\r\n @ViewChild('scopeInput', {static: false}) scopeInput: ElementRef;\r\n @ViewChild('scopeAuto', {static: false}) scopeMatAutocomplete: MatAutocomplete;\r\n @ViewChild('chipScopesList', {static: false}) chipScopesList: MatChipList;\r\n scopeChipsErrorMsg: string;\r\n filteredScopes: Observable<{}[]>;\r\n scopes = [];\r\n ABTypes = [];\r\n dataBind = false;\r\n /** The selection for checklist */\r\n scopesSelection = new SelectionModel(true /* multiple */);\r\n SCOPE_TREE_DATA: Scope[] = [];\r\n scopesTreeControl = new NestedTreeControl (node => node.children);\r\n scopesDataSource = new ArrayDataSource(this.SCOPE_TREE_DATA);\r\n hasChild = (_: number, node: Scope) => !!node.children && node.children.length > 0;\r\n ////////// End Scopes field config //////////////\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialogRef: MatDialogRef,\r\n private service: CabsService,\r\n private formBuilder: FormBuilder,\r\n private lookupsService: LookupsService,\r\n private translate: TranslateService\r\n ) { }\r\n ngOnInit() {\r\n this.buildForm();\r\n }\r\n\r\n buildForm() {\r\n this.formGroup = this.formBuilder.group({\r\n enName: ['', [\r\n Validators.required,\r\n Validators.pattern('^[0-9a-zA-Z ]+$')\r\n ]\r\n ],\r\n arName: ['', [Validators.pattern('^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 _-]+$')]],\r\n commercialNo: ['', Validators.required, [this.uniqueCertificateNoValidator()]],\r\n issuingDate: ['', Validators.required],\r\n expirationDate: ['', Validators.required],\r\n scopes: ['', Validators.required],\r\n email: ['', [\r\n Validators.email,\r\n Validators.pattern('[a-zA-Z0-9._]{1,}@[a-zA-Z0-9.-]{2,}[.]{1}[a-zA-Z]{2,}'),\r\n Validators.required\r\n ]\r\n ],\r\n country: ['', Validators.required],\r\n city: ['', Validators.required],\r\n enAddress: ['', Validators.required],\r\n arAddress: ['']\r\n });\r\n\r\n this.formGroup.get('scopes').statusChanges.subscribe(\r\n status => {\r\n this.chipScopesList.errorState = status === 'INVALID';\r\n }\r\n );\r\n // this.handelChipsFilters();\r\n // edit mode\r\n if (this.data.record && this.data.record.entityId) {\r\n this.isCreate = false;\r\n this.bindDataToUpdate();\r\n }\r\n ////////////////////////////////////////////////////\r\n this.getCountries();\r\n this.getAbTypes();\r\n }\r\n\r\n uniqueCertificateNoValidator(): AsyncValidatorFn {\r\n return (control: AbstractControl): Observable<{ [key: string]: any } | null> => {\r\n if (control.value) { this.commercialNoLoader = true; }\r\n return this.service.checkUniqueCommercialNo(control.value)\r\n .pipe(\r\n map(res => {\r\n this.commercialNoLoader = false;\r\n if (!this.isCreate) { return; }\r\n if (res) {\r\n return { commercialNoExist: true };\r\n }\r\n })\r\n );\r\n };\r\n }\r\n\r\n getCountries() {\r\n this.lookupsService.getCountries().subscribe(\r\n data => {\r\n this.countries = data as Country[];\r\n if (!this.isCreate) {\r\n this.getCities(this.data.record.countryId);\r\n }\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n getCities(countryId) {\r\n this.lookupsService.getCities(countryId).subscribe(\r\n data => {\r\n this.cities = data as City[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n getAbTypes() {\r\n this.scopeLoading = true;\r\n const textVal = this.formGroup.get('scopes').value || '';\r\n this.lookupsService.GetAbTypes(textVal).subscribe(\r\n data => {\r\n this.scopeLoading = false;\r\n this.SCOPE_TREE_DATA = data as Scope[];\r\n this.scopesDataSource = new ArrayDataSource(this.SCOPE_TREE_DATA);\r\n\r\n this.checkInScopesSource(this.selectedScopes, this.selectedScopes);\r\n if (!this.isCreate && !this.dataBind) {\r\n this.dataBind = true;\r\n this.checkInScopesSource(this.data.record.entityAPTypes, this.data.record.entityScopes);\r\n this.selectedScopes = this.scopesSelection.selected;\r\n }\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n hasError(formGroup, controlName: string, errorName: string) {\r\n return formGroup.controls[controlName].hasError(errorName);\r\n }\r\n\r\n bindDataToUpdate() {\r\n this.logoSrc = this.data.record.logo;\r\n this.formGroup.controls.enName.setValue(this.data.record.englishName);\r\n this.formGroup.controls.arName.setValue(this.data.record.arabicName);\r\n this.formGroup.controls.commercialNo.setValue(this.data.record.commercialIdentificationNumber);\r\n this.formGroup.controls.issuingDate.setValue(this.data.record.accreditationCommencementDate);\r\n this.formGroup.controls.expirationDate.setValue(this.data.record.certificationExpirationDate);\r\n this.formGroup.controls.email.setValue(this.data.record.email);\r\n this.formGroup.controls.country.setValue(this.data.record.countryId);\r\n this.formGroup.controls.city.setValue(this.data.record.cityId);\r\n this.formGroup.controls.enAddress.setValue(this.data.record.englishAddress);\r\n this.formGroup.controls.arAddress.setValue(this.data.record.arabicAddress);\r\n }\r\n checkInScopesSource(apTypes, scopes) {\r\n this.scopesSelection.clear();\r\n apTypes.forEach(scope => {\r\n const scopeFound = this.scopesDataSource['_data'].find(item => scope.id === item.id && scope.text === item.text);\r\n if (scopeFound) {\r\n this.scopesSelection.select(scopeFound);\r\n }\r\n });\r\n scopes.forEach(scope => {\r\n this.scopesDataSource['_data'].forEach(parent => {\r\n if (parent.children && parent.children.length) {\r\n const scopeFound = parent.children.find(item => scope.id === item.id && scope.text === item.text);\r\n if (scopeFound) {\r\n this.scopesSelection.select(scopeFound);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n saveRecored() {\r\n this.validateScopes();\r\n this.isSubmitted = true;\r\n if (this.formGroup.valid && this.logoSrc) {\r\n this.loading = true;\r\n let formData;\r\n formData = {\r\n arabicName: this.formGroup.controls.arName.value,\r\n englishName: this.formGroup.controls.enName.value,\r\n commercialIdentificationNumber: this.formGroup.controls.commercialNo.value,\r\n accreditationCommencementDate: this.formGroup.controls.issuingDate.value.toLocaleString(),\r\n certificationExpirationDate: this.formGroup.controls.expirationDate.value.toLocaleString(),\r\n ABTypeIds: [],\r\n scopeIds: [],\r\n email: this.formGroup.controls.email.value,\r\n countryId: this.formGroup.controls.country.value,\r\n cityId: this.formGroup.controls.city.value,\r\n englishAddress: this.formGroup.controls.enAddress.value,\r\n arabicAddress: this.formGroup.controls.arAddress.value\r\n } as CAB;\r\n this.selectedScopes.forEach((element: Scope) => {\r\n if (!element.childCount) {\r\n if (element.parentId <= 0) {\r\n if (!this.isInArray(formData.ABTypeIds, element)) {\r\n formData.ABTypeIds.push(element.id);\r\n }\r\n } else {\r\n if (!this.isInArray(formData.scopeIds, element)) {\r\n formData.scopeIds.push(element.id);\r\n }\r\n }\r\n }\r\n });\r\n if (!this.isCreate) {\r\n formData.entityId = this.data.record.entityId;\r\n }\r\n this.service.save(formData, this.logo).subscribe(\r\n () => {\r\n this.loading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: (this.isCreate) ?\r\n this.translate.instant('CABs.CAB created successfully') : this.translate.instant('CABs.CAB updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: err.message,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n // this.dialogRef.close();\r\n });\r\n }\r\n }\r\n\r\n // File preview with validation\r\n changeFileListener($event): void {\r\n const file: File = $event.target.files[0];\r\n if (file && this.validateFile(file)) {\r\n this.readThis(file);\r\n this.logo = file;\r\n } else {\r\n this.logoSrc = undefined;\r\n this.logo = undefined;\r\n }\r\n }\r\n readThis(file: File): void {\r\n const myReader: FileReader = new FileReader();\r\n myReader.readAsDataURL(file);\r\n myReader.onloadend = (e) => {\r\n this.logoSrc = myReader.result as string;\r\n };\r\n }\r\n validateFile(file: File): any {\r\n if (this.fileType(file.name)) {\r\n this.fileTypeError = false;\r\n if ((file.size / (1024 * 1024)) <= this.maxFileSize) {\r\n this.fileSizeError = false;\r\n } else {\r\n this.fileSizeError = true;\r\n return false;\r\n }\r\n } else {\r\n this.fileTypeError = true;\r\n return false;\r\n }\r\n return true;\r\n }\r\n fileType(fileName): any {\r\n const extension = fileName.split('.').pop().toLowerCase();\r\n switch (extension) {\r\n case 'jpeg':\r\n case 'jpg':\r\n return 'jpg';\r\n case 'png':\r\n return 'png';\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n isInArray(parentObj, item) {\r\n return parentObj.some(obj => obj.id === item.id);\r\n }\r\n\r\n validateScopes() {\r\n if (this.selectedScopes.length) {\r\n this.formGroup.get('scopes').setErrors(null);\r\n } else {\r\n this.formGroup.get('scopes').setErrors({required: true});\r\n }\r\n }\r\n // Chips, autocomplete fields methods\r\n handelChipsFilters() {\r\n this.filteredScopes = this.formGroup.controls.scopes.valueChanges.pipe(\r\n startWith(''),\r\n map(scope => scope ? this._filter(scope, this.SCOPE_TREE_DATA, 'scopes') : this.SCOPE_TREE_DATA.slice()));\r\n }\r\n\r\n private _filter(filteritem: any, parentObj, control: string) {\r\n if (typeof filteritem === 'string' || filteritem instanceof String) {\r\n const matches = parentObj.filter(obj => obj.name.toLowerCase().includes(filteritem.toLowerCase()));\r\n if (filteritem !== '') {\r\n this.formGroup.get(control).setErrors({valid: false});\r\n }\r\n return matches;\r\n } else if (filteritem instanceof Object) { }\r\n }\r\n // TREE configrations //////////////////////////////////////////\r\n /** Whether all the descendants of the node are selected */\r\n descendantsAllSelected(node: Scope): boolean {\r\n const descendants = this.scopesTreeControl.getDescendants(node);\r\n return descendants.every(child => this.scopesSelection.isSelected(child));\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: Scope): boolean {\r\n const descendants = this.scopesTreeControl.getDescendants(node);\r\n const result = descendants.some(child => this.scopesSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(node: Scope): void {\r\n this.scopesSelection.toggle(node);\r\n const descendants = this.scopesTreeControl.getDescendants(node);\r\n this.scopesSelection.isSelected(node)\r\n ? this.scopesSelection.select(...descendants)\r\n : this.scopesSelection.deselect(...descendants);\r\n }\r\n\r\n selectedScope(node) {\r\n if (this.scopesSelection.isSelected(node)) {\r\n this.scopesSelection.selected.forEach((element: Scope) => {\r\n if ((element.parentId > 0 || !element.childCount) && !this.isInArray(this.selectedScopes, element)) {\r\n this.selectedScopes.push(element);\r\n }\r\n });\r\n } else {\r\n this.removeNode(node);\r\n }\r\n // this.checkInScopesSource(this.selectedScopes, this.selectedScopes);\r\n this.validateScopes();\r\n }\r\n\r\n removeNode(node: Scope) {\r\n if (node.parentId <= 0 && node.childCount > 0) {\r\n node.children.forEach(element => {\r\n this.removeNode(element);\r\n });\r\n }\r\n const index = this.selectedScopes.findIndex(item => (item.id === node.id && item.parentId === node.parentId));\r\n if (index >= 0) {\r\n this.selectedScopes.splice(index, 1);\r\n }\r\n this.checkInScopesSource(this.selectedScopes, this.selectedScopes);\r\n this.validateScopes();\r\n }\r\n // END TREE configrations //////////////////////////////////////////\r\n\r\n\r\n // dropdowns overlay events\r\n @HostListener('window:keydown', ['$event']) handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.showScopesTree = false;\r\n }\r\n }\r\n @HostListener('document:click', ['$event']) onDocumentClick(event: MouseEvent) {\r\n if (event.target === document.getElementById('popOverlay')) {\r\n this.showScopesTree = false;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { CabsFormComponent } from './cabs-form/cabs-form.component';\r\nimport { ListFilter } from 'src/app/models/cabs/ListFilter';\r\nimport { ListData } from 'src/app/models/cabs/ListData';\r\nimport { sortList } from 'src/app/models/cabs/sortList';\r\nimport { statusList } from 'src/app/models/cabs/statusList';\r\nimport { CabsService } from 'src/app/services/cabs.service';\r\n\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LookupsService } from 'src/app/services/lookups.service';\r\nimport { Country } from 'src/app/models/lookups/Country';\r\nimport { City } from 'src/app/models/lookups/City';\r\n\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Component({\r\n selector: 'app-cabs',\r\n templateUrl: './cabs.component.html'\r\n})\r\nexport class CABSComponent implements OnInit {\r\n dataLoading = false;\r\n showFilter = false;\r\n showSearch = false;\r\n\r\n sortItems = [\r\n { name: '', value: null },\r\n { name: this.translate.instant('general.Name'), value: sortList.Name },\r\n { name: this.translate.instant('general.Country'), value: sortList.Country },\r\n { name: this.translate.instant('general.Status'), value: sortList.Status },\r\n ];\r\n statusList = [\r\n { name: this.translate.instant('CABs.WaitingForPayment'), value: statusList.WaitingForPayment },\r\n { name: this.translate.instant('CABs.WaitingPaymentApproval'), value: statusList.WaitingPaymentApproval },\r\n { name: this.translate.instant('general.Active'), value: statusList.Active },\r\n { name: this.translate.instant('general.InActive'), value: statusList.InActive },\r\n { name: this.translate.instant('general.Suspended'), value: statusList.Suspended },\r\n { name: this.translate.instant('general.Expired'), value: statusList.Expired },\r\n { name: this.translate.instant('general.Withdrawn'), value: statusList.Withdrawn }\r\n ];\r\n\r\n // table\r\n pageCount = 0;\r\n manualPage = 0;\r\n recordsData: any = {};\r\n\r\n filterModel: ListFilter = new ListFilter();\r\n countries: Country[] = [];\r\n cities: City[] = [];\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private service: CabsService,\r\n private lookupsService: LookupsService,\r\n private translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.getAll(null);\r\n this.getCountries();\r\n }\r\n\r\n getAll(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.service.getAll(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.recordsData = data as ListData;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n getCountries() {\r\n this.lookupsService.getCountries().subscribe(\r\n data => {\r\n this.countries = data as Country[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n getCities(countryId) {\r\n this.lookupsService.getCities(countryId).subscribe(\r\n data => {\r\n this.cities = data as City[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n sortRecords(selected) {\r\n this.filterModel.sortItems = Number(selected.target.value);\r\n this.getAll(null);\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getAll(null);\r\n }\r\n }\r\n }\r\n makeFilter() {\r\n this.getAll(null);\r\n }\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getAll(null);\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getAll(null);\r\n }\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n openCreateDialog() {\r\n const dialogRef = this.dialog.open(CabsFormComponent, {\r\n width: '600px',\r\n data: {record: null}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.getAll(null);\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\n\nimport { CabsService } from 'src/app/services/cabs.service';\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\n\nexport interface DialogData {\n cabId: number;\n}\n@Component({\n selector: 'app-wallet-trans-dialog',\n templateUrl: './wallet-trans-dialog.component.html'\n})\nexport class WalletTransDialogComponent implements OnInit {\n dataLoading = false;\n transList = [];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n private service: CabsService,\n ) { }\n\n ngOnInit() {\n this.getCabTrans();\n }\n\n getCabTrans() {\n this.dataLoading = true;\n this.service.GetWalletHistory(this.data.cabId).subscribe(\n data => {\n this.dataLoading = false;\n this.transList = data as [];\n // console.log(this.transList);\n }, err => {\n console.error(err);\n });\n }\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CertificateService } from 'src/app/services/certificate.service';\r\nimport { CreateCertificatesComponent } from '../create-certificates/create-certificates.component';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-certificates-details',\r\n templateUrl: './certificates-details.component.html'\r\n})\r\nexport class CertificatesDetailsComponent implements OnInit {\r\n dataLoading = false;\r\n actionLoading = false;\r\n certificateId: any;\r\n details: any;\r\n\r\n constructor(\r\n public dialog: MatDialog,\r\n private translate: TranslateService,\r\n private activatedRoute: ActivatedRoute,\r\n private service: CertificateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.paramMap.subscribe(params => {\r\n if (params.get('id')) {\r\n this.certificateId = params.get('id');\r\n this.getDetails();\r\n }\r\n });\r\n }\r\n\r\n getDetails() {\r\n this.dataLoading = true;\r\n this.service.getCertificateDetails(this.certificateId).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n this.details = data;\r\n console.log(this.details);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n changeStatus(status) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.yes'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.actionLoading = true;\r\n const obj = {\r\n certificateId: this.details.certificateId,\r\n certificateStatus: status\r\n };\r\n this.service.changeCertificateStatus(obj).subscribe(\r\n data => {\r\n this.actionLoading = false;\r\n this.getDetails();\r\n }, err => {\r\n this.actionLoading = false;\r\n console.error(err);\r\n });\r\n }\r\n });\r\n }\r\n\r\n allowSearch() {\r\n this.actionLoading = true;\r\n const obj = {\r\n certificateId: this.details.certificateId,\r\n AllowSearch: this.details.showInSearch\r\n };\r\n this.service.AllowSearch(obj).subscribe(\r\n data => {\r\n this.actionLoading = false;\r\n this.getDetails();\r\n }, err => {\r\n this.actionLoading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n openEditDialog() {\r\n const dialogRef = this.dialog.open(CreateCertificatesComponent, {\r\n width: '600px',\r\n data: {record: this.details}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Certificate updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getDetails();\r\n });\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { CreateCertificatesComponent } from './create-certificates/create-certificates.component';\r\nimport { CertificateListFilter } from 'src/app/models/certificates/CertificateListFilter';\r\nimport { CertificateListData } from 'src/app/models/certificates/CertificateListData';\r\nimport { sortList } from 'src/app/models/certificates/sortList';\r\nimport { statusList } from 'src/app/models/certificates/statusList';\r\nimport { CertificateService } from 'src/app/services/certificate.service';\r\n\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport Swal from 'sweetalert2';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-certificates',\r\n templateUrl: './certificates.component.html'\r\n})\r\nexport class CertificatesComponent implements OnInit {\r\n dataLoading = false;\r\n showFilter = false;\r\n showSearch = false;\r\n\r\n sortItems = [\r\n { name: '', value: null },\r\n { name: this.translate.instant('Certificate.Certificate Number'), value: sortList.CertificateNumber },\r\n { name: this.translate.instant('general.Entity'), value: sortList.Entity },\r\n { name: this.translate.instant('forms.Expiration Date'), value: sortList.ExpirationDate },\r\n { name: this.translate.instant('forms.Issue Date'), value: sortList.IssueDate },\r\n { name: this.translate.instant('Certificate.Scope'), value: sortList.Scope },\r\n { name: this.translate.instant('general.Status'), value: sortList.Status }\r\n ];\r\n statusList = [\r\n { name: this.translate.instant('general.New'), value: statusList.New },\r\n // { name: this.translate.instant('general.Generated Invoice'), value: statusList.GeneratedInvoice },\r\n { name: this.translate.instant('general.Paid Due Payment'), value: statusList.PaidDuePayment },\r\n { name: this.translate.instant('general.Authentication Report'), value: statusList.AuthenticationReport },\r\n { name: this.translate.instant('general.Active'), value: statusList.Active },\r\n { name: this.translate.instant('general.Suspended'), value: statusList.Suspended },\r\n { name: this.translate.instant('general.Expired'), value: statusList.Expired }\r\n ];\r\n\r\n // table\r\n pageCount = 0;\r\n manualPage = 0;\r\n recordsData: any = {};\r\n\r\n filterModel: CertificateListFilter = new CertificateListFilter();\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n private route: ActivatedRoute,\r\n private service: CertificateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.getAll(null);\r\n // this.openCreateDialog();\r\n }\r\n\r\n getAll(event) {\r\n this.route.queryParams.subscribe(params => {\r\n if (params.cab) {\r\n this.filterModel.CABId = Number(params.cab);\r\n }\r\n if (params.entity) {\r\n this.filterModel.certifiedEntityId = Number(params.entity);\r\n }\r\n });\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.service.getAll(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.recordsData = data as CertificateListData;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n sortRecords(selected) {\r\n this.filterModel.sortItems = Number(selected.target.value);\r\n this.getAll(null);\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getAll(null);\r\n }\r\n }\r\n }\r\n makeFilter() {\r\n this.getAll(null);\r\n }\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getAll(null);\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getAll(null);\r\n }\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n openCreateDialog() {\r\n const dialogRef = this.dialog.open(CreateCertificatesComponent, {\r\n width: '600px',\r\n data: {create: true}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Certificate created successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok'),\r\n }).then(() => {\r\n this.getAll(null);\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, ElementRef, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, AsyncValidatorFn, AbstractControl } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\nimport { EntityFormComponent } from 'src/app/features/entities/entity-form/entity-form.component';\r\nimport { CertificateService } from 'src/app/services/certificate.service';\r\nimport { EntityService } from 'src/app/services/entity.service';\r\nimport { LookupsService } from 'src/app/services/lookups.service';\r\n\r\nimport { Entity } from 'src/app/models/entity/Entity';\r\nimport { Certificate } from 'src/app/models/certificates/Certificate';\r\n\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatAutocomplete } from '@angular/material/autocomplete';\r\nimport { MatChipList } from '@angular/material/chips';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport interface DialogData {\r\n create: boolean;\r\n record: any;\r\n}\r\n\r\n@Component({\r\n selector: 'app-create-certificates',\r\n templateUrl: './create-certificates.component.html'\r\n})\r\nexport class CreateCertificatesComponent implements OnInit {\r\n entityLoader = false;\r\n entityError = false;\r\n loading = false;\r\n branchesLoading = false;\r\n repsentativesLoading = false;\r\n certificateNumLoader = false;\r\n\r\n details: any;\r\n formGroup: FormGroup;\r\n isSubmitted = false;\r\n selectedEntity: Entity = new Entity();\r\n branches: any;\r\n repsentatives: any;\r\n files = [];\r\n entities = [];\r\n\r\n today = new Date();\r\n\r\n //////// Scopes field config /////////////////\r\n allABTypes = [];\r\n scopeLoading = false;\r\n filteredScopes: Observable;\r\n selectedScopes: {}[] = [];\r\n allScopes: any[] = [];\r\n @ViewChild('scopeInput', {static: false}) scopeInput: ElementRef;\r\n @ViewChild('scopeAuto', {static: false}) scopeMatAutocomplete: MatAutocomplete;\r\n @ViewChild('scopesChipList', {static: false}) scopesChipList: MatChipList;\r\n scopeChipsErrorMsg: string;\r\n ////////// End Scopes field config //////////////\r\n\r\n constructor(\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialogRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n public dialog: MatDialog,\r\n private lookupsService: LookupsService,\r\n private service: CertificateService,\r\n private entityService: EntityService,\r\n private translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.buildForms();\r\n }\r\n\r\n buildForms() {\r\n this.formGroup = this.formBuilder.group({\r\n commerialId: ['', [Validators.required]], // this.selectedEntity.certifiedEntityId\r\n ABTypeId: ['', Validators.required],\r\n // scopes: [this.selectedScopes],\r\n scopes: [null, Validators.required],\r\n certificateNo: ['', Validators.required, [this.uniqueCertificateNoValidator()]],\r\n issuingDate: ['', Validators.required],\r\n expirationDate: ['', Validators.required],\r\n authorizedOfficerId: ['', Validators.required],\r\n entityBranch: [''],\r\n });\r\n if (!this.data.create) {\r\n this.details = JSON.parse(JSON.stringify(this.data.record));\r\n if (this.details.certificateDocument) {\r\n this.files = [this.details.certificateDocument];\r\n }\r\n this.formGroup.controls.commerialId.setValue(this.details.certifiedEntity.commercialIdentificationNumber);\r\n this.formGroup.controls.ABTypeId.setValue(this.details.abTypeId);\r\n this.formGroup.controls.scopes.setValue(this.details.scopes[0].id);\r\n this.formGroup.controls.certificateNo.setValue(this.details.certificateNumber);\r\n this.formGroup.controls.issuingDate.setValue(this.details.issueingDate);\r\n this.formGroup.controls.expirationDate.setValue(this.details.expirationDate);\r\n this.getEntityByc(); // authorizedOfficerId & entityBranch depend on entity\r\n }\r\n this.getEntities();\r\n this.getAbTypes();\r\n\r\n // this.formGroup.get('scopes').statusChanges.subscribe(\r\n // status => {\r\n // // if (this.allScopes.length && !this.selectedScopes.length) {\r\n // // this.scopesChipList.errorState = status === 'INVALID';\r\n // // }\r\n // // console.log(this.formGroup.controls.scopes.value);\r\n // }\r\n // );\r\n // this.filteredScopes = this.formGroup.controls.scopes.valueChanges.pipe(\r\n // startWith(null),\r\n // map(scope => scope ? this._filter(scope) : this.allScopes.slice()));\r\n }\r\n hasError(formGroup, controlName: string, errorName: string) {\r\n return formGroup.controls[controlName].hasError(errorName);\r\n }\r\n // private _filter(filteritem: any) {\r\n // if (typeof filteritem === 'string' || filteritem instanceof String) {\r\n // const matches = this.allScopes.filter(obj => obj.text.toLowerCase().includes(filteritem.toLowerCase()));\r\n // if (filteritem !== '') {\r\n // this.formGroup.get('scopes').setErrors({valid: false});\r\n // }\r\n // return matches;\r\n // } else if (filteritem instanceof Object) { }\r\n // }\r\n\r\n getEntities() {\r\n this.entityLoader = true;\r\n const filter = {\r\n pageSize: 999\r\n };\r\n this.entityService.getAll(filter).subscribe(\r\n data => {\r\n this.entityLoader = false;\r\n if (data) {\r\n this.entities = data.pageData;\r\n }\r\n },\r\n error => {\r\n this.entityLoader = false;\r\n });\r\n }\r\n entityChanged(commerialId) {\r\n this.selectedEntity = this.entities.find(entity => entity.commercialIdentificationNumber === commerialId);\r\n if (this.selectedEntity.certifiedEntityId) {\r\n this.getBranches();\r\n this.getRepsentatives();\r\n }\r\n }\r\n getAbTypes() {\r\n this.scopeLoading = true;\r\n this.lookupsService.GetAbTypes(null).subscribe(\r\n data => {\r\n this.scopeLoading = false;\r\n this.allABTypes = data as [];\r\n if (!this.data.create) {\r\n // this.selectedScopes = this.data.record.scopes || [];\r\n this.allScopes = this.allABTypes.find(type => type.id === this.formGroup.controls.ABTypeId.value).otherChildren as [];\r\n // const selectedScope = {\r\n // id: this.details.scopes[0].id,\r\n // text: this.details.scopes[0].text,\r\n // nameAr: this.details.scopes[0].nameAr,\r\n // nameEn: this.details.scopes[0].nameEn,\r\n // parentId: this.details.scopes[0].parentId\r\n // };\r\n // this.formGroup.controls.scopes.setValue(selectedScope);\r\n }\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n updateScops() {\r\n // this.selectedScopes = []; // reset chips\r\n this.formGroup.controls.scopes.setValue(null);\r\n const ABType = this.allABTypes.find(type => type.id === this.formGroup.controls.ABTypeId.value);\r\n this.allScopes = ABType.otherChildren as [];\r\n }\r\n getEntityByc() {\r\n if (this.formGroup.controls.commerialId.value) {\r\n this.entityLoader = true;\r\n this.service.getEntityByCiNumber(this.formGroup.controls.commerialId.value).subscribe(\r\n data => {\r\n this.entityLoader = false;\r\n this.selectedEntity = data as Entity;\r\n if (this.selectedEntity.certifiedEntityId) {\r\n this.getBranches();\r\n this.getRepsentatives();\r\n this.formGroup.controls.commerialId.setErrors(null);\r\n }\r\n }, err => {\r\n console.error(err);\r\n this.entityLoader = false;\r\n this.formGroup.controls.commerialId.setErrors({ invalidCommerialId : true });\r\n });\r\n }\r\n }\r\n getBranches() {\r\n this.branches = [];\r\n this.branchesLoading = true;\r\n this.formGroup.controls.entityBranch.setValue(null);\r\n this.entityService.ListCertifiedEntityBranches(this.selectedEntity.certifiedEntityId).subscribe(\r\n data => {\r\n this.branchesLoading = false;\r\n if (data) {\r\n this.branches = data.pageData;\r\n if (!this.data.create && this.data.record.branchNames.length) {\r\n this.formGroup.controls.entityBranch.setValue(this.data.record.branchNames[0].id);\r\n }\r\n }\r\n },\r\n error => {\r\n this.branchesLoading = false;\r\n });\r\n }\r\n getRepsentatives() {\r\n this.repsentatives = [];\r\n this.repsentativesLoading = true;\r\n this.formGroup.controls.authorizedOfficerId.setValue(null);\r\n this.entityService.ListCertifiedEntityRepsentative(this.selectedEntity.certifiedEntityId).subscribe(\r\n data => {\r\n this.repsentativesLoading = false;\r\n if (data) {\r\n this.repsentatives = data.pageData;\r\n if (!this.data.create) {\r\n this.formGroup.controls.authorizedOfficerId.setValue(this.data.record.authorizedOfficerId);\r\n }\r\n }\r\n },\r\n error => {\r\n this.repsentativesLoading = false;\r\n });\r\n }\r\n uniqueCertificateNoValidator(): AsyncValidatorFn {\r\n return (control: AbstractControl): Observable<{ [key: string]: any } | null> => {\r\n if (control.value) { this.certificateNumLoader = true; }\r\n return this.service.checkUniqueCertificateNo(control.value)\r\n .pipe(\r\n map(res => {\r\n this.certificateNumLoader = false;\r\n if (!this.data.create) { return; }\r\n if (res) {\r\n return { certificateNoExist: true };\r\n }\r\n })\r\n );\r\n };\r\n }\r\n saveRecored() {\r\n // this.validateScopes();\r\n this.isSubmitted = true;\r\n if (this.formGroup.valid && this.files.length && !this.repsentativesLoading) {\r\n this.loading = true;\r\n let recored;\r\n recored = {\r\n certifiedEntityId: this.selectedEntity.certifiedEntityId,\r\n ABTypeId: this.formGroup.controls.ABTypeId.value,\r\n // scopes: this.selectedScopes,\r\n scopes: [this.allScopes.find(scope => scope.id === this.formGroup.controls.scopes.value)],\r\n certificateNumber: this.formGroup.controls.certificateNo.value,\r\n issuingDate: this.formGroup.controls.issuingDate.value.toLocaleString(),\r\n expirationDate: this.formGroup.controls.expirationDate.value.toLocaleString(),\r\n authorizedOfficerId: this.formGroup.controls.authorizedOfficerId.value,\r\n ceBranchIds: this.formGroup.controls.entityBranch.value ? [this.formGroup.controls.entityBranch.value] : [],\r\n } as Certificate;\r\n if (!this.data.create) {\r\n recored.certificateId = this.data.record.certificateId;\r\n }\r\n this.service.save(recored, this.files).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: err.message,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n }\r\n\r\n openCreateEntiryDialog() {\r\n const dialogRef = this.dialog.open(EntityFormComponent, {\r\n width: '600px'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Entity created successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n }\r\n });\r\n }\r\n\r\n isInArray(parentObj, item) {\r\n return parentObj.some(obj => obj.id === item.id);\r\n }\r\n\r\n selected(event): void {\r\n if (!this.isInArray(this.selectedScopes, event.option.value)) {\r\n this.selectedScopes.push(event.option.value);\r\n this.scopeInput.nativeElement.value = '';\r\n this.formGroup.controls.scopes.setValue(null);\r\n }\r\n this.validateScopes();\r\n }\r\n\r\n removeScope(scope): void {\r\n const index = this.selectedScopes.indexOf(scope);\r\n if (index >= 0) {\r\n this.selectedScopes.splice(index, 1);\r\n }\r\n this.validateScopes();\r\n }\r\n\r\n validateScopes() {\r\n if (this.allScopes.length) {\r\n if (!this.selectedScopes.length) {\r\n this.formGroup.get('scopes').setErrors({valid: true});\r\n } else {\r\n this.formGroup.get('scopes').setErrors(null);\r\n }\r\n } else {\r\n this.scopesChipList.errorState = status === 'VALID';\r\n this.formGroup.get('scopes').setErrors(null);\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LookupsFilterModel } from 'src/app/models/lookupsManagement/LookupsFilterModel';\r\nimport { LookupManagementService } from 'src/app/services/lookup-management.service';\r\nimport { oneRecord } from 'src/app/models/lookupsManagement/oneRecord';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CreateabtypesComponent } from './createabtypes/createabtypes.component';\r\n\r\n@Component({\r\n selector: 'app-abtypes',\r\n templateUrl: './abtypes.component.html'\r\n})\r\nexport class ABTypesComponent implements OnInit {\r\n\r\n dataLoading = false;\r\n showSearch = false;\r\n\r\n filterModel: LookupsFilterModel = new LookupsFilterModel();\r\n\r\n // mat table\r\n pageCount = 0;\r\n manualPage = 0;\r\n\r\n listDataObj: any;\r\n dataSource: oneRecord[] = [];\r\n\r\n selectedAbtype: oneRecord = new oneRecord();\r\n\r\n scopeType: number;\r\n\r\n constructor(private lookupManagementService: LookupManagementService,\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n private activatedRoute: ActivatedRoute) { \r\n }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.activatedRoute.queryParams.subscribe(params => {\r\n if (params.certificatescopeId) {\r\n this.filterModel.ParentId = params.certificatescopeId;\r\n this.getListCertificateScopes(null);\r\n this.scopeType = 1;\r\n this.listDataObj = undefined;\r\n } else if (params.scopesId) {\r\n this.filterModel.ParentId = params.scopesId;\r\n this.getListScopes(null);\r\n this.scopeType = 2;\r\n this.listDataObj = undefined;\r\n } else {\r\n this.getListABTypes(null);\r\n this.scopeType = 0;\r\n this.listDataObj = undefined;\r\n }\r\n }\r\n );\r\n }\r\n\r\n getAll(event) {\r\n if (this.scopeType === 0) {\r\n this.getListABTypes(event);\r\n } else if (this.scopeType === 1) {\r\n this.getListCertificateScopes(event);\r\n } else if (this.scopeType === 2) {\r\n this.getListScopes(event);\r\n }\r\n }\r\n\r\n getListABTypes(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.lookupManagementService.getListABTypes(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.listDataObj = data;\r\n this.dataSource = data.pageData as oneRecord[];\r\n this.filterModel.totalCount = data.totalCount;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n console.log('data is', data);\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n getListCertificateScopes(event) {\r\n this.dataSource = [];\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.lookupManagementService.getListCertificateScopes(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.listDataObj = data;\r\n this.dataSource = data.pageData as oneRecord[];\r\n this.filterModel.totalCount = data.totalCount;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n console.log('data is', data);\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n getListScopes(event) {\r\n this.dataSource = [];\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.lookupManagementService.getListScopes(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.listDataObj = data;\r\n this.dataSource = data.pageData as oneRecord[];\r\n this.filterModel.totalCount = data.totalCount;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n console.log('data is', data);\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getAll(null);\r\n }\r\n }\r\n }\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getAll(null);\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getAll(null);\r\n }\r\n }\r\n\r\n RemoveType(id) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.Yes delete it'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n if (this.scopeType === 0) {\r\n this.RemoveABType(id);\r\n } else if (this.scopeType === 1) {\r\n this.RemoveCertificateScope(id);\r\n } else if (this.scopeType === 2) {\r\n this.RemoveScope(id);\r\n }\r\n }\r\n });\r\n }\r\n\r\n RemoveCertificateScope(id) {\r\n this.lookupManagementService.RemoveCertificateScope(id).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: '',\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getAll(null);\r\n });\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error[0],\r\n icon: 'warning',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n\r\n RemoveScope(id) {\r\n this.lookupManagementService.RemoveScope(id).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: '',\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getAll(null);\r\n });\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error[0],\r\n icon: 'warning',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n\r\n RemoveABType(id) {\r\n this.lookupManagementService.RemoveABType(id).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: '',\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getAll(null);\r\n });\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error[0],\r\n icon: 'warning',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n\r\n // open create lang\r\n openCreateAbTypeDialog(scopeType) {\r\n const dialogRef = this.dialog.open(CreateabtypesComponent, {\r\n width: '530px',\r\n data: {\r\n selectedAbtype: null,\r\n scopeType,\r\n parentId: this.filterModel.ParentId,\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Created successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getAll(null);\r\n });\r\n }\r\n });\r\n }\r\n\r\n // open edit AbType\r\n openEditDialog(id) {\r\n if (this.scopeType === 1) {\r\n this.openEditCertificateScopeDialog(id, 1);\r\n } else if (this.scopeType === 2) {\r\n this.openEditScopeDialog(id, 2);\r\n } else {\r\n this.openEditAbTypeDialog(id, 0);\r\n }\r\n }\r\n\r\n openEditCertificateScopeDialog(id, scopeType) {\r\n this.lookupManagementService.GetCertificateScopeDetails(id).subscribe(\r\n data => {\r\n this.selectedAbtype = null;\r\n this.selectedAbtype = data as oneRecord;\r\n this.confgiEditDailog(this.selectedAbtype, scopeType);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n openEditScopeDialog(id, scopeType) {\r\n this.lookupManagementService.GetScopeDetails(id).subscribe(\r\n data => {\r\n this.selectedAbtype = null;\r\n this.selectedAbtype = data as oneRecord;\r\n this.confgiEditDailog(this.selectedAbtype, scopeType);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n openEditAbTypeDialog(id, scopeType) {\r\n this.lookupManagementService.GetABTypeDetails(id).subscribe(\r\n data => {\r\n this.selectedAbtype = null;\r\n this.selectedAbtype = data as oneRecord;\r\n this.confgiEditDailog(this.selectedAbtype, scopeType);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n\r\n confgiEditDailog(selectedAbtype, scopeType) {\r\n const dialogRef = this.dialog.open(CreateabtypesComponent, {\r\n width: '530px',\r\n data: {\r\n selectedAbtype,\r\n scopeType,\r\n parentId: null,\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getAll(null);\r\n });\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject, ViewChild, ElementRef} from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, NgModel } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LookupManagementService } from 'src/app/services/lookup-management.service';\r\nimport { oneRecord } from 'src/app/models/lookupsManagement/oneRecord';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport interface DialogData {\r\n selectedAbtype: oneRecord;\r\n scopeType: number;\r\n parentId: number;\r\n}\r\n\r\n@Component({\r\n selector: 'app-createabtypes',\r\n templateUrl: './createabtypes.component.html'\r\n})\r\nexport class CreateabtypesComponent implements OnInit {\r\n\r\n loading = false;\r\n\r\n AbtypeFormGroup: FormGroup;\r\n\r\n AbTypeModel: oneRecord = new oneRecord();\r\n\r\n AbTypeUpdatedModel: oneRecord = new oneRecord();\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n private formBuilder: FormBuilder,\r\n private translate: TranslateService,\r\n private lookupManagementService: LookupManagementService) { }\r\n\r\n\r\n ngOnInit() {\r\n this.buildForms();\r\n }\r\n\r\n buildForms() {\r\n this.AbtypeFormGroup = this.formBuilder.group({\r\n NameEng: ['', [Validators.required, Validators.pattern('^[0-9a-zA-Z ]+$')]],\r\n NameAr: ['', [\r\n Validators.required,\r\n // Validators.pattern('^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 _-]+$')\r\n ]\r\n ],\r\n });\r\n\r\n if (this.data.selectedAbtype != null) {\r\n this.setValuesForm();\r\n }\r\n }\r\n\r\n setValuesForm() {\r\n this.AbtypeFormGroup.controls.NameEng.setValue(this.data.selectedAbtype.englishName);\r\n this.AbtypeFormGroup.controls.NameAr.setValue(this.data.selectedAbtype.arabicName);\r\n }\r\n\r\n submitAbType() {\r\n if (this.AbtypeFormGroup.valid) {\r\n this.loading = true;\r\n if (this.data.selectedAbtype == null) {\r\n this.AddType();\r\n } else {\r\n this.UpdateType();\r\n }\r\n }\r\n }\r\n\r\n AddType() {\r\n this.AbTypeModel.childs = [];\r\n this.AbTypeModel.englishName = this.AbtypeFormGroup.controls.NameEng.value;\r\n this.AbTypeModel.arabicName = this.AbtypeFormGroup.controls.NameAr.value;\r\n this.AbTypeModel.parentId = this.data.parentId;\r\n if (this.data.scopeType === 1) {\r\n this.AddCertificateScope(this.AbTypeModel);\r\n } else if (this.data.scopeType === 2) {\r\n this.AddScope(this.AbTypeModel);\r\n } else {\r\n this.AddABType(this.AbTypeModel);\r\n }\r\n }\r\n\r\n AddABType(AbTypeModel) {\r\n this.lookupManagementService.AddABType(AbTypeModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n AddCertificateScope(AbTypeModel) {\r\n this.lookupManagementService.AddCertificateScope(AbTypeModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n AddScope(AbTypeModel) {\r\n this.lookupManagementService.AddScope(AbTypeModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n ///////////////////////////////////////////////\r\n\r\n UpdateType() {\r\n this.AbTypeUpdatedModel.childs = [];\r\n\r\n this.AbTypeUpdatedModel.id = this.data.selectedAbtype.id;\r\n this.AbTypeUpdatedModel.englishName = this.AbtypeFormGroup.controls.NameEng.value;\r\n this.AbTypeUpdatedModel.arabicName = this.AbtypeFormGroup.controls.NameAr.value;\r\n if (this.data.scopeType === 1) {\r\n this.UpdateCertificateScope(this.AbTypeUpdatedModel);\r\n } else if (this.data.scopeType === 2) {\r\n this.UpdateScope(this.AbTypeUpdatedModel);\r\n } else {\r\n this.UpdateABType(this.AbTypeUpdatedModel);\r\n }\r\n }\r\n\r\n UpdateCertificateScope(AbTypeUpdatedModel) {\r\n this.lookupManagementService.UpdateCertificateScope(AbTypeUpdatedModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n UpdateScope(AbTypeUpdatedModel) {\r\n this.lookupManagementService.UpdateScope(AbTypeUpdatedModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n UpdateABType(AbTypeUpdatedModel) {\r\n this.lookupManagementService.UpdateABType(AbTypeUpdatedModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n hasError(formGroup, controlName: string, errorName: string) {\r\n return formGroup.controls[controlName].hasError(errorName);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-configuration',\r\n templateUrl: './configuration.component.html'\r\n})\r\nexport class ConfigurationComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CreateCountriesComponent } from './create-countries/create-countries.component';\r\nimport { LookupsFilterModel } from 'src/app/models/lookupsManagement/LookupsFilterModel';\r\nimport { LookupManagementService } from 'src/app/services/lookup-management.service';\r\nimport { oneRecord } from 'src/app/models/lookupsManagement/oneRecord';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Component({\r\n selector: 'app-countries-configuration',\r\n templateUrl: './countries-configuration.component.html'\r\n})\r\nexport class CountriesConfigurationComponent implements OnInit {\r\n\r\n dataLoading = false;\r\n showSearch = false;\r\n\r\n filterModel: LookupsFilterModel = new LookupsFilterModel();\r\n\r\n // mat table\r\n pageCount = 0;\r\n manualPage = 0;\r\n displayedColumns = [\r\n this.translate.instant('general.Name in English'),\r\n this.translate.instant('general.Name in Arabic'),\r\n this.translate.instant('general.# of Cities'),\r\n 'tableOptions'\r\n ];\r\n\r\n dataSource: oneRecord[] = [];\r\n\r\n selectedCountry: oneRecord = new oneRecord();\r\n\r\n constructor(private lookupManagementService: LookupManagementService,\r\n private translate: TranslateService,\r\n public dialog: MatDialog) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.getListCountries(null);\r\n }\r\n\r\n getListCountries(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.lookupManagementService.getListCountries(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.dataSource = data.pageData as oneRecord[];\r\n this.filterModel.totalCount = data.totalCount;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n console.log(data);\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getListCountries(null);\r\n }\r\n }\r\n }\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getListCountries(null);\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getListCountries(null);\r\n }\r\n }\r\n\r\n \r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n RemoveCountries(id) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.Yes delete it'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.lookupManagementService.RemoveCountries(id).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: '',\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListCountries(null);\r\n });\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error[0],\r\n icon: 'warning',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n // open create lang\r\n openCreateCountryDialog() {\r\n const dialogRef = this.dialog.open(CreateCountriesComponent, {\r\n width: '530px'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Created successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListCountries(null);\r\n });\r\n }\r\n });\r\n }\r\n\r\n // open edit country\r\n openEditCountryDialog(countryId) {\r\n this.lookupManagementService.GetCountryDetails(countryId).subscribe(\r\n data => {\r\n // console.log('before open', data);\r\n this.selectedCountry = data as oneRecord;\r\n this.confgiEditDailog(this.selectedCountry);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n confgiEditDailog(selectedCountry) {\r\n const dialogRef = this.dialog.open(CreateCountriesComponent, {\r\n width: '530px',\r\n data: selectedCountry\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListCountries(null);\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Inject, ViewChild, ElementRef} from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, NgModel } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LookupManagementService } from 'src/app/services/lookup-management.service';\r\nimport { oneRecord } from 'src/app/models/lookupsManagement/oneRecord';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-create-countries',\r\n templateUrl: './create-countries.component.html'\r\n})\r\nexport class CreateCountriesComponent implements OnInit {\r\n\r\n @ViewChild('countrtNameAr', { static: false }) countrtNameAr: NgModel;\r\n loading = false;\r\n\r\n CountryFormGroup: FormGroup;\r\n\r\n countryEditable = true;\r\n validcountry = true;\r\n\r\n country = [];\r\n mustAdded = false;\r\n listItemEng: string;\r\n listItemFr: string;\r\n\r\n countryModel: oneRecord = new oneRecord();\r\n\r\n CitiesToDeleted: number[] = [];\r\n\r\n CountryUpdatedModel: oneRecord = new oneRecord();\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public selectedCountry: oneRecord = new oneRecord(),\r\n private formBuilder: FormBuilder,\r\n private translate: TranslateService,\r\n private lookupManagementService: LookupManagementService) { }\r\n\r\n ngOnInit() {\r\n this.buildForms();\r\n }\r\n\r\n buildForms() {\r\n this.CountryFormGroup = this.formBuilder.group({\r\n NameEng: ['', Validators.required],\r\n NameAr: ['', [\r\n Validators.required,\r\n Validators.pattern('^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 _-]+$')\r\n ]\r\n ],\r\n });\r\n\r\n if (this.selectedCountry != null) {\r\n this.setValuesForm();\r\n }\r\n }\r\n\r\n setValuesForm() {\r\n this.CountryFormGroup.controls.NameEng.setValue(this.selectedCountry.englishName);\r\n this.CountryFormGroup.controls.NameAr.setValue(this.selectedCountry.arabicName);\r\n this.country = this.selectedCountry.childs;\r\n }\r\n\r\n submitCountry() {\r\n \r\n debugger;\r\n if (this.country.length === 0) {\r\n this.mustAdded = true;\r\n } else {\r\n this.mustAdded = false;\r\n }\r\n\r\n if (this.CountryFormGroup.valid && this.country.length !== 0) {\r\n this.loading = true;\r\n if (this.selectedCountry == null) {\r\n this.createCountry();\r\n } else {\r\n this.updatedCountry();\r\n }\r\n }\r\n\r\n }\r\n\r\n createCountry() {\r\n\r\n this.countryModel.childs = [];\r\n\r\n this.countryModel.englishName = this.CountryFormGroup.controls.NameEng.value;\r\n this.countryModel.arabicName = this.CountryFormGroup.controls.NameAr.value;\r\n\r\n this.country.forEach(element => {\r\n const currentEl = {englishName: element.englishName, arabicName: element.arabicName} as oneRecord;\r\n this.countryModel.childs.push(currentEl);\r\n });\r\n\r\n\r\n this.lookupManagementService.AddCountry(this.countryModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n\r\n }\r\n\r\n updatedCountry() {\r\n debugger;\r\n this.CountryUpdatedModel.childs = [];\r\n\r\n this.CountryUpdatedModel.id = this.selectedCountry.id;\r\n this.CountryUpdatedModel.englishName = this.CountryFormGroup.controls.NameEng.value;\r\n this.CountryUpdatedModel.arabicName = this.CountryFormGroup.controls.NameAr.value;\r\n\r\n this.country.forEach(element => {\r\n const currentEl = {\r\n id : element.id ? element.id : null,\r\n englishName: element.englishName,\r\n arabicName: element.arabicName\r\n } as oneRecord;\r\n this.CountryUpdatedModel.childs.push(currentEl);\r\n });\r\n\r\n this.lookupManagementService.UpdateCountry(this.CountryUpdatedModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n addListItem() {\r\n debugger;\r\n console.log(this.countrtNameAr.valid);\r\n \r\n if (this.listItemEng && this.listItemFr && this.countrtNameAr.valid) {\r\n\r\n this.country.push(\r\n {\r\n englishName: this.listItemEng,\r\n arabicName: this.listItemFr,\r\n }\r\n );\r\n this.mustAdded = false;\r\n this.validcountry = true;\r\n this.listItemEng = this.listItemFr = undefined;\r\n }\r\n }\r\n\r\n removeCountrysItem(city, index) {\r\n this.CitiesToDeleted.push(city.id);\r\n if (city.id) {\r\n this.deleteCity(city, index);\r\n } else {\r\n this.country.splice(index, 1);\r\n }\r\n }\r\n\r\n deleteCity(city, index) {\r\n if (this.selectedCountry) {\r\n // console.log(city);\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.Yes delete it'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.lookupManagementService.RemoveCity(city.id).subscribe(\r\n data => {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: '',\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.country.splice(index, 1);\r\n });\r\n },\r\n error => {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error[0],\r\n icon: 'warning',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n updateCountrysItem(index, event, inputType) {\r\n\r\n if (inputType === 'nameEn') {\r\n this.country[index].englishName = event.target.value;\r\n } else {\r\n this.country[index].arabicName = event.target.value;\r\n }\r\n\r\n }\r\n\r\n hasError(formGroup, controlName: string, errorName: string) {\r\n return formGroup.controls[controlName].hasError(errorName);\r\n }\r\n\r\n\r\n initName(name) {\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormGroup, FormBuilder, FormControl, Validators, AbstractControl, AsyncValidatorFn } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LookupManagementService } from 'src/app/services/lookup-management.service';\r\nimport { LanguageRow } from 'src/app/models/lookupsManagement/LanguageRow';\r\n\r\n@Component({\r\n selector: 'app-create-language',\r\n templateUrl: './create-language.component.html'\r\n})\r\nexport class CreateLanguageComponent implements OnInit {\r\n\r\n loading = false;\r\n\r\n languagesFormGroup: FormGroup;\r\n\r\n Language: LanguageRow = new LanguageRow();\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public selectedLanguage: LanguageRow = new LanguageRow(),\r\n private formBuilder: FormBuilder,\r\n private lookupManagementService: LookupManagementService) { }\r\n\r\n ngOnInit() {\r\n this.buildForms();\r\n // console.log('after open data', this.selectedLanguage);\r\n }\r\n\r\n buildForms() {\r\n this.languagesFormGroup = this.formBuilder.group({\r\n LangugeNameEng: ['', Validators.required],\r\n LangugeNameFr: ['', Validators.required]\r\n });\r\n\r\n if (this.selectedLanguage != null) {\r\n this.setValuesForm();\r\n }\r\n }\r\n\r\n setValuesForm() {\r\n this.languagesFormGroup.controls.LangugeNameEng.setValue(this.selectedLanguage.nameEn);\r\n this.languagesFormGroup.controls.LangugeNameFr.setValue(this.selectedLanguage.nameFr);\r\n }\r\n\r\n submitLanguage() {\r\n\r\n this.Language.nameEn = this.languagesFormGroup.controls.LangugeNameEng.value;\r\n this.Language.nameFr = this.languagesFormGroup.controls.LangugeNameFr.value;\r\n\r\n if (this.languagesFormGroup.valid) {\r\n this.loading = true;\r\n if (this.selectedLanguage == null) {\r\n // console.log(this.Language);\r\n this.createLanguage(this.Language);\r\n } else {\r\n // console.log('update');\r\n this.updatedLanguage(this.Language);\r\n }\r\n }\r\n\r\n }\r\n\r\n createLanguage(Language) {\r\n this.lookupManagementService.AddLanguage(Language).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n updatedLanguage(Language) {\r\n this.Language.id = this.selectedLanguage.id;\r\n this.lookupManagementService.UpdateLanguage(Language).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n hasError(formGroup, controlName: string, errorName: string) {\r\n return formGroup.controls[controlName].hasError(errorName);\r\n }\r\n\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CreateLanguageComponent } from './create-language/create-language.component';\r\nimport { LookupsFilterModel } from 'src/app/models/lookupsManagement/LookupsFilterModel';\r\nimport { LookupManagementService } from 'src/app/services/lookup-management.service';\r\nimport { LanguageRow } from 'src/app/models/lookupsManagement/LanguageRow';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-language-configuration',\r\n templateUrl: './language-configuration.component.html'\r\n})\r\nexport class LanguageConfigurationComponent implements OnInit {\r\n\r\n dataLoading = false;\r\n showSearch = false;\r\n\r\n filterModel: LookupsFilterModel = new LookupsFilterModel();\r\n\r\n // mat table\r\n pageCount = 0;\r\n manualPage = 0;\r\n displayedColumns = [\r\n 'Name in English',\r\n 'Name in French',\r\n 'tableOptions'\r\n ];\r\n\r\n dataSource: LanguageRow[] = [];\r\n\r\n selectedLanguage: LanguageRow = new LanguageRow();\r\n\r\n constructor( private lookupManagementService: LookupManagementService,\r\n private translate: TranslateService,\r\n public dialog: MatDialog) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.getListLanguages(null);\r\n }\r\n\r\n getListLanguages(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.lookupManagementService.getListLanguages(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.dataSource = data.pageData as LanguageRow[];\r\n this.filterModel.totalCount = data.totalCount;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n // console.log(data);\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getListLanguages(null);\r\n }\r\n }\r\n }\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getListLanguages(null);\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getListLanguages(null);\r\n }\r\n }\r\n\r\n // open create lang\r\n openCreateLanguageDialog() {\r\n const dialogRef = this.dialog.open(CreateLanguageComponent, {\r\n width: '530px'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n // this.getListLanguages(null);\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Created successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListLanguages(null);\r\n });\r\n }\r\n });\r\n }\r\n\r\n // edit\r\n editLanguageDetails(langId) {\r\n this.lookupManagementService.GetLanguageDetails(langId).subscribe(\r\n data => {\r\n // console.log('before open', data);\r\n this.selectedLanguage = data as LanguageRow;\r\n this.confgiEditDailog(this.selectedLanguage);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n confgiEditDailog(selectedLanguage) {\r\n const dialogRef = this.dialog.open(CreateLanguageComponent, {\r\n width: '530px',\r\n data: selectedLanguage\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListLanguages(null);\r\n });\r\n }\r\n });\r\n }\r\n\r\n removeLanguage(id) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.Yes delete it'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.lookupManagementService.RemoveLanguage(id).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: '',\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListLanguages(null);\r\n });\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error[0],\r\n icon: 'warning',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Inject} from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LookupManagementService } from 'src/app/services/lookup-management.service';\r\nimport { oneRecord } from 'src/app/models/lookupsManagement/oneRecord';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Component({\r\n selector: 'app-create-nationality-configuration',\r\n templateUrl: './create-nationality-configuration.component.html'\r\n})\r\nexport class CreateNationalityConfigurationComponent implements OnInit {\r\n\r\n loading = false;\r\n\r\n NationalityFormGroup: FormGroup;\r\n\r\n NationalityModel: oneRecord = new oneRecord();\r\n\r\n NationalityUpdatedModel: oneRecord = new oneRecord();\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public selectedNationality: oneRecord = new oneRecord(),\r\n private formBuilder: FormBuilder,\r\n private translate: TranslateService,\r\n private lookupManagementService: LookupManagementService) { }\r\n\r\n ngOnInit() {\r\n this.buildForms();\r\n }\r\n\r\n buildForms() {\r\n this.NationalityFormGroup = this.formBuilder.group({\r\n NameEng: ['', Validators.required],\r\n NameFr: ['', [\r\n Validators.required,\r\n Validators.pattern('^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 _-]+$')\r\n ]\r\n ],\r\n });\r\n\r\n if (this.selectedNationality != null) {\r\n this.setValuesForm();\r\n }\r\n }\r\n\r\n setValuesForm() {\r\n this.NationalityFormGroup.controls.NameEng.setValue(this.selectedNationality.englishName);\r\n this.NationalityFormGroup.controls.NameFr.setValue(this.selectedNationality.arabicName);\r\n }\r\n\r\n submitNationality() {\r\n if (this.NationalityFormGroup.valid) {\r\n this.loading = true;\r\n if (this.selectedNationality == null) {\r\n this.createNationality();\r\n } else {\r\n this.updatedNationality();\r\n }\r\n }\r\n }\r\n\r\n createNationality() {\r\n\r\n this.NationalityModel.childs = [];\r\n\r\n this.NationalityModel.englishName = this.NationalityFormGroup.controls.NameEng.value;\r\n this.NationalityModel.arabicName = this.NationalityFormGroup.controls.NameFr.value;\r\n \r\n this.lookupManagementService.AddNationality(this.NationalityModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n\r\n }\r\n\r\n updatedNationality() {\r\n this.NationalityUpdatedModel.childs = [];\r\n\r\n this.NationalityUpdatedModel.id = this.selectedNationality.id;\r\n this.NationalityUpdatedModel.englishName = this.NationalityFormGroup.controls.NameEng.value;\r\n this.NationalityUpdatedModel.arabicName = this.NationalityFormGroup.controls.NameFr.value;\r\n\r\n this.lookupManagementService.UpdateNationality(this.NationalityUpdatedModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n\r\n\r\n hasError(formGroup, controlName: string, errorName: string) {\r\n return formGroup.controls[controlName].hasError(errorName);\r\n }\r\n\r\n\r\n initName(name) {\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LookupsFilterModel } from 'src/app/models/lookupsManagement/LookupsFilterModel';\r\nimport { LookupManagementService } from 'src/app/services/lookup-management.service';\r\nimport { oneRecord } from 'src/app/models/lookupsManagement/oneRecord';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CreateNationalityConfigurationComponent } from './create-nationality-configuration/create-nationality-configuration.component';\r\n\r\n@Component({\r\n selector: 'app-nationality-configurations',\r\n templateUrl: './nationality-configurations.component.html'\r\n})\r\nexport class NationalityConfigurationsComponent implements OnInit {\r\n\r\n dataLoading = false;\r\n showSearch = false;\r\n\r\n filterModel: LookupsFilterModel = new LookupsFilterModel();\r\n\r\n // mat table\r\n pageCount = 0;\r\n manualPage = 0;\r\n displayedColumns = [\r\n this.translate.instant('general.Name in English'),\r\n this.translate.instant('general.Name in Arabic'),\r\n 'tableOptions'\r\n ];\r\n\r\n dataSource: oneRecord[] = [];\r\n\r\n selectedNationality: oneRecord = new oneRecord();\r\n\r\n constructor(private lookupManagementService: LookupManagementService,\r\n private translate: TranslateService,\r\n public dialog: MatDialog) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.getListNationalities(null);\r\n }\r\n\r\n getListNationalities(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.lookupManagementService.getListNationalities(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.dataSource = data.pageData as oneRecord[];\r\n this.filterModel.totalCount = data.totalCount;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n console.log(data);\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getListNationalities(null);\r\n }\r\n }\r\n }\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getListNationalities(null);\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getListNationalities(null);\r\n }\r\n }\r\n\r\n \r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n RemoveNationality(id) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.Yes delete it'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.lookupManagementService.RemoveNationality(id).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: '',\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListNationalities(null);\r\n });\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error[0],\r\n icon: 'warning',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n // open create lang\r\n openCreateNationalityDialog() {\r\n const dialogRef = this.dialog.open(CreateNationalityConfigurationComponent, {\r\n width: '530px'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Created successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListNationalities(null);\r\n });\r\n }\r\n });\r\n }\r\n\r\n // open edit Nationality\r\n openEditNationalityDialog(NationalityId) {\r\n this.lookupManagementService.GetNationalityDetails(NationalityId).subscribe(\r\n data => {\r\n this.selectedNationality = data as oneRecord;\r\n this.confgiEditDailog(this.selectedNationality);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n confgiEditDailog(selectedNationality) {\r\n const dialogRef = this.dialog.open(CreateNationalityConfigurationComponent, {\r\n width: '530px',\r\n data: selectedNationality\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListNationalities(null);\r\n });\r\n }\r\n });\r\n }\r\n}","import { Component, OnInit, ViewChild, Inject} from '@angular/core';\r\nimport { FormGroup, FormBuilder, FormControl, Validators, AbstractControl, AsyncValidatorFn, NgForm } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LookupManagementService } from 'src/app/services/lookup-management.service';\r\nimport { SectorModel } from 'src/app/models/lookupsManagement/SectorModel';\r\nimport { Details } from 'src/app/models/lookupsManagement/Details';\r\nimport { SectorDetails } from 'src/app/models/lookupsManagement/SectorDetails';\r\nimport { SectorUpdatedModel } from 'src/app/models/lookupsManagement/SectorUpdatedModel';\r\nimport { Specializations } from 'src/app/models/lookupsManagement/Specializations';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-create-sectors',\r\n templateUrl: './create-sectors.component.html'\r\n})\r\nexport class CreateSectorsComponent implements OnInit {\r\n @ViewChild('sectorsForm', {static: false}) sectorsForm: NgForm;\r\n\r\n loading = false;\r\n\r\n sectorssFormGroup: FormGroup;\r\n\r\n sectorsEditable = true;\r\n validSectors = true;\r\n\r\n Sectors = [];\r\n listItemEng: string;\r\n listItemFr: string;\r\n mustAdded = false;\r\n SectorModel: SectorModel = new SectorModel();\r\n SectorUpdatedModel: SectorUpdatedModel = new SectorUpdatedModel();\r\n\r\n SpecializationsToDeleted: number[] = [];\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n private translate: TranslateService,\r\n @Inject(MAT_DIALOG_DATA) public selectedSector: SectorDetails = new SectorDetails(),\r\n private formBuilder: FormBuilder,\r\n private lookupManagementService: LookupManagementService) { }\r\n\r\n ngOnInit() {\r\n this.buildForms();\r\n // console.log('after open data', this.selectedSector);\r\n }\r\n\r\n buildForms() {\r\n this.sectorssFormGroup = this.formBuilder.group({\r\n NameEng: ['', Validators.required],\r\n NameFr: ['', Validators.required]\r\n });\r\n\r\n if (this.selectedSector != null) {\r\n this.setValuesForm();\r\n }\r\n }\r\n\r\n setValuesForm() {\r\n this.sectorssFormGroup.controls.NameEng.setValue(this.selectedSector.nameEn);\r\n this.sectorssFormGroup.controls.NameFr.setValue(this.selectedSector.nameFr);\r\n this.Sectors = this.selectedSector.specializations;\r\n }\r\n\r\n submitSector() {\r\n\r\n if (this.Sectors.length === 0) {\r\n this.mustAdded = true;\r\n } else {\r\n this.mustAdded = false;\r\n }\r\n\r\n if (this.sectorssFormGroup.valid && this.Sectors.length !== 0) {\r\n this.loading = true;\r\n\r\n if (this.selectedSector == null) {\r\n // console.log('add');\r\n this.createSector();\r\n } else {\r\n // console.log('update');\r\n this.updatedSector();\r\n }\r\n\r\n }\r\n }\r\n\r\n createSector() {\r\n this.SectorModel.details = [];\r\n\r\n this.SectorModel.nameEn = this.sectorssFormGroup.controls.NameEng.value;\r\n this.SectorModel.nameFr = this.sectorssFormGroup.controls.NameFr.value;\r\n\r\n this.Sectors.forEach(element => {\r\n const currentEl = {nameEn: element.nameEn, nameFr: element.nameFr} as Details;\r\n this.SectorModel.details.push(currentEl);\r\n });\r\n\r\n this.lookupManagementService.AddSector(this.SectorModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n\r\n updatedSector() {\r\n\r\n this.SectorUpdatedModel.specializations = [];\r\n\r\n this.SectorUpdatedModel.id = this.selectedSector.id;\r\n this.SectorUpdatedModel.nameEn = this.sectorssFormGroup.controls.NameEng.value;\r\n this.SectorUpdatedModel.nameFr = this.sectorssFormGroup.controls.NameFr.value;\r\n // this.SectorUpdatedModel.SpecializationsToDeleted = this.SpecializationsToDeleted;\r\n\r\n this.Sectors.forEach(element => {\r\n const currentEl = {\r\n id : element.id ? element.id : null,\r\n nameEn: element.nameEn,\r\n nameFr: element.nameFr\r\n } as Specializations;\r\n this.SectorUpdatedModel.specializations.push(currentEl);\r\n });\r\n\r\n // console.log('SectorUpdatedModel', this.SectorUpdatedModel);\r\n this.lookupManagementService.UpdateSector(this.SectorUpdatedModel).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n });\r\n }\r\n addListItem() {\r\n if (this.listItemEng && this.listItemFr) {\r\n\r\n this.Sectors.push(\r\n {\r\n nameEn: this.listItemEng,\r\n nameFr: this.listItemFr,\r\n }\r\n );\r\n\r\n this.mustAdded = false;\r\n this.validSectors = true;\r\n this.listItemEng = this.listItemFr = undefined;\r\n }\r\n }\r\n\r\n removeSectorsItem(onesector, index) {\r\n this.SpecializationsToDeleted.push(onesector.id);\r\n if (onesector.id) {\r\n this.deleteCity(onesector, index);\r\n } else {\r\n this.Sectors.splice(index, 1);\r\n }\r\n }\r\n\r\n deleteCity(onesector, index) {\r\n if (this.selectedSector) {\r\n // console.log(onesector);\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.Yes delete it'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.lookupManagementService.RemoveSpecialization(onesector.id).subscribe(\r\n data => {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: '',\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.Sectors.splice(index, 1);\r\n });\r\n },\r\n error => {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error[0],\r\n icon: 'warning',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n updateSectorsItem(index, event, inputType) {\r\n\r\n if (inputType === 'nameEn') {\r\n this.Sectors[index].nameEn = event.target.value;\r\n } else {\r\n this.Sectors[index].nameFr = event.target.value;\r\n }\r\n\r\n }\r\n\r\n hasError(formGroup, controlName: string, errorName: string) {\r\n return formGroup.controls[controlName].hasError(errorName);\r\n }\r\n\r\n closeDialog() {\r\n this.dialogRef.close();\r\n }\r\n\r\n \r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CreateSectorsComponent } from './create-sectors/create-sectors.component';\r\nimport { LookupsFilterModel } from 'src/app/models/lookupsManagement/LookupsFilterModel';\r\nimport { LookupManagementService } from 'src/app/services/lookup-management.service';\r\nimport { SectorsRow } from 'src/app/models/lookupsManagement/SectorsRow';\r\nimport { SectorDetails } from 'src/app/models/lookupsManagement/SectorDetails';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-sectors-configuration',\r\n templateUrl: './sectors-configuration.component.html'\r\n})\r\nexport class SectorsConfigurationComponent implements OnInit {\r\n\r\n dataLoading = false;\r\n showSearch = false;\r\n\r\n filterModel: LookupsFilterModel = new LookupsFilterModel();\r\n\r\n // mat table\r\n pageCount = 0;\r\n manualPage = 0;\r\n displayedColumns = [\r\n 'Name in English',\r\n 'Name in French',\r\n '# of Specialization',\r\n 'tableOptions'\r\n ];\r\n\r\n dataSource: SectorsRow[] = [];\r\n\r\n selectedSector: SectorDetails = new SectorDetails();\r\n constructor(private lookupManagementService: LookupManagementService,\r\n private translate: TranslateService,\r\n public dialog: MatDialog) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.getListSectors(null);\r\n }\r\n getListSectors(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.lookupManagementService.getListSectors(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.dataSource = data.pageData as SectorsRow[];\r\n this.filterModel.totalCount = data.totalCount;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n // // console.log(data);\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getListSectors(null);\r\n }\r\n }\r\n }\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getListSectors(null);\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getListSectors(null);\r\n }\r\n }\r\n\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n RemoveSector(id) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.Yes delete it'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.lookupManagementService.RemoveSector(id).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: '',\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListSectors(null);\r\n });\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error[0],\r\n icon: 'warning',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n });\r\n }\r\n\r\n // open create sector\r\n openCreateSectorDialog() {\r\n const dialogRef = this.dialog.open(CreateSectorsComponent, {\r\n width: '530px'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: 'added successfully',\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListSectors(null);\r\n });\r\n }\r\n });\r\n }\r\n\r\n // open edit sector\r\n openEditSectorDialog(sectorId) {\r\n this.lookupManagementService.GetSectorDetails(sectorId).subscribe(\r\n data => {\r\n // console.log('before open', data);\r\n this.selectedSector = data as SectorDetails;\r\n this.confgiEditDailog(this.selectedSector );\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n confgiEditDailog(selectedSector) {\r\n const dialogRef = this.dialog.open(CreateSectorsComponent, {\r\n width: '530px',\r\n data: selectedSector\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: 'Updated successfully',\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getListSectors(null);\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Color, Label } from 'ng2-charts';\r\nimport { User } from 'src/app/models/user/user';\r\nimport { Country } from 'src/app/models/lookups/Country';\r\nimport { LookupsService } from 'src/app/services/lookups.service';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html'\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n currentUser = new User();\r\n public pieChartData: number[] = [];\r\n chartLabels: Label[] = [];\r\n chartOptions = {\r\n responsive: true\r\n };\r\n chartLegend = true;\r\n chartColors: Color[] = [\r\n {\r\n backgroundColor: ['#F8D7DA', '#C3E6CB', '#5A74A1', '#2BA7C8']\r\n },\r\n ];\r\n\r\n chartLoader = true;\r\n staticsLoader = true;\r\n statics = [];\r\n countries: Country[] = [];\r\n cabs = [];\r\n chartData: any;\r\n filter = {\r\n CABIds: null,\r\n countryIds: null,\r\n dateFrom: null,\r\n dateTo: null\r\n };\r\n constructor(\r\n private authenticationService: AuthenticationService,\r\n private lookupsService: LookupsService\r\n ) {\r\n this.currentUser = this.authenticationService.currentUserValue;\r\n }\r\n\r\n ngOnInit() {\r\n this.getCountries();\r\n this.getCabs();\r\n this.getStatics();\r\n this.getChartData();\r\n }\r\n\r\n getCountries() {\r\n this.lookupsService.getCountries().subscribe(\r\n data => {\r\n this.countries = data as Country[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n getCabs() {\r\n this.lookupsService.LoadEntitiesBySelectedCountry(this.filter.countryIds).subscribe(\r\n data => {\r\n this.cabs = data as any;\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n getStatics() {\r\n this.staticsLoader = true;\r\n this.lookupsService.GetDashboardHeader().subscribe(\r\n data => {\r\n this.staticsLoader = false;\r\n if (data) {\r\n this.statics = data as [];\r\n }\r\n },\r\n error => {\r\n this.staticsLoader = false;\r\n });\r\n }\r\n\r\n getChartData() {\r\n this.chartLoader = true;\r\n this.lookupsService.GetDashboardDetails(this.filter).subscribe(\r\n data => {\r\n this.chartLoader = false;\r\n if (data) {\r\n this.chartLabels = data['labels'];\r\n this.pieChartData = data['data'];\r\n }\r\n },\r\n error => {\r\n this.chartLoader = false;\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, ElementRef, HostListener, Inject } from '@angular/core';\r\nimport { FormGroup, FormBuilder, FormControl, Validators, AbstractControl, AsyncValidatorFn } from '@angular/forms';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { AnnouncementsService } from 'src/app/services/announcements.service';\r\nimport { EntitiesByCountry } from 'src/app/models/Announcements/EntitiesByCountry';\r\nimport Swal from 'sweetalert2';\r\nimport { NestedTreeControl } from '@angular/cdk/tree';\r\nimport { ArrayDataSource, SelectionModel } from '@angular/cdk/collections';\r\nimport { DiscussionService } from 'src/app/services/discussion.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Component({\r\n selector: 'app-create-discussion',\r\n templateUrl: './create-discussion.component.html'\r\n})\r\nexport class CreateDiscussionComponent implements OnInit {\r\n\r\n discussionFormGroup: FormGroup;\r\n loading = false;\r\n\r\n //////// Sectors field config /////////////////\r\n showSectoreTree = false;\r\n sectorLoading = false;\r\n selectedSector = {} as EntitiesByCountry;\r\n sectors = [];\r\n /** The selection for checklist */\r\n sectorsSelection = new SelectionModel(true /* multiple */);\r\n SECTOR_TREE_DATA: EntitiesByCountry[] = [];\r\n sectorTreeData: any[];\r\n sectorsTreeControl = new NestedTreeControl(node => node.entities);\r\n sectorsDataSource = new ArrayDataSource(this.SECTOR_TREE_DATA);\r\n hasChild = (_: number, node: EntitiesByCountry) => !!node.entities && node.entities.length > 0;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private serviceAnn: AnnouncementsService,\r\n private translate: TranslateService,\r\n private service: DiscussionService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.LoadEntitiesForDiscussions(false);\r\n this.buildForm();\r\n }\r\n\r\n buildForm() {\r\n this.discussionFormGroup = this.formBuilder.group({\r\n SpecializationIds: [this.sectors, this.validateChips],\r\n });\r\n // this.selectSector(this.sectors[0]);\r\n }\r\n\r\n LoadEntitiesForDiscussions(search) {\r\n this.sectorLoading = true;\r\n this.serviceAnn.LoadEntitiesForDiscussions().subscribe(\r\n data => {\r\n this.sectorLoading = false;\r\n this.SECTOR_TREE_DATA = data as EntitiesByCountry[];\r\n // console.log(data);\r\n this.sectorsDataSource = new ArrayDataSource(this.SECTOR_TREE_DATA);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n\r\n hasError(formGroup, controlName: string, errorName: string) {\r\n return formGroup.controls[controlName].hasError(errorName);\r\n }\r\n\r\n saveDiscussion() {\r\n if (this.sectors.length === 0 && this.discussionFormGroup.get('SpecializationIds').value) {\r\n this.discussionFormGroup.get('SpecializationIds').setErrors({notValid: true});\r\n }\r\n if (this.discussionFormGroup.valid) {\r\n this.loading = true;\r\n // // console.log(this.selectedSector.id);\r\n this.service.CreateConversation(this.selectedSector.id).subscribe(\r\n data => {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Discussion added successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n }, err => {\r\n console.error(err);\r\n this.dialogRef.close();\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: err.message,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n }\r\n\r\n selectSector(node) {\r\n // console.log(node);\r\n \r\n this.selectedSector = node;\r\n this.sectors = [this.selectedSector];\r\n this.discussionFormGroup.controls.SpecializationIds.setValue(node.name);\r\n }\r\n private _filter(filteritem: any, parentObj, control: string) {\r\n if (typeof filteritem === 'string' || filteritem instanceof String) {\r\n const matches = parentObj.filter(obj => obj.name.toLowerCase().includes(filteritem.toLowerCase()));\r\n if (filteritem !== '') {\r\n this.discussionFormGroup.get(control).setErrors({ valid: false });\r\n }\r\n return matches;\r\n } else if (filteritem instanceof Object) { }\r\n }\r\n\r\n remove(obj, parentObj, control): void {\r\n const index = parentObj.indexOf(obj);\r\n if (index >= 0) {\r\n parentObj.splice(index, 1);\r\n this.discussionFormGroup.get(control).setValue(parentObj);\r\n }\r\n }\r\n\r\n isInArray(parentObj, item) {\r\n return parentObj.some(obj => obj.id === item.id);\r\n }\r\n\r\n private validateChips(control: FormControl) {\r\n if (control.value && control.value.length === 0) {\r\n return {\r\n validateChipsArray: { valid: false }\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n // TREE configrations //////////////////////////////////////////\r\n /** Whether all the descendants of the node are selected */\r\n descendantsAllSelected(node: EntitiesByCountry): boolean {\r\n const descendants = this.sectorsTreeControl.getDescendants(node);\r\n return descendants.every(child => this.sectorsSelection.isSelected(child));\r\n }\r\n\r\n /** Whether part of the descendants are selected */\r\n descendantsPartiallySelected(node: EntitiesByCountry): boolean {\r\n const descendants = this.sectorsTreeControl.getDescendants(node);\r\n const result = descendants.some(child => this.sectorsSelection.isSelected(child));\r\n return result && !this.descendantsAllSelected(node);\r\n }\r\n\r\n /** Toggle the to-do item selection. Select/deselect all the descendants node */\r\n todoItemSelectionToggle(node: EntitiesByCountry): void {\r\n this.sectorsSelection.toggle(node);\r\n const descendants = this.sectorsTreeControl.getDescendants(node);\r\n this.sectorsSelection.isSelected(node)\r\n ? this.sectorsSelection.select(...descendants)\r\n : this.sectorsSelection.deselect(...descendants);\r\n }\r\n\r\n\r\n removeSector(obj): void {\r\n const index = this.sectors.indexOf(obj);\r\n if (index >= 0) {\r\n this.sectors.splice(index, 1);\r\n this.todoItemSelectionToggle(obj);\r\n }\r\n }\r\n // END TREE configrations //////////////////////////////////////////\r\n\r\n\r\n // dropdowns overlay events\r\n @HostListener('window:keydown', ['$event']) handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.showSectoreTree = false;\r\n }\r\n }\r\n @HostListener('document:click', ['$event']) onDocumentClick(event: MouseEvent) {\r\n if (event.target === document.getElementById('popOverlay')) {\r\n this.showSectoreTree = false;\r\n }\r\n }\r\n}\r\n","import { Component, OnInit , NgZone, Input} from '@angular/core';\r\nimport { DiscussionService } from 'src/app/services/discussion.service';\r\nimport { ConversationsFilterModal } from 'src/app/models/conversation/ConversationsFilterModal';\r\nimport { NewMessageModel } from 'src/app/models/conversation/NewMessageModel';\r\nimport { ConversationMessages } from 'src/app/models/conversation/ConversationMessages';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { SignalRServiceService } from 'src/app/services/signal-rservice.service';\r\n@Component({\r\n selector: 'app-discussion-details',\r\n templateUrl: './discussion-details.component.html'\r\n})\r\nexport class DiscussionDetailsComponent implements OnInit {\r\n @Input() canCreate = false;\r\n filterModel: ConversationsFilterModal = new ConversationsFilterModal();\r\n\r\n recordsData: ConversationMessages = new ConversationMessages();\r\n\r\n dataLoading = false;\r\n newMesgLoading = false;\r\n recordsList = [];\r\n\r\n pageNumber = 0;\r\n pageCount: number;\r\n\r\n messageId: number;\r\n\r\n newMessageModel: NewMessageModel = new NewMessageModel();\r\n\r\n dataObj = {\r\n data : [],\r\n id: null\r\n };\r\n\r\n constructor( public zone: NgZone,\r\n private signalRService: SignalRServiceService,\r\n private service: DiscussionService,\r\n private activatedRoute: ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 50;\r\n if (!this.canCreate) {\r\n this.messageId = null;\r\n }\r\n this.activatedRoute.paramMap.subscribe(params => {\r\n if (params.get('id')) {\r\n this.messageId = Number(params.get('id'));\r\n }\r\n });\r\n this.GetConversationMessages(this.messageId, true);\r\n this.signalRService.handleNewMessageEvent(this, this.updateItem);\r\n\r\n // if (!this.canCreate) {\r\n // this.GetConversationMessages(null, true);\r\n // } else {\r\n // this.GetConversationMessages(this.messageId, true);\r\n // }\r\n }\r\n updateItem(context, id) {\r\n context.zone.run(() => {\r\n if (!context.canCreate) {\r\n context.GetConversationMessages(null, true);\r\n } else {\r\n if (context.messageId === id) {\r\n context.GetConversationMessages(id, true);\r\n }\r\n }\r\n });\r\n }\r\n getNextPage() {\r\n if (this.pageNumber < this.pageCount - 1) {\r\n this.pageNumber += 1;\r\n this.GetConversationMessages(this.messageId, false);\r\n }\r\n }\r\n GetConversationMessages(id, update) {\r\n if (update) {\r\n this.pageNumber = 0;\r\n this.recordsList = [];\r\n }\r\n this.dataLoading = true;\r\n this.filterModel.pageNumber = this.pageNumber;\r\n this.filterModel.ConversationId = id;\r\n this.newMessageModel.ConversationId = id;\r\n\r\n this.service.GetConversationMessages(this.filterModel).subscribe(\r\n result => {\r\n this.dataLoading = false;\r\n this.recordsData = result as ConversationMessages;\r\n this.pageCount = Math.ceil(result.totalCount / this.filterModel.pageSize);\r\n const newRecords = this.recordsData.pageData as [];\r\n this.recordsList = this.recordsList.concat(this.recordsData.pageData.reverse());\r\n // this.recordsList = this.recordsList.reverse();\r\n if (this.recordsList.length > 0) {\r\n setTimeout(() => {\r\n if (this.pageNumber === 0) {\r\n document.querySelectorAll('.chat-area')[0].scrollTop = document.querySelectorAll('.chat-area > ul')[0].clientHeight;\r\n }\r\n }, 200);\r\n }\r\n this.newMesgLoading = false;\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n send() {\r\n if (this.newMessageModel.text && !this.newMesgLoading) {\r\n this.newMesgLoading = true;\r\n this.service.CreateMessage(this.newMessageModel).subscribe(\r\n result => {\r\n // console.log('done');\r\n this.newMessageModel.text = '';\r\n this.GetConversationMessages(this.newMessageModel.ConversationId, true);\r\n if (this.recordsList.length > 0) {\r\n setTimeout(() => {\r\n document.querySelectorAll('chat-area')[0].scrollTop = document.querySelectorAll('chat-area > ul')[0].clientHeight;\r\n }, 200);\r\n }\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, Output, EventEmitter, NgZone } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CreateDiscussionComponent } from '../create-discussion/create-discussion.component';\r\nimport { DiscussionService } from 'src/app/services/discussion.service';\r\nimport { ConversationsFilterModal } from 'src/app/models/conversation/ConversationsFilterModal';\r\nimport { ConversationsModel } from 'src/app/models/conversation/ConversationsModel';\r\nimport { SignalRServiceService } from 'src/app/services/signal-rservice.service';\r\n\r\n@Component({\r\n selector: 'app-discussions-list',\r\n templateUrl: './discussions-list.component.html'\r\n})\r\nexport class DiscussionsListComponent implements OnInit {\r\n\r\n @Output() selectedMessageId = new EventEmitter();\r\n\r\n filterModel: ConversationsFilterModal = new ConversationsFilterModal();\r\n\r\n dataLoading = false;\r\n\r\n recordsData: ConversationsModel = new ConversationsModel();\r\n recordsList = [];\r\n pageNumber = 0;\r\n pageCount: number;\r\n\r\n selectedId: number;\r\n constructor(\r\n public zone: NgZone,\r\n public dialog: MatDialog,\r\n private signalRService: SignalRServiceService,\r\n private service: DiscussionService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 12;\r\n this.getDiscussions(true);\r\n this.signalRService.handleNewMessageEvent(this, this.updateRecords);\r\n }\r\n\r\n updateRecords(contxt, id) {\r\n contxt.zone.run(() => {\r\n contxt.getDiscussions(true);\r\n });\r\n }\r\n\r\n getNextPage() {\r\n if (this.pageNumber < this.pageCount - 1) {\r\n this.pageNumber += 1;\r\n this.getDiscussions(false);\r\n }\r\n }\r\n\r\n openDetails(message) {\r\n message.unReadMessagesCount = 0;\r\n this.selectedId = message.conversationId;\r\n this.selectedMessageId.emit(message.conversationId);\r\n }\r\n\r\n getDiscussions(update) {\r\n if (update) {\r\n this.recordsList = [];\r\n }\r\n this.dataLoading = true;\r\n this.filterModel.pageNumber = this.pageNumber;\r\n this.filterModel.ConversationId = null;\r\n this.service.getAll(this.filterModel).subscribe(\r\n result => {\r\n this.dataLoading = false;\r\n this.recordsData = result as ConversationsModel;\r\n this.pageCount = Math.ceil(result.totalCount / this.filterModel.pageSize);\r\n this.recordsList = this.recordsList.concat(this.recordsData.pageData);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n newDiscussion() {\r\n const dialogRef = this.dialog.open(CreateDiscussionComponent, {\r\n width: '500px'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.getDiscussions(true);\r\n }\r\n });\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild, NgZone } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CreateDiscussionComponent } from './create-discussion/create-discussion.component';\r\nimport { DiscussionDetailsComponent } from './discussion-details/discussion-details.component';\r\nimport { DiscussionService } from 'src/app/services/discussion.service';\r\nimport { ConversationsFilterModal } from 'src/app/models/conversation/ConversationsFilterModal';\r\nimport { ConversationsModel } from 'src/app/models/conversation/ConversationsModel';\r\nimport { DiscussionsListComponent } from './discussions-list/discussions-list.component';\r\nimport { SignalRServiceService } from 'src/app/services/signal-rservice.service';\r\n@Component({\r\n selector: 'app-discussions',\r\n templateUrl: './discussions.component.html'\r\n})\r\nexport class DiscussionsComponent implements OnInit {\r\n\r\n filterModel: ConversationsFilterModal = new ConversationsFilterModal();\r\n\r\n dataLoading = true;\r\n discissionsResult: any;\r\n recordsData: ConversationsModel = new ConversationsModel();\r\n pageNumber = 0;\r\n\r\n @ViewChild('discussionsDetails', {static: false}) discussionsDetailsDetails: DiscussionDetailsComponent;\r\n @ViewChild('discussionsListing', {static: false}) discussionsListing: DiscussionsListComponent;\r\n\r\n constructor(\r\n public zone: NgZone,\r\n public dialog: MatDialog,\r\n private signalRService: SignalRServiceService,\r\n private service: DiscussionService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 12;\r\n this.getDiscussions();\r\n this.signalRService.handleNewMessageEvent(this, this.updateRecords);\r\n this.signalRService.handleNewMessageEvent(this, this.updateConversation);\r\n }\r\n\r\n updateRecords(context, id) {\r\n context.zone.run(() => {\r\n context.getDiscussions();\r\n });\r\n }\r\n\r\n updateConversation(context, id) {\r\n context.zone.run(() => {\r\n if (id === context.discussionsDetailsDetails.messageId) {\r\n context.setMessageId(id);\r\n }\r\n });\r\n }\r\n\r\n setMessageId(id: number) {\r\n // console.log(id);\r\n this.discussionsDetailsDetails.messageId = id;\r\n this.discussionsDetailsDetails.GetConversationMessages(id, true);\r\n }\r\n\r\n getDiscussions() {\r\n this.dataLoading = false;\r\n this.filterModel.pageNumber = this.pageNumber;\r\n this.filterModel.ConversationId = null;\r\n this.service.getAll(this.filterModel).subscribe(\r\n result => {\r\n this.dataLoading = false;\r\n this.recordsData = result as ConversationsModel;\r\n // // console.log(this.recordsData);\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n newDiscussion() {\r\n const dialogRef = this.dialog.open(CreateDiscussionComponent, {\r\n width: '500px'\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.getDiscussions();\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild, Inject } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\r\nimport { PaymentRequestsService } from 'src/app/services/payment-requests.service';\r\nimport { SubmitPaymentModel } from 'src/app/models/DuePayment/SubmitPaymentModel';\r\nimport { EntityWalletTransactionType } from 'src/app/models/DuePayment/EntityWalletTransactionType';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {PaymentConfirmationDialogComponent} from 'src/app/features/due-payments/payment-confirmation-dialog/payment-confirmation-dialog.component';\r\nimport { Config } from 'src/app/models/config';\r\n\r\n\r\nexport interface DialogData {\r\n duePayments: any[];\r\n totalAmount: number;\r\n cab: any;\r\n}\r\n\r\n@Component({\r\n selector: 'app-checkout-payment',\r\n templateUrl: './checkout-payment.component.html'\r\n})\r\nexport class CheckoutPaymentComponent implements OnInit {\r\n\r\n @ViewChild('content', {static: false}) content: ElementRef;\r\n\r\n loading = false;\r\n dataLoading = true;\r\n\r\n payWithWallet = true;\r\n wireTransfer = false;\r\n\r\n paymentMethodType = new FormControl(0);\r\n\r\n // files\r\n isSubmited = false;\r\n files = [];\r\n\r\n currentBalance: number;\r\n maxBalance = false;\r\n\r\n submitPaymentModel: SubmitPaymentModel = new SubmitPaymentModel();\r\n\r\n constructor( @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n public dialogRef: MatDialogRef,\r\n private service: PaymentRequestsService) { }\r\n\r\n ngOnInit() {\r\n this.setSubmitModel();\r\n this.isSubmited = false;\r\n this.GetCBCurrentBalance();\r\n }\r\n\r\n setSubmitModel() {\r\n this.submitPaymentModel.totalPaymentAmount = this.data.totalAmount;\r\n this.submitPaymentModel.transactionType = EntityWalletTransactionType.FromDuePayment;\r\n }\r\n\r\n GetCBCurrentBalance() {\r\n this.service.GetCBCurrentBalance().subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n this.currentBalance = Number(data);\r\n if (this.currentBalance < this.data.totalAmount) {\r\n this.maxBalance = true;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n typeChange(event) {\r\n if (event.value === 0) {\r\n this.wireTransfer = false;\r\n this.payWithWallet = true;\r\n this.submitPaymentModel.paymentMethod = event.value;\r\n // this.files = [];\r\n // this.isSubmited = false;\r\n // if (this.currentBalance < this.data.totalAmount) {\r\n // this.maxBalance = true;\r\n // }\r\n }\r\n if (event.value === 1) {\r\n this.payWithWallet = false;\r\n this.wireTransfer = true;\r\n this.submitPaymentModel.paymentMethod = event.value;\r\n // this.maxBalance = false;\r\n }\r\n }\r\n\r\n updateFilesField($event) {\r\n this.files = $event;\r\n this.isSubmited = false;\r\n }\r\n removeItem(index, item) {\r\n this.data.duePayments.splice(index, 1);\r\n this.data.totalAmount = this.data.totalAmount - item.amount;\r\n if (this.currentBalance < this.data.totalAmount) {\r\n this.maxBalance = true;\r\n } else {\r\n this.maxBalance = false;\r\n }\r\n console.log(this.data.totalAmount, item.amount);\r\n }\r\n\r\n checkEnableToSubmit() {\r\n if (!this.data.duePayments.length || this.loading || this.dataLoading) {\r\n return true;\r\n }\r\n if (this.paymentMethodType.value === 0 && this.maxBalance) {\r\n return true;\r\n }\r\n if (this.paymentMethodType.value === 1 && !this.files.length) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n SubmitPayment() {\r\n this.submitPaymentModel.paymentMethod = this.paymentMethodType.value;\r\n\r\n this.data.duePayments.forEach(element => {\r\n this.submitPaymentModel.duePaymentIds.push(element.duePaymentId);\r\n });\r\n this.submitPaymentModel.totalPaymentAmount = this.data.totalAmount;\r\n\r\n if (this.submitPaymentModel.paymentMethod === 1) {\r\n if (this.files.length > 0) {\r\n this.isSubmited = false;\r\n } else {\r\n this.isSubmited = true;\r\n }\r\n } else {\r\n this.isSubmited = false;\r\n }\r\n this.loading = true;\r\n this.service.SubmitPayment(this.submitPaymentModel, this.files).subscribe(\r\n data => {\r\n if (data) {\r\n this.isSubmited = false;\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n this.openPaymentConfirmationDialog(this.data.totalAmount, this.paymentMethodType.value);\r\n }\r\n }, error => {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error.message,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n\r\n openPaymentConfirmationDialog(amount, type) {\r\n const dialogRef = this.dialog.open(PaymentConfirmationDialogComponent, {\r\n width: '600px',\r\n data: { amount, type }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.service.refreshDuePaymentListSubject.next(true);\r\n });\r\n }\r\n\r\n printDiv(elem) {\r\n const lang = localStorage.getItem('language') || 'en';\r\n const basicUrl = (location.href.includes('localhost')) ? '' : Config.frontUrl;\r\n let style = basicUrl + '/assets/css/en-US/style.css';\r\n let dir = 'ltr';\r\n if (lang === 'ar') {\r\n style = basicUrl + '/assets/css/ar-SA/style.css';\r\n dir = 'rtl';\r\n }\r\n const mywindow = window.open('', 'PRINT', 'height=600,width=800');\r\n mywindow.document.write('\\\r\n \\\r\n ' + document.title + '');\r\n mywindow.document.write('');\r\n // mywindow.document.write('

' + document.title + '

');\r\n mywindow.document.write(document.getElementById(elem).innerHTML);\r\n mywindow.document.write('');\r\n\r\n mywindow.document.close(); // necessary for IE >= 10\r\n mywindow.focus(); // necessary for IE >= 10*/\r\n\r\n mywindow.onload = () => {\r\n mywindow.print();\r\n };\r\n // mywindow.close();\r\n\r\n return true;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\r\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialog } from '@angular/material/dialog';\r\nimport { PaymentRequestRecord } from 'src/app/models/paymentRequest/PaymentRequestRecord';\r\nimport { PaymentRequestsService } from 'src/app/services/payment-requests.service';\r\nimport {MatSelectionList} from '@angular/material/list';\r\nimport { SubmitPaymentModel } from 'src/app/models/DuePayment/SubmitPaymentModel';\r\nimport { EntityWalletTransactionType } from 'src/app/models/DuePayment/EntityWalletTransactionType';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {PaymentConfirmationDialogComponent} from 'src/app/features/due-payments/payment-confirmation-dialog/payment-confirmation-dialog.component';\r\n\r\n\r\nexport interface DialogData {\r\n relatedData: any;\r\n transactionType: any;\r\n}\r\n\r\n@Component({\r\n selector: 'app-choose-invoices',\r\n templateUrl: './choose-invoices.component.html'\r\n})\r\nexport class ChooseInvoicesComponent implements OnInit {\r\n\r\n @ViewChild('allSelected', {static: false}) private allSelected: MatSelectionList;\r\n\r\n loading = false;\r\n\r\n dataLoading = false;\r\n isSubmited = false;\r\n\r\n recordData: any = {};\r\n\r\n submitPaymentModel: SubmitPaymentModel = new SubmitPaymentModel();\r\n\r\n // selection\r\n duePaymentsSelection: any[];\r\n totalAmount = 0;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialogRef: MatDialogRef,\r\n private service: PaymentRequestsService) { }\r\n\r\n ngOnInit() {\r\n this.GetEntityWalletDetails(this.data.relatedData);\r\n this.duePaymentsSelection = [];\r\n this.totalAmount = 0;\r\n }\r\n\r\n GetEntityWalletDetails(paymentId) {\r\n this.dataLoading = true;\r\n this.service.GetEntityWalletDetails(paymentId).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.recordData = data as PaymentRequestRecord;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n onNgModelChange(event) {\r\n this.caculateAmountPayments(this.duePaymentsSelection);\r\n }\r\n\r\n caculateAmountPayments(duePaymentsSelection) {\r\n this.totalAmount = 0;\r\n duePaymentsSelection.forEach(element => {\r\n this.totalAmount += element.amount;\r\n });\r\n }\r\n deselectAll() {\r\n this.allSelected.deselectAll();\r\n }\r\n\r\n sendCheckOut() {\r\n this.submitPaymentModel.totalPaymentAmount = this.totalAmount;\r\n this.submitPaymentModel.transactionType = EntityWalletTransactionType.FromDuePayment;\r\n this.submitPaymentModel.paymentMethod = 0;\r\n\r\n this.duePaymentsSelection.forEach(element => {\r\n this.submitPaymentModel.duePaymentIds.push(element.duePaymentId);\r\n });\r\n if (this.submitPaymentModel.duePaymentIds.length > 0) {\r\n this.loading = true;\r\n this.service.SubmitPayment(this.submitPaymentModel, []).subscribe(\r\n data => {\r\n if (data) {\r\n this.loading = false;\r\n this.dialogRef.close(true);\r\n this.openPaymentConfirmationDialog(this.totalAmount, 0);\r\n }\r\n }, error => {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error.message,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n }\r\n\r\n openPaymentConfirmationDialog(amount, type) {\r\n const dialogRef = this.dialog.open(PaymentConfirmationDialogComponent, {\r\n width: '600px',\r\n data: { amount, type }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.service.refreshDuePaymentListSubject.next(true);\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport {CheckoutPaymentComponent} from './checkout-payment/checkout-payment.component';\r\nimport { DuePayment } from 'src/app/models/DuePayment/DuePayment';\r\nimport { DuePaymentFilterModal } from 'src/app/models/DuePayment/DuePaymentFilterModal';\r\nimport { DuePaymentSortItems } from 'src/app/models/DuePayment/DuePaymentSortItems';\r\nimport { DuePaymentStatus } from 'src/app/models/DuePayment/DuePaymentStatus';\r\nimport { PaymentRequestsService } from 'src/app/services/payment-requests.service';\r\nimport {MatSelectionList} from '@angular/material/list';\r\nimport { SignalRServiceService } from 'src/app/services/signal-rservice.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Component({\r\n selector: 'app-due-payments',\r\n templateUrl: './due-payments.component.html'\r\n})\r\n\r\nexport class DuePaymentsComponent implements OnInit {\r\n @ViewChild('allSelected', {static: false}) private allSelected: MatSelectionList;\r\n dataLoading = false;\r\n showFilter = false;\r\n showSearch = false;\r\n\r\n sortItems = [\r\n { name: '', value: null },\r\n { name: this.translate.instant('general.Created'), value: DuePaymentSortItems.Created },\r\n { name: this.translate.instant('general.Status'), value: DuePaymentSortItems.Status },\r\n {name: this.translate.instant('general.Amount'), value: DuePaymentSortItems.Amount },\r\n ];\r\n\r\n filterModel: DuePaymentFilterModal = new DuePaymentFilterModal();\r\n\r\n statusItems = [\r\n { name: '', value: null },\r\n { name: this.translate.instant('general.WaitingforApproval'), value: DuePaymentStatus.WaitingForApproval },\r\n { name: this.translate.instant('general.WaitingforPayment'), value: DuePaymentStatus.WaitingForPayment },\r\n { name: this.translate.instant('general.WaitingYourAction'), value: DuePaymentStatus.WaitingYourAction },\r\n { name: this.translate.instant('general.ApprovedPaidwithwallet'), value: DuePaymentStatus.PaidWithWallet },\r\n { name: this.translate.instant('general.ApprovedPaidwithInvoice'), value: DuePaymentStatus.PaidWithInvoice },\r\n { name: this.translate.instant('general.Declined'), value: DuePaymentStatus.Declined },\r\n ];\r\n\r\n // table\r\n pageCount = 0;\r\n manualPage = 0;\r\n recordsData: any = {};\r\n\r\n\r\n // selection\r\n duePaymentsSelection: any[];\r\n totalAmount = 0;\r\n\r\n relatedData: number;\r\n transactionType: number;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n private signalRService: SignalRServiceService,\r\n private service: PaymentRequestsService\r\n ) {\r\n this.signalRService.handleRespondPaymentEvent(this, this.updateList);\r\n this.service.refreshDuePaymentListSubject.subscribe(data => {\r\n if (data) {\r\n this.getAll(null);\r\n }\r\n });\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.getAll(null);\r\n }\r\n\r\n updateList(context) {\r\n context.getAll(null);\r\n }\r\n\r\n sortRecords(selected) {\r\n this.filterModel.sortItem = Number(selected.target.value);\r\n this.getAll(null);\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getAll(null);\r\n }\r\n }\r\n }\r\n makeFilter() {\r\n this.getAll(null);\r\n }\r\n statusFilter(selected) {\r\n this.filterModel.filterItem.status = selected;\r\n this.getAll(null);\r\n }\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getAll(null);\r\n }\r\n\r\n getAll(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n // console.log(this.filterModel);\r\n this.service.ListDuePayments(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.recordsData = data as DuePayment;\r\n // console.log(this.recordsData);\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getAll(null);\r\n }\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n onNgModelChange(event) {\r\n this.caculateAmountPayments(this.duePaymentsSelection);\r\n }\r\n\r\n caculateAmountPayments(duePaymentsSelection) {\r\n this.totalAmount = 0;\r\n duePaymentsSelection.forEach(element => {\r\n this.totalAmount += element.amount;\r\n });\r\n }\r\n deselectAll() {\r\n this.allSelected.deselectAll();\r\n }\r\n\r\n openCheckoutPaymentDialog() {\r\n const dialogRef = this.dialog.open(CheckoutPaymentComponent, {\r\n width: '600px',\r\n data: {\r\n duePayments: this.duePaymentsSelection,\r\n totalAmount: this.totalAmount,\r\n cab: this.recordsData.cabDetails\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.totalAmount = 0;\r\n this.duePaymentsSelection = [];\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nexport interface DialogData {\n amount: any;\n type: any;\n}\n@Component({\n selector: 'app-payment-confirmation-dialog',\n templateUrl: './payment-confirmation-dialog.component.html'\n})\nexport class PaymentConfirmationDialogComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public dialogRef: MatDialogRef,\n ) { }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { EntityFormComponent } from './entity-form/entity-form.component';\r\nimport { Country } from 'src/app/models/lookups/Country';\r\nimport { City } from 'src/app/models/lookups/City';\r\nimport { EntityListFilter } from 'src/app/models/entity/EntityListFilter';\r\nimport { EntityListData } from 'src/app/models/entity/EntityListData';\r\nimport { sortList } from 'src/app/models/entity/sortList';\r\nimport { EntityService } from 'src/app/services/entity.service';\r\nimport { LookupsService } from 'src/app/services/lookups.service';\r\n\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-entities',\r\n templateUrl: './entities.component.html'\r\n})\r\nexport class EntitiesComponent implements OnInit {\r\n dataLoading = false;\r\n showFilter = false;\r\n showSearch = false;\r\n\r\n countries: Country[] = [];\r\n cities: City[] = [];\r\n sortItems = [\r\n { name: '', value: null },\r\n { name: this.translate.instant('general.Name'), value: sortList.Name },\r\n { name: this.translate.instant('general.Country'), value: sortList.Country },\r\n { name: this.translate.instant('Entity.Certificates granted'), value: sortList.CertificateNumber }\r\n ];\r\n\r\n // table\r\n pageCount = 0;\r\n manualPage = 0;\r\n recordsData: any = {};\r\n\r\n filterModel: EntityListFilter = new EntityListFilter();\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n private service: EntityService,\r\n private lookupsService: LookupsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.getAll(null);\r\n this.getCountries();\r\n }\r\n\r\n getCountries() {\r\n this.lookupsService.getCountries().subscribe(\r\n data => {\r\n this.countries = data as Country[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n getCities(countryId) {\r\n this.lookupsService.getCities(countryId).subscribe(\r\n data => {\r\n this.cities = data as City[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n getAll(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.service.getAll(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.recordsData = data as EntityListData;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n sortRecords(selected) {\r\n this.filterModel.sortItems = Number(selected.target.value);\r\n this.getAll(null);\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getAll(null);\r\n }\r\n }\r\n }\r\n makeFilter() {\r\n this.getAll(null);\r\n }\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getAll(null);\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getAll(null);\r\n }\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n openFormDialog(create) {\r\n const dialogRef = this.dialog.open(EntityFormComponent, {\r\n width: '600px',\r\n data: {create}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: (create) ?\r\n this.translate.instant('messages.Entity created successfully') : this.translate.instant('messages.Entity updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getAll(null);\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Entity } from 'src/app/models/entity/Entity';\r\nimport { EntityService } from 'src/app/services/entity.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { UpdateEntityDialogComponent } from './update-entity-dialog/update-entity-dialog.component';\r\nimport { UpdateBranchesDialogComponent } from './update-branches-dialog/update-branches-dialog.component';\r\nimport { UpdateRepresentativeDialogComponent } from './update-representative-dialog/update-representative-dialog.component';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-entity-details',\r\n templateUrl: './entity-details.component.html'\r\n})\r\nexport class EntityDetailsComponent implements OnInit {\r\n dataLoading = false;\r\n representativesLoading = false;\r\n branchesLoading = false;\r\n\r\n entityId: any;\r\n details: Entity = new Entity();\r\n branchesData: any;\r\n representativesData: any;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n private activatedRoute: ActivatedRoute,\r\n private service: EntityService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.paramMap.subscribe(params => {\r\n if (params.get('id')) {\r\n this.entityId = params.get('id');\r\n this.getDetails();\r\n this.getRepresentatives();\r\n this.getBranches();\r\n }\r\n });\r\n }\r\n\r\n getDetails() {\r\n this.dataLoading = true;\r\n this.service.GetCertifiedEntitiesDetails(this.entityId).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.details = data as Entity;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n getRepresentatives() {\r\n this.representativesLoading = true;\r\n this.service.ListCertifiedEntityRepsentative(this.entityId).subscribe(\r\n data => {\r\n this.representativesLoading = false;\r\n if (data) {\r\n this.representativesData = data;\r\n }\r\n },\r\n error => {\r\n this.representativesLoading = false;\r\n });\r\n }\r\n\r\n getBranches() {\r\n this.branchesLoading = true;\r\n this.service.ListCertifiedEntityBranches(this.entityId).subscribe(\r\n data => {\r\n this.branchesLoading = false;\r\n if (data) {\r\n this.branchesData = data;\r\n }\r\n },\r\n error => {\r\n this.branchesLoading = false;\r\n });\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n openFormDialog() {\r\n const dialogRef = this.dialog.open(UpdateEntityDialogComponent, {\r\n width: '600px',\r\n data: {record: this.details}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Entity updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getDetails();\r\n });\r\n }\r\n });\r\n }\r\n\r\n openBranchesDialog() {\r\n const dialogRef = this.dialog.open(UpdateBranchesDialogComponent, {\r\n width: '600px',\r\n data: {\r\n certifiedEntityId: this.entityId,\r\n branches: this.branchesData.pageData\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Entity branches updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getBranches();\r\n });\r\n }\r\n });\r\n }\r\n\r\n openRepresantativeDialog() {\r\n const dialogRef = this.dialog.open(UpdateRepresentativeDialogComponent, {\r\n width: '600px',\r\n data: {\r\n certifiedEntityId: this.entityId,\r\n representatives: this.representativesData.pageData\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.Entity representative updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n }).then(() => {\r\n this.getRepresentatives();\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Branch } from 'src/app/models/entity/Branch';\nimport { EntityService } from 'src/app/services/entity.service';\n\nexport interface DialogData {\n certifiedEntityId: number;\n branches: Branch[];\n}\n\n@Component({\n selector: 'app-update-branches-dialog',\n templateUrl: './update-branches-dialog.component.html'\n})\nexport class UpdateBranchesDialogComponent implements OnInit {\n loading = false;\n\n activeBranchIndex = 0;\n branches: Branch[] = [new Branch()];\n deletedIds = [];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public dialogRef: MatDialogRef,\n private service: EntityService\n ) { }\n\n ngOnInit() {\n this.branches[0].certifiedEntityId = this.data.certifiedEntityId;\n if (this.data.branches && this.data.branches.length) {\n this.branches = JSON.parse(JSON.stringify(this.data.branches));\n }\n console.log(this.branches);\n }\n\n saveBranches() {\n this.loading = true;\n const branchesData = {\n tobeDeleted: this.deletedIds,\n items: this.branches\n };\n this.service.CEBranchesEdit(branchesData).subscribe(\n () => {\n this.loading = false;\n this.dialogRef.close(true);\n }, err => {\n this.loading = false;\n console.error(err);\n });\n }\n\n ////////////////// Sets list\n openNewBranch() {\n if (this.branches[this.branches.length - 1].englishName) {\n const newBranch = new Branch();\n newBranch.certifiedEntityId = this.data.certifiedEntityId;\n this.branches.push(newBranch);\n }\n this.activeBranchIndex = this.branches.length - 1;\n console.log(this.branches);\n }\n toggleBranchSet(index) {\n if (this.activeBranchIndex === index) {\n this.activeBranchIndex = undefined;\n } else {\n this.activeBranchIndex = index;\n }\n }\n pushNewBranch(branche) {\n this.branches[this.activeBranchIndex] = branche;\n this.activeBranchIndex = undefined;\n // console.log(this.branches);\n }\n deleteBranch() {\n if (this.branches[this.activeBranchIndex].certifiedEntitySiteId) {\n this.deletedIds.push(this.branches[this.activeBranchIndex].certifiedEntitySiteId);\n }\n this.branches.splice(this.activeBranchIndex, 1);\n if (!this.branches.length) {\n this.branches.push(new Branch());\n this.activeBranchIndex = this.branches.length - 1;\n } else {\n this.activeBranchIndex = undefined;\n }\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Entity } from 'src/app/models/entity/Entity';\nimport { EntityService } from 'src/app/services/entity.service';\n\nexport interface DialogData {\n record: any;\n}\n\n@Component({\n selector: 'app-update-entity-dialog',\n templateUrl: './update-entity-dialog.component.html'\n})\nexport class UpdateEntityDialogComponent implements OnInit {\n entityRecored: Entity = new Entity();\n entityLogo: File;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public dialogRef: MatDialogRef,\n private service: EntityService\n ) { }\n\n ngOnInit() {\n }\n\n saveRecored(data) {\n this.entityRecored = data.entity;\n this.entityLogo = data.logo;\n this.service.EditEntity(this.entityRecored, this.entityLogo).subscribe(\n () => {\n this.dialogRef.close(true);\n }, err => {\n console.error(err);\n // this.dialogRef.close();\n });\n }\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Representative } from 'src/app/models/entity/Representative';\nimport { EntityService } from 'src/app/services/entity.service';\n\nexport interface DialogData {\n certifiedEntityId: number;\n representatives: Representative[];\n}\n\n@Component({\n selector: 'app-update-representative-dialog',\n templateUrl: './update-representative-dialog.component.html'\n})\nexport class UpdateRepresentativeDialogComponent implements OnInit {\n loading = false;\n\n activeRepresentativeIndex = 0;\n representatives: Representative[] = [new Representative()];\n representativesError = false;\n deletedIds = [];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public dialogRef: MatDialogRef,\n private service: EntityService\n ) { }\n\n ngOnInit() {\n if (this.data.representatives && this.data.representatives.length) {\n this.representatives = JSON.parse(JSON.stringify(this.data.representatives));\n }\n }\n\n saveRepresentatives() {\n this.representativesError = false;\n if (this.representatives.length !== 2 || this.validateRepresentatives()) {\n this.representativesError = true;\n return;\n }\n this.loading = true;\n const representativesData = {\n toBeDeleted: this.deletedIds,\n items: this.representatives\n };\n this.service.CERepresentativesEdit(representativesData).subscribe(\n () => {\n this.loading = false;\n this.dialogRef.close(true);\n }, err => {\n this.loading = false;\n console.error(err);\n });\n }\n\n ///////////////////////////////////////\n openNewRepresentative() {\n if (this.representatives[this.representatives.length - 1].englishFullName) {\n this.representatives.push(new Representative());\n }\n this.activeRepresentativeIndex = this.representatives.length - 1;\n }\n toggleRepresentativeSet(index) {\n if (this.activeRepresentativeIndex === index) {\n this.activeRepresentativeIndex = undefined;\n } else {\n this.activeRepresentativeIndex = index;\n }\n }\n pushNewRepresentative(representative) {\n this.representatives[this.activeRepresentativeIndex] = representative;\n this.activeRepresentativeIndex = undefined;\n }\n deleteRepresentative() {\n if (this.representatives[this.activeRepresentativeIndex].certifiedEntitiesRepresentativesId) {\n this.deletedIds.push(this.representatives[this.activeRepresentativeIndex].certifiedEntitiesRepresentativesId);\n }\n this.representatives.splice(this.activeRepresentativeIndex, 1);\n if (!this.representatives.length) {\n this.representatives.push(new Representative());\n this.activeRepresentativeIndex = this.representatives.length - 1;\n } else {\n this.activeRepresentativeIndex = undefined;\n }\n }\n validateRepresentatives() {\n if (this.representatives.length === 2 && this.representatives[1].englishFullName) {\n return false;\n }\n return true;\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\n\nimport { Country } from 'src/app/models/lookups/Country';\nimport { City } from 'src/app/models/lookups/City';\nimport { Branch } from 'src/app/models/entity/Branch';\nimport { LookupsService } from 'src/app/services/lookups.service';\n\n@Component({\n selector: 'app-entity-branch-form',\n templateUrl: './entity-branch-form.component.html'\n})\nexport class EntityBranchFormComponent implements OnInit {\n branchFormGroup: FormGroup;\n countries: Country[] = [];\n cities: City[] = [];\n\n @Input() recored: Branch = new Branch();\n\n @Output() newRecored = new EventEmitter();\n @Output() deleteItem = new EventEmitter();\n\n constructor(\n private formBuilder: FormBuilder,\n private lookupsService: LookupsService,\n ) { }\n\n ngOnInit() {\n this.buildForm();\n }\n\n getCountries() {\n this.lookupsService.getCountries().subscribe(\n data => {\n this.countries = data as Country[];\n if (this.recored.countryId) {\n this.getCities(this.recored.countryId);\n }\n }, err => {\n console.error(err);\n });\n }\n getCities(countryId) {\n this.lookupsService.getCities(countryId).subscribe(\n data => {\n this.cities = data as City[];\n }, err => {\n console.error(err);\n });\n }\n\n buildForm() {\n this.getCountries();\n this.branchFormGroup = this.formBuilder.group({\n enName: [this.recored.englishName, [\n Validators.required,\n Validators.pattern('^[0-9a-zA-Z ]+$')\n ]\n ],\n arName: [this.recored.arabicName, [Validators.pattern('^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 _-]+$')]],\n country: [this.recored.countryId, Validators.required],\n city: [this.recored.cityId, Validators.required],\n enAddress: [this.recored.englishAddress, Validators.required],\n arAddress: [this.recored.arabicAddress],\n commercialNo: [this.recored.commercialIdentificationNumber],\n phone: [this.recored.phone, [Validators.pattern('^[+]?[0-9]{11,50}$')]]\n });\n }\n\n hasError(formGroup, controlName: string, errorName: string) {\n return formGroup.controls[controlName].hasError(errorName);\n }\n\n submitRecored() {\n if (this.branchFormGroup.valid) {\n this.recored.englishName = this.branchFormGroup.controls.enName.value;\n this.recored.arabicName = this.branchFormGroup.controls.arName.value;\n this.recored.countryId = this.branchFormGroup.controls.country.value;\n this.recored.cityId = this.branchFormGroup.controls.city.value;\n this.recored.englishAddress = this.branchFormGroup.controls.enAddress.value;\n this.recored.arabicAddress = this.branchFormGroup.controls.arAddress.value;\n this.recored.commercialIdentificationNumber = this.branchFormGroup.controls.commercialNo.value;\n this.recored.phone = this.branchFormGroup.controls.phone.value;\n this.newRecored.emit(this.recored);\n }\n }\n}\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\n\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Branch } from 'src/app/models/entity/Branch';\nimport { Representative } from 'src/app/models/entity/Representative';\nimport { EntityService } from 'src/app/services/entity.service';\nimport { Entity } from 'src/app/models/entity/Entity';\nimport { TranslateService } from '@ngx-translate/core';\n\nexport interface DialogData {\n create: boolean;\n record: any;\n}\n\n@Component({\n selector: 'app-entity-form',\n templateUrl: './entity-form.component.html'\n})\nexport class EntityFormComponent implements OnInit {\n @ViewChild('stepper', {static: false}) stepper;\n entityRecored: Entity = new Entity();\n entityLogo: File;\n\n loading = false;\n dataLoading = false;\n isUpdateUser = false;\n isSubmited = false;\n\n pageIndex = 0;\n stepsCount = 3;\n stepperPages = [\n {index: 0, title: this.translate.instant('general.Basic Info'), required: true},\n {index: 1, title: this.translate.instant('general.Branches'), required: false},\n {index: 2, title: this.translate.instant('general.Representatives'), required: true}\n ];\n\n activeBranchIndex = 0;\n branches: Branch[] = [new Branch()];\n\n activeRepresentativeIndex = 0;\n representatives: Representative[] = [new Representative()];\n representativesError = false;\n\n constructor(\n private translate: TranslateService,\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public dialogRef: MatDialogRef,\n private service: EntityService\n ) { }\n\n ngOnInit() {\n }\n\n infoFormNext(data) {\n this.stepper.next();\n this.pageIndex = this.pageIndex + 1;\n this.entityRecored = data.entity;\n this.entityLogo = data.logo;\n }\n\n saveRecored() {\n this.representativesError = false;\n if (this.representatives.length !== 2 || this.validateRepresentatives()) {\n this.representativesError = true;\n return;\n }\n this.entityRecored.certifiedEntitiesRepresentatives = this.representatives;\n\n if (this.branches.length === 1 && !this.branches[0].englishName) {\n this.branches = [];\n }\n this.entityRecored.certifiedEntitiesSites = this.branches;\n\n this.loading = true;\n this.service.AddEntity(this.entityRecored, this.entityLogo).subscribe(\n data => {\n this.loading = false;\n this.dialogRef.close(true);\n }, err => {\n console.error(err);\n // this.dialogRef.close();\n });\n }\n\n ////////////////// Sets list\n openNewBranch() {\n if (this.branches[this.branches.length - 1].englishName) {\n this.branches.push(new Branch());\n }\n this.activeBranchIndex = this.branches.length - 1;\n }\n toggleBranchSet(index) {\n if (this.activeBranchIndex === index) {\n this.activeBranchIndex = undefined;\n } else {\n this.activeBranchIndex = index;\n }\n }\n pushNewBranch(branche) {\n this.branches[this.activeBranchIndex] = branche;\n this.activeBranchIndex = undefined;\n // console.log(this.branches);\n }\n deleteBranch() {\n this.branches.splice(this.activeBranchIndex, 1);\n if (!this.branches.length) {\n this.branches.push(new Branch());\n this.activeBranchIndex = this.branches.length - 1;\n } else {\n this.activeBranchIndex = undefined;\n }\n }\n ///////////////////////////////////////\n openNewRepresentative() {\n if (this.representatives[this.representatives.length - 1].englishFullName) {\n this.representatives.push(new Representative());\n }\n this.activeRepresentativeIndex = this.representatives.length - 1;\n }\n toggleRepresentativeSet(index) {\n if (this.activeRepresentativeIndex === index) {\n this.activeRepresentativeIndex = undefined;\n } else {\n this.activeRepresentativeIndex = index;\n }\n }\n pushNewRepresentative(representative) {\n this.representatives[this.activeRepresentativeIndex] = representative;\n this.activeRepresentativeIndex = undefined;\n }\n deleteRepresentative() {\n this.representatives.splice(this.activeRepresentativeIndex, 1);\n if (!this.representatives.length) {\n this.representatives.push(new Representative());\n this.activeRepresentativeIndex = this.representatives.length - 1;\n } else {\n this.activeRepresentativeIndex = undefined;\n }\n }\n validateRepresentatives() {\n if (this.representatives.length === 2 && this.representatives[1].englishFullName) {\n return false;\n }\n return true;\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, AsyncValidatorFn, AbstractControl } from '@angular/forms';\nimport { Country } from 'src/app/models/lookups/Country';\nimport { City } from 'src/app/models/lookups/City';\nimport { Entity } from 'src/app/models/entity/Entity';\nimport { LookupsService } from 'src/app/services/lookups.service';\nimport { EntityService } from 'src/app/services/entity.service';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\n@Component({\n selector: 'app-entity-info-form',\n templateUrl: './entity-info-form.component.html'\n})\nexport class EntityInfoFormComponent implements OnInit {\n @Input() create = true;\n @Input() entity: Entity = new Entity();\n @Output() entityData = new EventEmitter<{}>();\n\n commercialNoLoader = false;\n InfoFormGroup: FormGroup;\n infoFormSubmitted = false;\n countries: Country[] = [];\n cities: City[] = [];\n public websiteReg = /(http|ftp|https):\\/\\/[\\w-]+(\\.[\\w-]+)+([\\w.,@?^=%&:\\/~+#-]*[\\w@?^=%&\\/~+#-])?/;\n\n // image file\n entityLogo: any = {};\n entityLogoSrc: string;\n maxFileSize = 0.8;\n fileTypeError = false;\n fileSizeError = false;\n\n // Edit Mode\n entityFormData: Entity = new Entity();\n editFormLoader = false;\n constructor(\n private formBuilder: FormBuilder,\n private lookupsService: LookupsService,\n private service: EntityService\n ) { }\n\n ngOnInit() {\n this.buildForm();\n }\n\n buildForm() {\n this.getCountries();\n this.InfoFormGroup = this.formBuilder.group({\n enName: ['', [\n Validators.required,\n Validators.pattern('^[0-9a-zA-Z ]+$')\n ]\n ],\n arName: ['', [Validators.pattern('^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 _-]+$')]],\n commercialNo: ['', Validators.required, [this.uniqueCENoValidator()]],\n website: ['', [Validators.pattern(this.websiteReg)]],\n email: ['', [\n Validators.required,\n Validators.email,\n Validators.pattern('[a-zA-Z0-9._]{1,}@[a-zA-Z0-9.-]{2,}[.]{1}[a-zA-Z]{2,}')\n ]\n ],\n phone: ['', [Validators.pattern('^[+]?[0-9]{11,50}$')]],\n fax: [''],\n country: ['', Validators.required],\n city: ['', Validators.required],\n enAddress: ['', Validators.required],\n arAddress: ['']\n });\n if (this.entity.certifiedEntityId) {\n this.bindDataToUpdateAccount();\n }\n }\n\n uniqueCENoValidator(): AsyncValidatorFn {\n return (control: AbstractControl): Observable<{ [key: string]: any } | null> => {\n if (control.value) { this.commercialNoLoader = true; }\n return this.service.CheckCINumber(control.value)\n .pipe(\n map(res => {\n this.commercialNoLoader = false;\n if (!this.create) { return; }\n if (res) {\n return { commercialNoExist: true };\n }\n })\n );\n };\n }\n\n getCountries() {\n this.lookupsService.getCountries().subscribe(\n data => {\n this.countries = data as Country[];\n if (!this.create) {\n this.getCities(this.entity.countryId);\n }\n }, err => {\n console.error(err);\n });\n }\n getCities(countryId) {\n this.lookupsService.getCities(countryId).subscribe(\n data => {\n this.cities = data as City[];\n }, err => {\n console.error(err);\n });\n }\n\n hasError(formGroup, controlName: string, errorName: string) {\n return formGroup.controls[controlName].hasError(errorName);\n }\n\n bindDataToUpdateAccount() {\n this.entityLogoSrc = this.entity.logo;\n this.InfoFormGroup.controls.enName.setValue(this.entity.englishName);\n this.InfoFormGroup.controls.arName.setValue(this.entity.arabicName);\n this.InfoFormGroup.controls.email.setValue(this.entity.email);\n this.InfoFormGroup.controls.country.setValue(this.entity.countryId);\n this.InfoFormGroup.controls.city.setValue(this.entity.cityId);\n this.InfoFormGroup.controls.phone.setValue(this.entity.phone);\n this.InfoFormGroup.controls.commercialNo.setValue(this.entity.commercialIdentificationNumber);\n this.InfoFormGroup.controls.website.setValue(this.entity.website);\n this.InfoFormGroup.controls.fax.setValue(this.entity.fax);\n this.InfoFormGroup.controls.enAddress.setValue(this.entity.englishAddress);\n this.InfoFormGroup.controls.arAddress.setValue(this.entity.arabicAddress);\n }\n\n submitInfoForm() {\n this.infoFormSubmitted = true;\n if (this.InfoFormGroup.valid && this.entityLogoSrc) {\n this.entityFormData = {\n certifiedEntityId: (this.entity.certifiedEntityId) ? this.entity.certifiedEntityId : -1,\n arabicName: this.InfoFormGroup.controls.arName.value,\n englishName: this.InfoFormGroup.controls.enName.value,\n commercialIdentificationNumber: this.InfoFormGroup.controls.commercialNo.value,\n website: this.InfoFormGroup.controls.website.value,\n email: this.InfoFormGroup.controls.email.value,\n phone: this.InfoFormGroup.controls.phone.value,\n fax: this.InfoFormGroup.controls.fax.value,\n countryId: this.InfoFormGroup.controls.country.value,\n cityId: this.InfoFormGroup.controls.city.value,\n englishAddress: this.InfoFormGroup.controls.enAddress.value,\n arabicAddress: this.InfoFormGroup.controls.arAddress.value\n } as Entity;\n this.entityData.emit({\n entity: this.entityFormData,\n logo: this.entityLogo\n });\n if (!this.create) {\n this.editFormLoader = true;\n }\n }\n }\n\n // File preview with validation\n changeFileListener($event): void {\n const file: File = $event.target.files[0];\n if (file && this.validateFile(file)) {\n this.readThis(file);\n this.entityLogo = file;\n } else {\n this.entityLogoSrc = undefined;\n this.entityLogo = undefined;\n }\n }\n readThis(file: File): void {\n const myReader: FileReader = new FileReader();\n myReader.readAsDataURL(file);\n myReader.onloadend = (e) => {\n this.entityLogoSrc = myReader.result as string;\n };\n }\n validateFile(file: File): any {\n if (this.fileType(file.name)) {\n this.fileTypeError = false;\n if ((file.size / (1024 * 1024)) <= this.maxFileSize) {\n this.fileSizeError = false;\n } else {\n this.fileSizeError = true;\n return false;\n }\n } else {\n this.fileTypeError = true;\n return false;\n }\n return true;\n }\n fileType(fileName): any {\n const extension = fileName.split('.').pop().toLowerCase();\n switch (extension) {\n // case 'pdf':\n // return 'pdf';\n case 'jpeg':\n case 'jpg':\n return 'jpg';\n case 'png':\n return 'png';\n // case 'doc':\n // case 'docx':\n // case 'wpd':\n // case 'tex':\n // return 'doc';\n // case 'xlsx':\n // case 'xls':\n // return 'xls';\n // case 'zip':\n // case 'rar':\n // return 'zip';\n default:\n return false;\n }\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\n\nimport { Country } from 'src/app/models/lookups/Country';\nimport { City } from 'src/app/models/lookups/City';\nimport { Representative } from 'src/app/models/entity/Representative';\nimport { LookupsService } from 'src/app/services/lookups.service';\n\n@Component({\n selector: 'app-entity-representative-form',\n templateUrl: './entity-representative-form.component.html'\n})\nexport class EntityRepresentativeFormComponent implements OnInit {\n repFormGroup: FormGroup;\n nationalities: Country[] = [];\n countries: Country[] = [];\n cities: City[] = [];\n\n @Input() recored: Representative = new Representative();\n\n @Output() newRecored = new EventEmitter();\n @Output() deleteItem = new EventEmitter();\n\n constructor(\n private formBuilder: FormBuilder,\n private lookupsService: LookupsService,\n ) { }\n\n ngOnInit() {\n this.buildForm();\n }\n\n getNationalities() {\n this.lookupsService.getNationalities().subscribe(\n data => {\n this.nationalities = data as Country[];\n }, err => {\n console.error(err);\n });\n }\n getCountries() {\n this.lookupsService.getCountries().subscribe(\n data => {\n this.countries = data as Country[];\n }, err => {\n console.error(err);\n });\n }\n getCities(countryId) {\n this.lookupsService.getCities(countryId).subscribe(\n data => {\n this.cities = data as City[];\n }, err => {\n console.error(err);\n });\n }\n buildForm() {\n this.getNationalities();\n this.getCountries();\n if (this.recored && this.recored.countryId) {\n this.getCities(this.recored.countryId);\n }\n this.repFormGroup = this.formBuilder.group({\n enName: [this.recored.englishFullName, [\n Validators.required,\n Validators.pattern('^[0-9a-zA-Z ]+$')\n ]\n ],\n arName: [this.recored.arabicFullName, [\n Validators.pattern('^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 _-]+$')\n ]\n ],\n enTitle: [this.recored.englishTitle, [\n Validators.required,\n Validators.pattern('^[0-9a-zA-Z ]+$')\n ]\n ],\n arTitle: [this.recored.arabicTitle, [\n Validators.pattern('^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 _-]+$')\n ]\n ],\n nationality: [this.recored.nationalityId, Validators.required],\n country: [this.recored.countryId, Validators.required],\n city: [this.recored.cityId, Validators.required],\n mobile: [this.recored.mobileNumber, [\n Validators.required,\n Validators.pattern('^[+]?[0-9]{11,50}$')\n ]\n ],\n phone: [this.recored.phone, [\n Validators.pattern('^[+]?[0-9]{11,50}$')\n ]\n ],\n email: [this.recored.email, [\n Validators.required,\n Validators.email,\n Validators.pattern('[a-zA-Z0-9._]{1,}@[a-zA-Z0-9.-]{2,}[.]{1}[a-zA-Z]{2,}')\n ]\n ]\n });\n }\n\n hasError(formGroup, controlName: string, errorName: string) {\n return formGroup.controls[controlName].hasError(errorName);\n }\n\n submitRecored() {\n if (this.repFormGroup.valid) {\n this.recored.englishFullName = this.repFormGroup.controls.enName.value;\n this.recored.arabicFullName = this.repFormGroup.controls.arName.value;\n this.recored.englishTitle = this.repFormGroup.controls.enTitle.value;\n this.recored.arabicTitle = this.repFormGroup.controls.arTitle.value;\n this.recored.countryId = this.repFormGroup.controls.country.value;\n this.recored.cityId = this.repFormGroup.controls.city.value;\n this.recored.email = this.repFormGroup.controls.email.value;\n this.recored.phone = this.repFormGroup.controls.phone.value;\n this.recored.mobileNumber = this.repFormGroup.controls.mobile.value;\n this.recored.nationalityId = this.repFormGroup.controls.nationality.value;\n this.newRecored.emit(this.recored);\n }\n }\n\n}\n","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { CabsService } from 'src/app/services/cabs.service';\nimport { CAB } from 'src/app/models/cabs/CAB';\nimport Swal from 'sweetalert2';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as ClassicEditor from '@ckeditor/ckeditor5-build-classic';\n\nexport interface DialogData {\n record: CAB;\n}\n\n@Component({\n selector: 'app-gac-form',\n templateUrl: './gac-form.component.html'\n})\nexport class GacFormComponent implements OnInit {\n loading = false;\n\n formGroup: FormGroup;\n isSubmitted = false;\n public websiteReg = /(http|ftp|https):\\/\\/[\\w-]+(\\.[\\w-]+)+([\\w.,@?^=%&:\\/~+#-]*[\\w@?^=%&\\/~+#-])?/;\n\n // image file\n logo: any = {};\n logoSrc: string;\n maxFileSize = 0.8;\n fileTypeError = false;\n fileSizeError = false;\n\n public Editor = ClassicEditor;\n EditorConfig = {\n placeholder: '',\n toolbar: {\n items: [\n 'heading',\n '|',\n 'bold',\n 'italic',\n '|',\n 'numberedList',\n 'bulletedList',\n '|',\n 'indent',\n 'outdent',\n '|',\n 'link',\n 'blockQuote',\n 'insertTable',\n '|',\n 'undo',\n 'redo'\n ]\n },\n language: (document.documentElement.lang === 'en') ? 'en' : 'ar'\n };\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\n public dialogRef: MatDialogRef,\n private service: CabsService,\n private formBuilder: FormBuilder,\n private translate: TranslateService\n ) { }\n\n ngOnInit() {\n this.buildForm();\n }\n\n buildForm() {\n this.logoSrc = this.data.record.logo;\n this.formGroup = this.formBuilder.group({\n englishName: [this.data.record.englishName, [\n Validators.required,\n Validators.pattern('^[0-9a-zA-Z ]+$')\n ]\n ],\n arabicName: [this.data.record.arabicName, [Validators.pattern('^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 _-]+$')]],\n email: [this.data.record.entitySiteSetting.email, [\n Validators.email,\n Validators.pattern('[a-zA-Z0-9._]{1,}@[a-zA-Z0-9.-]{2,}[.]{1}[a-zA-Z]{2,}'),\n Validators.required\n ]\n ],\n fax: [this.data.record.entitySiteSetting.fax, Validators.required],\n facebookLink: [this.data.record.entitySiteSetting.facebookLink, Validators.required],\n instagramLink: [this.data.record.entitySiteSetting.instagramLink, Validators.required],\n linkedInLink: [this.data.record.entitySiteSetting.linkedInLink, Validators.required],\n twitterLink: [this.data.record.entitySiteSetting.twitterLink, Validators.required],\n youtubeLink: [this.data.record.entitySiteSetting.youtubeLink, Validators.required],\n phoneNumber: [this.data.record.entitySiteSetting.phoneNumber, Validators.required],\n webSite: [this.data.record.entitySiteSetting.webSite, Validators.required],\n englishAboutUs: [this.data.record.entitySiteSetting.englishAboutUs, Validators.required],\n arabicAboutUs: [this.data.record.entitySiteSetting.arabicAboutUs, Validators.required],\n englishAddress: [this.data.record.entitySiteSetting.englishAddress, Validators.required],\n arabicAddress: [this.data.record.entitySiteSetting.arabicAddress, Validators.required],\n\n maximumAnonymousSearch: [this.data.record.entitySiteSetting.maximumAnonymousSearch, Validators.required],\n maximumCABSearch: [this.data.record.entitySiteSetting.maximumCABSearch, Validators.required],\n certificationCost: [this.data.record.entitySiteSetting.certificationCost, Validators.required],\n registrationCost: [this.data.record.entitySiteSetting.registrationCost, Validators.required]\n });\n }\n hasError(formGroup, controlName: string, errorName: string) {\n return formGroup.controls[controlName].hasError(errorName);\n }\n\n // File preview with validation\n changeFileListener($event): void {\n const file: File = $event.target.files[0];\n if (file && this.validateFile(file)) {\n this.readThis(file);\n this.logo = file;\n } else {\n this.logoSrc = undefined;\n this.logo = undefined;\n }\n }\n readThis(file: File): void {\n const myReader: FileReader = new FileReader();\n myReader.readAsDataURL(file);\n myReader.onloadend = (e) => {\n this.logoSrc = myReader.result as string;\n };\n }\n validateFile(file: File): any {\n if (this.fileType(file.name)) {\n this.fileTypeError = false;\n if ((file.size / (1024 * 1024)) <= this.maxFileSize) {\n this.fileSizeError = false;\n } else {\n this.fileSizeError = true;\n return false;\n }\n } else {\n this.fileTypeError = true;\n return false;\n }\n return true;\n }\n fileType(fileName): any {\n const extension = fileName.split('.').pop().toLowerCase();\n switch (extension) {\n case 'jpeg':\n case 'jpg':\n return 'jpg';\n case 'png':\n return 'png';\n default:\n return false;\n }\n }\n\n saveRecored() {\n this.isSubmitted = true;\n if (this.formGroup.valid && this.logoSrc) {\n this.loading = true;\n let formData;\n formData = {\n entityId: this.data.record.entityId,\n arabicName: this.formGroup.controls.arabicName.value,\n englishName: this.formGroup.controls.englishName.value,\n commercialIdentificationNumber: this.data.record.commercialIdentificationNumber,\n accreditationCommencementDate: this.data.record.accreditationCommencementDate.toLocaleString(),\n certificationExpirationDate: this.data.record.certificationExpirationDate.toLocaleString(),\n ABTypeIds: this.data.record.abTypeIds,\n scopeIds: this.data.record.scopeIds,\n email: this.formGroup.controls.email.value,\n countryId: this.data.record.countryId,\n cityId: this.data.record.cityId,\n englishAddress: this.formGroup.controls.englishAddress.value,\n arabicAddress: this.formGroup.controls.arabicAddress.value,\n entitySiteSetting: {\n arabicAboutUs: encodeURIComponent(this.formGroup.controls.arabicAboutUs.value),\n arabicAddress: this.formGroup.controls.arabicAddress.value,\n englishAboutUs: encodeURIComponent(this.formGroup.controls.englishAboutUs.value),\n englishAddress: this.formGroup.controls.englishAddress.value,\n email: this.formGroup.controls.email.value,\n webSite: this.formGroup.controls.webSite.value,\n phoneNumber: this.formGroup.controls.phoneNumber.value,\n fax: this.formGroup.controls.fax.value,\n facebookLink: this.formGroup.controls.facebookLink.value,\n instagramLink: this.formGroup.controls.instagramLink.value,\n linkedInLink: this.formGroup.controls.linkedInLink.value,\n twitterLink: this.formGroup.controls.twitterLink.value,\n youtubeLink: this.formGroup.controls.youtubeLink.value,\n\n maximumAnonymousSearch: this.formGroup.controls.maximumAnonymousSearch.value,\n maximumCABSearch: this.formGroup.controls.maximumCABSearch.value,\n certificationCost: this.formGroup.controls.certificationCost.value,\n registrationCost: this.formGroup.controls.registrationCost.value\n }\n };\n this.service.save(formData, this.logo).subscribe(\n () => {\n this.loading = false;\n Swal.fire({\n title: this.translate.instant('messages.Success'),\n text: this.translate.instant('gac.GAC updated successfully'),\n icon: 'success',\n confirmButtonText: this.translate.instant('messages.ok')\n });\n this.dialogRef.close(true);\n }, err => {\n this.loading = false;\n console.error(err);\n Swal.fire({\n title: this.translate.instant('messages.Error'),\n text: err.message,\n icon: 'error',\n confirmButtonText: this.translate.instant('messages.ok')\n });\n // this.dialogRef.close();\n });\n }\n }\n\n onEditorReady( editor ) {\n editor.ui.getEditableElement().parentElement.insertBefore(\n editor.ui.view.toolbar.element,\n editor.ui.getEditableElement()\n );\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { CabsService } from 'src/app/services/cabs.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { GacFormComponent } from 'src/app/features/gac/gac-form/gac-form.component';\nimport { CAB } from 'src/app/models/cabs/CAB';\n\n@Component({\n selector: 'app-gac',\n templateUrl: './gac.component.html'\n})\nexport class GacComponent implements OnInit {\n dataLoading = true;\n actionLoading = false;\n details: CAB;\n\n constructor(\n public dialog: MatDialog,\n private service: CabsService\n ) { }\n\n ngOnInit() {\n this.getDetails();\n }\n\n getDetails() {\n this.dataLoading = true;\n this.service.GetEntityProfileDetails().subscribe(\n data => {\n this.dataLoading = false;\n this.details = data as CAB;\n this.details.entitySiteSetting.englishAboutUs = decodeURIComponent(this.details.entitySiteSetting.englishAboutUs);\n this.details.entitySiteSetting.arabicAboutUs = decodeURIComponent(this.details.entitySiteSetting.arabicAboutUs);\n }, err => {\n console.error(err);\n this.dataLoading = false;\n this.details = null;\n });\n }\n\n openEditDialog() {\n const dialogRef = this.dialog.open(GacFormComponent, {\n width: '600px',\n data: {record: this.details}\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.getDetails();\n }\n });\n }\n}\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-file-manager',\r\n templateUrl: './file-manager.component.html'\r\n})\r\nexport class FileManagerComponent implements OnInit {\r\n @Output() selectedFiles = new EventEmitter<[]>();\r\n @Output() deletedFilesList = new EventEmitter<[]>();\r\n @Input() isRequired;\r\n @Input() isSubmited;\r\n @Input() label = this.translate.instant('general.Drag and drop here');\r\n // DnD setting\r\n @Input() files: any = [];\r\n @Input() docsEditable = true;\r\n @Input() maxFiles = 5;\r\n\r\n selectedfilesCount = 0;\r\n deletedFiles: any = [];\r\n validFile = true;\r\n fileMaxSiZeErorr = false;\r\n\r\n constructor(\r\n private translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n fileType(fileName) {\r\n const extension = fileName.split('.').pop().toLowerCase();\r\n switch (extension) {\r\n case 'pdf':\r\n return 'pdf';\r\n case 'jpeg':\r\n case 'jpg':\r\n return 'jpg';\r\n case 'png':\r\n return 'png';\r\n case 'doc':\r\n case 'docx':\r\n case 'wpd':\r\n case 'tex':\r\n return 'doc';\r\n case 'xlsx':\r\n case 'xls':\r\n return 'xls';\r\n case 'zip':\r\n case 'rar':\r\n return 'zip';\r\n default:\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * on file drop handler\r\n */\r\n onFileDropped($event) {\r\n this.prepareFilesList($event);\r\n }\r\n\r\n /**\r\n * handle file from browsing\r\n */\r\n fileBrowseHandler(event) {\r\n this.prepareFilesList(event.target.files);\r\n event.target.value = '';\r\n }\r\n\r\n /**\r\n * Delete file from files list\r\n * @param index (File index)\r\n */\r\n // deleteFile(index: number) {\r\n // this.files.splice(index, 1);\r\n // this.selectedfilesCount = this.files.length;\r\n // this.selectedFiles.emit(this.files);\r\n // }\r\n\r\n deleteFile(index: number, id) {\r\n if (id) {\r\n this.deletedFiles.push(id);\r\n // console.log(this.deletedFiles);\r\n }\r\n this.files.splice(index, 1);\r\n this.selectedfilesCount = this.files.length;\r\n this.selectedFiles.emit(this.files);\r\n this.deletedFilesList.emit(this.deletedFiles);\r\n }\r\n\r\n /**\r\n * Convert Files list to normal array list\r\n * @param files (Files List)\r\n */\r\n prepareFilesList(files: Array) {\r\n this.validFile = true;\r\n this.selectedfilesCount = (this.files.length + files.length);\r\n if (this.selectedfilesCount > this.maxFiles) {\r\n return;\r\n }\r\n for (const item of files) {\r\n if (this.fileType(item.name)) {\r\n this.validFile = true;\r\n } else {\r\n this.validFile = false;\r\n }\r\n\r\n // Check file and push to array files\r\n if (((item.size / (1024 * 1024)) <= 5) && (this.fileType(item.name))) {\r\n item.fileType = this.fileType(item.name);\r\n this.files.push(item);\r\n this.selectedFiles.emit(this.files);\r\n this.fileMaxSiZeErorr = false;\r\n } else {\r\n this.fileMaxSiZeErorr = true;\r\n }\r\n }\r\n // console.log('files', this.files);\r\n }\r\n\r\n /**\r\n * format bytes\r\n * @param bytes (File size in bytes)\r\n * @param decimals (Decimals point)\r\n */\r\n formatBytes(bytes, decimals) {\r\n if (bytes === 0) {\r\n return '0 Bytes';\r\n }\r\n const k = 1024;\r\n const dm = decimals <= 0 ? 0 : decimals || 2;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-files-viewer',\n templateUrl: './files-viewer.component.html'\n})\nexport class FilesViewerComponent implements OnInit {\n @Input() files: any = [];\n docsEditable = false;\n\n constructor() { }\n\n ngOnInit() {\n }\n fileType(fileName) {\n const extension = fileName.split('.').pop().toLowerCase();\n switch (extension) {\n case 'pdf':\n return 'pdf';\n case 'jpeg':\n case 'jpg':\n return 'jpg';\n case 'png':\n return 'png';\n case 'doc':\n case 'docx':\n case 'wpd':\n case 'tex':\n return 'doc';\n case 'xlsx':\n case 'xls':\n return 'xls';\n case 'zip':\n case 'rar':\n return 'zip';\n default:\n return false;\n }\n }\n /**\n * format bytes\n * @param bytes (File size in bytes)\n * @param decimals (Decimals point)\n */\n formatBytes(bytes, decimals) {\n if (bytes === 0) {\n return '0 Bytes';\n }\n const k = 1024;\n const dm = decimals <= 0 ? 0 : decimals || 2;\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\n }\n}\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { PaymentRequestRecord } from 'src/app/models/paymentRequest/PaymentRequestRecord';\r\nimport { RespondToWalletRequest } from 'src/app/models/paymentRequest/RespondToWalletRequest';\r\nimport { PaymentRequestsService } from 'src/app/services/payment-requests.service';\r\nimport Swal from 'sweetalert2';\r\n\r\nexport interface DialogData {\r\n paymentId: number;\r\n}\r\n\r\n@Component({\r\n selector: 'app-payment-request-details',\r\n templateUrl: './payment-request-details.component.html'\r\n})\r\nexport class PaymentRequestDetailsComponent implements OnInit {\r\n\r\n dataLoading = true;\r\n viewAccept = false;\r\n viewDecline = false;\r\n loading = false;\r\n\r\n recordsData: any = {};\r\n respondRequest = {} as RespondToWalletRequest;\r\n\r\n amountPaidControl = new FormControl('', Validators.required);\r\n ReasonDeclineControl = new FormControl('', Validators.required);\r\n\r\n constructor( @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n private translate: TranslateService,\r\n public dialogRef: MatDialogRef,\r\n private service: PaymentRequestsService) { }\r\n\r\n ngOnInit() {\r\n // console.log(this.data.paymentId);\r\n this.respondRequest.entityWalletTransactionId = this.data.paymentId;\r\n this.GetEntityWalletDetails(this.data.paymentId);\r\n }\r\n\r\n GetEntityWalletDetails(paymentId) {\r\n this.dataLoading = true;\r\n this.service.GetEntityWalletDetails(paymentId).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.recordsData = data as PaymentRequestRecord;\r\n // console.log(this.recordsData);\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n RespondToWalletRequest(responedType) {\r\n if (responedType) {\r\n this.viewAccept = !this.viewAccept;\r\n this.viewDecline = false;\r\n this.respondRequest.response = responedType;\r\n } else {\r\n this.viewDecline = !this.viewDecline;\r\n this.viewAccept = false;\r\n this.respondRequest.response = responedType;\r\n }\r\n }\r\n\r\n sendPaymentRequest() {\r\n // console.log(this.respondRequest);\r\n if (this.respondRequest.response) {\r\n this.respondRequest.amount = Number(this.amountPaidControl.value);\r\n } else {\r\n this.respondRequest.rejectionReason = this.ReasonDeclineControl.value;\r\n }\r\n\r\n if (this.respondRequest.amount || this.respondRequest.rejectionReason) {\r\n this.loading = true;\r\n this.service.RespondToWalletRequest(this.respondRequest).subscribe(\r\n data => {\r\n if (data) {\r\n this.loading = false;\r\n this.dialogRef.close(this.respondRequest.response ? 'accept' : 'reject');\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: error.message,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport {PaymentRequestDetailsComponent} from './payment-request-details/payment-request-details.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { RequestsFilterModel } from 'src/app/models/paymentRequest/RequestsFilterModel';\r\nimport { PaymentRequest } from 'src/app/models/paymentRequest/PaymentRequest';\r\nimport { SortItems } from 'src/app/models/paymentRequest/SortItems';\r\nimport { PaymentSlipStatus } from 'src/app/models/paymentRequest/PaymentSlipStatus';\r\nimport { PaymentRequestsService } from 'src/app/services/payment-requests.service';\r\nimport { SignalRServiceService } from 'src/app/services/signal-rservice.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-payment-requests',\r\n templateUrl: './payment-requests.component.html'\r\n})\r\n\r\nexport class PaymentRequestsComponent implements OnInit {\r\n\r\n @ViewChild('confirmationDialog', { static: true }) confirmationDialog: TemplateRef;\r\n\r\n dataLoading = false;\r\n showFilter = false;\r\n showSearch = false;\r\n\r\n statusItems = [\r\n { name: '', value: null },\r\n { name: this.translate.instant('general.WaitingforApproval'), value: PaymentSlipStatus.WaitingApproval },\r\n { name: this.translate.instant('general.ApprovedPaid'), value: PaymentSlipStatus.ApprovedByGAC },\r\n { name: this.translate.instant('general.Declined'), value: PaymentSlipStatus.RejectedByGAC },\r\n ];\r\n\r\n sortItems = [\r\n { name: '', value: null },\r\n { name: this.translate.instant('general.Created'), value: SortItems.Created },\r\n { name: this.translate.instant('general.Status'), value: SortItems.Status },\r\n ];\r\n\r\n // table\r\n pageCount = 0;\r\n manualPage = 0;\r\n recordsData: any = {};\r\n\r\n filterModel: RequestsFilterModel = new RequestsFilterModel();\r\n\r\n requestApproved: boolean;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private signalRService: SignalRServiceService,\r\n private service: PaymentRequestsService) {\r\n this.signalRService.handleNewPaymentInvoiceEvent(this, this.updateList);\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.paramMap.subscribe(params => {\r\n if (Number(params.get('id')) > 0) {\r\n this.openPaymentRequestsDialog(params.get('id'));\r\n }\r\n });\r\n this.filterModel.pageSize = 10;\r\n this.getAll(null);\r\n }\r\n\r\n updateList(context) {\r\n context.getAll(null);\r\n }\r\n\r\n sortRecords(selected) {\r\n this.filterModel.sortItem = Number(selected.target.value);\r\n this.getAll(null);\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getAll(null);\r\n }\r\n }\r\n }\r\n makeFilter() {\r\n this.getAll(null);\r\n }\r\n statusFilter(selected) {\r\n this.filterModel.filterItem.status = Number(selected);\r\n this.getAll(null);\r\n }\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getAll(null);\r\n }\r\n\r\n getAll(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n // console.log(this.filterModel);\r\n this.service.getAll(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.recordsData = data as PaymentRequest;\r\n // console.log(this.recordsData);\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getAll(null);\r\n }\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n openPaymentRequestsDialog(walletTransactionId) {\r\n const dialogRef = this.dialog.open(PaymentRequestDetailsComponent, {\r\n width: '600px',\r\n data: {paymentId: walletTransactionId}\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.requestApproved = result;\r\n this.openDialogWithTemplateRef(this.confirmationDialog);\r\n this.router.navigate(['/admin/payment']);\r\n }\r\n });\r\n }\r\n openDialogWithTemplateRef(templateRef: TemplateRef) {\r\n this.getAll(null);\r\n this.dialog.open(templateRef);\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nimport { RepresentativesFilterModel } from 'src/app/models/Representatives/RepresentativesFilterModel';\r\nimport { SortEntityUserItems } from 'src/app/models/Representatives/SortEntityUserItems';\r\nimport { statusList } from 'src/app/models/users/statusList';\r\nimport { sortList } from 'src/app/models/users/sortList';\r\nimport { CustomRoles } from 'src/app/models/Representatives/CustomRoles';\r\nimport { RepresentativesModel } from 'src/app/models/Representatives/RepresentativesModel';\r\nimport { RepresentativesService } from 'src/app/services/representatives.service';\r\nimport { CreateUserComponent } from 'src/app/features/users/create-user/create-user.component';\r\nimport Swal from 'sweetalert2';\r\nimport { SignalRServiceService } from 'src/app/services/signal-rservice.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n@Component({\r\n selector: 'app-representatives',\r\n templateUrl: './representatives.component.html'\r\n})\r\n\r\nexport class RepresentativesComponent implements OnInit {\r\n\r\n dataLoading = false;\r\n showFilter = false;\r\n showSearch = false;\r\n\r\n statusItems = [\r\n { name: '', value: null },\r\n { name: this.translate.instant('general.Active'), value: statusList.Active },\r\n { name: this.translate.instant('general.InActive'), value: statusList.InActive },\r\n { name: this.translate.instant('general.Suspended'), value: statusList.Suspended },\r\n ];\r\n\r\n customRoles = [\r\n { name: '', value: null },\r\n { name: this.translate.instant('CABs.Accountant'), value: CustomRoles.Accountant },\r\n { name: this.translate.instant('CABs.CAB Admin'), value: CustomRoles.CABAdmin },\r\n { name: this.translate.instant('CABs.CAB Communicator'), value: CustomRoles.CABCommunicator },\r\n { name: this.translate.instant('CABs.Certificate Management'), value: CustomRoles.CertificateManagement },\r\n ];\r\n\r\n sortItems = [\r\n { name: '', value: null },\r\n { name: this.translate.instant('general.City'), value: sortList.City },\r\n { name: this.translate.instant('general.Country'), value: sortList.Country },\r\n { name: this.translate.instant('general.Name'), value: sortList.Name },\r\n { name: this.translate.instant('general.Status'), value: sortList.Status },\r\n { name: this.translate.instant('general.Creation Date'), value: sortList.CreationDate },\r\n ];\r\n\r\n // table\r\n pageCount = 0;\r\n manualPage = 0;\r\n recordsData: any = {};\r\n\r\n filterModel: RepresentativesFilterModel = new RepresentativesFilterModel();\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n private signalRService: SignalRServiceService,\r\n private service: RepresentativesService) {\r\n this.signalRService.handleNewRegistrationEvent(this, this.updateList);\r\n }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.getAll(null);\r\n }\r\n\r\n updateList(context) {\r\n context.getAll(null);\r\n }\r\n\r\n sortRecords(selected) {\r\n this.filterModel.sortItems = Number(selected.target.value);\r\n this.getAll(null);\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getAll(null);\r\n }\r\n }\r\n }\r\n makeFilter() {\r\n this.getAll(null);\r\n }\r\n\r\n statusFilter(selected) {\r\n this.filterModel.filter.status = Number(selected);\r\n this.getAll(null);\r\n }\r\n\r\n roleFilter(selected) {\r\n this.filterModel.filter.role = Number(selected);\r\n this.getAll(null);\r\n }\r\n\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getAll(null);\r\n }\r\n\r\n getAll(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.service.getAll(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.recordsData = data as RepresentativesModel;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getAll(null);\r\n }\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n openCreateDialog() {\r\n const dialogRef = this.dialog.open(CreateUserComponent, {\r\n width: '600px',\r\n data: { accountType: 2 }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.getAll(null);\r\n }\r\n });\r\n }\r\n representativeStatus(representative, status) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.yes'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n const obj = {\r\n id: representative.userId,\r\n userStatus: status\r\n };\r\n this.service.updateUserStatus(obj).subscribe(\r\n data => {\r\n this.getAll(null);\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n }, err => {\r\n console.error(err);\r\n this.getAll(null);\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('messages.ok')\r\n });\r\n });\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { SearchCertificateModel } from 'src/app/models/certificates/SearchCertificateModel';\r\nimport { SearchCertificateFilterModel } from 'src/app/models/certificates/SearchCertificateFilterModel';\r\nimport { LoginType } from 'src/app/models/certificates/LoginType';\r\n\r\nimport { CertificateService } from 'src/app/services/certificate.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\n@Component({\r\n selector: 'app-search-cab',\r\n templateUrl: './search-cab.component.html'\r\n})\r\nexport class SearchCABComponent implements OnInit {\r\n\r\n dataLoading = false;\r\n isEmpty = false;\r\n searchLimit = false;\r\n makeSearch = false;\r\n\r\n filterModel: SearchCertificateFilterModel = new SearchCertificateFilterModel();\r\n\r\n recordsData: SearchCertificateModel = new SearchCertificateModel();\r\n\r\n\r\n constructor(\r\n private service: CertificateService,\r\n private route: ActivatedRoute\r\n ) { }\r\n\r\n ngOnInit() {\r\n let loginId;\r\n loginId = localStorage.getItem('loginId');\r\n if (!loginId) {\r\n loginId = new Date().toString();\r\n localStorage.setItem('loginId', loginId);\r\n }\r\n this.filterModel.fromQr = false;\r\n\r\n this.filterModel.loginType = LoginType.Web;\r\n this.filterModel.loginId = loginId;\r\n\r\n this.route.queryParams.subscribe(params => {\r\n if (params.certificateNumber) {\r\n this.filterModel.certificateNumber = params.certificateNumber;\r\n this.filterModel.fromQr = true;\r\n this.getAll();\r\n }\r\n });\r\n }\r\n\r\n getAll() {\r\n this.recordsData = new SearchCertificateModel();\r\n if (!this.filterModel.certificateNumber) { return; }\r\n this.dataLoading = true;\r\n this.makeSearch = false;\r\n this.isEmpty = false;\r\n this.searchLimit = false;\r\n this.service.GetCertificateDetails(this.filterModel).subscribe(\r\n data => {\r\n if (data) {\r\n this.dataLoading = false;\r\n this.makeSearch = true;\r\n this.isEmpty = false;\r\n this.searchLimit = false;\r\n this.recordsData = data as SearchCertificateModel;\r\n // console.log('recordsData', this.recordsData);\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n this.makeSearch = true;\r\n if (error.code === -4) {\r\n this.searchLimit = true;\r\n } else {\r\n this.isEmpty = true;\r\n }\r\n });\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n}\r\n","import { Component, OnInit, Inject, ViewChild } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators, AbstractControl, AsyncValidatorFn } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { MatSelectionList, MatSelectionListChange } from '@angular/material';\r\n\r\nimport { UsersService } from 'src/app/services/users.service';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { LookupsService } from 'src/app/services/lookups.service';\r\nimport { City } from 'src/app/models/lookups/City';\r\nimport { Permission } from 'src/app/models/lookups/Permission';\r\nimport { Country } from 'src/app/models/lookups/Country';\r\nimport { User } from 'src/app/models/users/User';\r\n\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nexport interface DialogData {\r\n userId: any;\r\n cabId: any;\r\n accountType: number; // 1 => GAC & 2 => CAB\r\n isMyProfile: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'app-create-user',\r\n templateUrl: './create-user.component.html'\r\n})\r\nexport class CreateUserComponent implements OnInit {\r\n @ViewChild(MatSelectionList, {static: false}) Roles: MatSelectionList;\r\n dataLoading = false;\r\n loading = false;\r\n isSubmitted = false;\r\n togglePermission = false;\r\n\r\n details: any;\r\n\r\n formGroup: FormGroup;\r\n countries: Country[] = [];\r\n cities: City[] = [];\r\n Nationalities: Country[] = [];\r\n permissions: Permission[] = [];\r\n // rolesControl: any[] = [];\r\n\r\n emailLoader = false;\r\n isUpdateUser = false;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialogRef: MatDialogRef,\r\n private formBuilder: FormBuilder,\r\n private authenticationService: AuthenticationService,\r\n private lookupsService: LookupsService,\r\n private service: UsersService\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.data.userId || this.data.isMyProfile) {\r\n this.getDetails();\r\n } else {\r\n this.buildForm();\r\n }\r\n }\r\n\r\n getDetails() {\r\n this.dataLoading = true;\r\n this.service.getDetails(this.data.userId).subscribe(\r\n data => {\r\n this.details = data;\r\n this.dataLoading = false;\r\n this.isUpdateUser = true;\r\n this.togglePermission = true;\r\n // console.log('data', data);\r\n\r\n this.buildForm();\r\n this.bindDataToUpdateAccount();\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n // console.log('error');\r\n });\r\n }\r\n\r\n buildForm() {\r\n this.formGroup = this.formBuilder.group({\r\n enName: ['', [\r\n Validators.required,\r\n Validators.pattern('^[0-9a-zA-Z ]+$')\r\n ]\r\n ],\r\n arName: ['', [Validators.pattern('^(?=.*[\\u0600-\\u06FF])[\\u0600-\\u06FF0-9 _-]+$')]],\r\n email: ['', [\r\n Validators.email,\r\n Validators.pattern('[a-zA-Z0-9._]{1,}@[a-zA-Z0-9.-]{2,}[.]{1}[a-zA-Z]{2,}'),\r\n Validators.required\r\n ], [this.uniqueEmailValidator()]\r\n ],\r\n country: ['', Validators.required],\r\n city: ['', Validators.required],\r\n nationality: ['', Validators.required],\r\n mobile: ['', [\r\n Validators.required,\r\n Validators.pattern('^[+]?[0-9]{11,50}$')\r\n ]\r\n ],\r\n userType: [0, Validators.required],\r\n permissions: [[], Validators.required]\r\n });\r\n this.getCountries();\r\n this.getNationalities();\r\n if (this.data.accountType === 1) {\r\n this.getPermissions();\r\n } else {\r\n this.getRoles();\r\n }\r\n }\r\n\r\n getCountries() {\r\n this.lookupsService.getCountries().subscribe(\r\n data => {\r\n this.countries = data as Country[];\r\n if (this.isUpdateUser) {\r\n this.getCities(this.details.country.id);\r\n }\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n getCities(countryId) {\r\n this.lookupsService.getCities(countryId).subscribe(\r\n data => {\r\n this.cities = data as City[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n getNationalities() {\r\n this.lookupsService.GetNationalities().subscribe(\r\n data => {\r\n this.Nationalities = data as Country[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n getRoles() {\r\n this.lookupsService.GetRoles().subscribe(\r\n data => {\r\n this.permissions = data as Permission[];\r\n if (this.Roles) {\r\n this.Roles.selectionChange.subscribe((s: MatSelectionListChange) => {\r\n if (Number(this.formGroup.controls.userType.value) === 1) {\r\n this.Roles.deselectAll();\r\n s.option.selected = true;\r\n }\r\n });\r\n }\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n getPermissions() {\r\n this.lookupsService.GetPermissions().subscribe(\r\n data => {\r\n this.permissions = data as Permission[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n updateCities(value) {\r\n this.formGroup.controls.city.setValue('');\r\n this.getCities(value);\r\n }\r\n ////////////////////////////\r\n bindDataToUpdateAccount() {\r\n const user = this.details;\r\n this.formGroup.controls.enName.setValue(user.englishFullName);\r\n this.formGroup.controls.arName.setValue(user.arabicFullName);\r\n this.formGroup.controls.email.setValue(user.email);\r\n this.formGroup.controls.country.setValue(user.country.id);\r\n this.formGroup.controls.city.setValue(user.city.id);\r\n this.formGroup.controls.mobile.setValue(user.mobile);\r\n this.formGroup.controls.nationality.setValue(user.nationality.id);\r\n this.formGroup.controls.userType.setValue(user.userType);\r\n this.selectPermissions();\r\n }\r\n selectPermissions() {\r\n const selectedPermission = [];\r\n this.details.permissions.forEach(permission => {\r\n selectedPermission.push(permission.id);\r\n });\r\n this.formGroup.controls.permissions.setValue(selectedPermission);\r\n // console.log(selectedPermission);\r\n }\r\n permissionlog() {\r\n console.log(this.formGroup.controls.permissions.value);\r\n }\r\n\r\n uniqueEmailValidator(): AsyncValidatorFn {\r\n return (control: AbstractControl): Observable<{ [key: string]: any } | null> => {\r\n if (control.value) { this.emailLoader = true; }\r\n return this.authenticationService.checkUniqueEmail(control.value)\r\n .pipe(\r\n map(res => {\r\n this.emailLoader = false;\r\n if (this.isUpdateUser) { return; }\r\n if (res) {\r\n return { emailTaken: true };\r\n }\r\n })\r\n );\r\n };\r\n }\r\n hasError(formGroup, controlName: string, errorName: string) {\r\n return formGroup.controls[controlName].hasError(errorName);\r\n }\r\n\r\n saveUser() {\r\n this.isSubmitted = true;\r\n if (this.formGroup.valid && this.permissions.length) {\r\n this.loading = true;\r\n let user;\r\n user = {\r\n email: this.formGroup.controls.email.value,\r\n arabicFullName: this.formGroup.controls.arName.value,\r\n englishFullName: this.formGroup.controls.enName.value,\r\n phone: this.formGroup.controls.mobile.value,\r\n cityid: this.formGroup.controls.city.value,\r\n nationalityId: this.formGroup.controls.nationality.value\r\n } as User;\r\n if (this.data.accountType === 1) {\r\n user.permissions = this.formGroup.controls.permissions.value;\r\n } else {\r\n user.userType = this.formGroup.controls.userType.value;\r\n user.roles = this.formGroup.controls.permissions.value;\r\n }\r\n if (this.isUpdateUser) {\r\n user.entityUserId = this.details.id;\r\n }\r\n if (this.data.cabId) {\r\n user.entityId = this.data.cabId;\r\n }\r\n this.service.saveUser(user, this.data.accountType).subscribe(\r\n () => {\r\n this.loading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: (!this.isUpdateUser) ?\r\n this.translate.instant('messages.User created successfully') : this.translate.instant('messages.Updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok'),\r\n });\r\n this.dialogRef.close(true);\r\n }, err => {\r\n this.loading = false;\r\n console.error(err);\r\n Swal.fire({\r\n title: this.translate.instant('messages.Error'),\r\n text: err.message,\r\n icon: 'error',\r\n confirmButtonText: this.translate.instant('messages.ok'),\r\n });\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { UsersService } from 'src/app/services/users.service';\r\n\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { CreateUserComponent } from '../create-user/create-user.component';\r\nimport Swal from 'sweetalert2';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-user-details',\r\n templateUrl: './user-details.component.html'\r\n})\r\nexport class UserDetailsComponent implements OnInit {\r\n dataLoading = true;\r\n actionLoading = false;\r\n userId: any;\r\n details: any;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private activatedRoute: ActivatedRoute,\r\n public dialog: MatDialog,\r\n private router: Router,\r\n private service: UsersService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.paramMap.subscribe(params => {\r\n if (params.get('id')) {\r\n this.userId = params.get('id');\r\n }\r\n });\r\n this.getDetails();\r\n }\r\n\r\n getDetails() {\r\n this.dataLoading = true;\r\n this.service.getDetails(this.userId).subscribe(\r\n data => {\r\n this.details = data;\r\n this.dataLoading = false;\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n // console.log('error');\r\n });\r\n }\r\n\r\n changeStatus(status) {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: '',\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.yes'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.actionLoading = true;\r\n const obj = {\r\n id: this.userId,\r\n userStatus: status\r\n };\r\n this.service.updateUserStatus(obj).subscribe(\r\n data => {\r\n this.actionLoading = false;\r\n this.getDetails();\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.User updated successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok'),\r\n });\r\n }, err => {\r\n this.actionLoading = false;\r\n console.error(err);\r\n });\r\n }\r\n });\r\n }\r\n\r\n deleteUser() {\r\n Swal.fire({\r\n title: this.translate.instant('messages.Are you sure?'),\r\n text: this.translate.instant('messages.Delete user'),\r\n icon: 'warning',\r\n showCancelButton: true,\r\n confirmButtonText: this.translate.instant('general.Yes delete it'),\r\n cancelButtonText: this.translate.instant('general.Cancel')\r\n }).then((result) => {\r\n if (result.value) {\r\n this.service.deleteUser(this.userId).subscribe(\r\n data => {\r\n this.actionLoading = false;\r\n Swal.fire({\r\n title: this.translate.instant('messages.Success'),\r\n text: this.translate.instant('messages.User deleted successfully'),\r\n icon: 'success',\r\n confirmButtonText: this.translate.instant('messages.ok'),\r\n });\r\n history.go(-1);\r\n // this.router.navigate(['/admig/users']);\r\n }, err => {\r\n this.actionLoading = false;\r\n console.error(err);\r\n });\r\n }\r\n });\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n openUpdateDialog() {\r\n const dialogRef = this.dialog.open(CreateUserComponent, {\r\n width: '600px',\r\n data: {\r\n userId: this.userId,\r\n accountType: this.details.accountType,\r\n isMyProfile: this.details.isMyProfile\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.getDetails();\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\nimport { ListFilter } from 'src/app/models/users/ListFilter';\r\nimport { ListData } from 'src/app/models/users/ListData';\r\nimport { sortList } from 'src/app/models/users/sortList';\r\nimport { statusList } from 'src/app/models/users/statusList';\r\nimport { UsersService } from 'src/app/services/users.service';\r\nimport { CreateUserComponent } from './create-user/create-user.component';\r\n\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LookupsService } from 'src/app/services/lookups.service';\r\nimport { Country } from 'src/app/models/lookups/Country';\r\nimport { City } from 'src/app/models/lookups/City';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-users',\r\n templateUrl: './users.component.html'\r\n})\r\nexport class UsersComponent implements OnInit {\r\n dataLoading = false;\r\n showFilter = false;\r\n showSearch = false;\r\n sortItems = [\r\n { name: '', value: null },\r\n { name: this.translate.instant('general.City'), value: sortList.City },\r\n { name: this.translate.instant('general.Country'), value: sortList.Country },\r\n { name: this.translate.instant('general.Name'), value: sortList.Name },\r\n { name: this.translate.instant('general.Status'), value: sortList.Status },\r\n { name: this.translate.instant('general.Creation Date'), value: sortList.CreationDate },\r\n ];\r\n statusList = [\r\n { name: this.translate.instant('general.Active'), value: statusList.Active },\r\n { name: this.translate.instant('general.InActive'), value: statusList.InActive },\r\n // { name: this.translate.instant('general.Suspended'), value: statusList.Suspended },\r\n ];\r\n\r\n // table\r\n pageCount = 0;\r\n manualPage = 0;\r\n recordsData: any = {};\r\n\r\n filterModel: ListFilter = new ListFilter();\r\n countries: Country[] = [];\r\n cities: City[] = [];\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n private service: UsersService,\r\n private lookupsService: LookupsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.filterModel.pageSize = 10;\r\n this.getAll(null);\r\n this.getCountries();\r\n }\r\n\r\n getAll(event) {\r\n this.dataLoading = true;\r\n if (event) {\r\n this.filterModel.pageNumber = event.pageIndex;\r\n } else {\r\n this.filterModel.pageNumber = 0;\r\n }\r\n this.service.getAll(this.filterModel).subscribe(\r\n data => {\r\n this.dataLoading = false;\r\n if (data) {\r\n this.recordsData = data as ListData;\r\n this.pageCount = Math.ceil(data.totalCount / data.pageSize);\r\n this.manualPage = Number(data.pageIndex) + 1;\r\n }\r\n },\r\n error => {\r\n this.dataLoading = false;\r\n });\r\n }\r\n\r\n getCountries() {\r\n this.lookupsService.getCountries().subscribe(\r\n data => {\r\n this.countries = data as Country[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n getCities(countryId) {\r\n this.lookupsService.getCities(countryId).subscribe(\r\n data => {\r\n this.cities = data as City[];\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n sortRecords(selected) {\r\n this.filterModel.sortItems = Number(selected.target.value);\r\n this.getAll(null);\r\n }\r\n\r\n // SEARCH\r\n makeSearch() {\r\n if (!this.showSearch) {\r\n this.showSearch = true; // Show input\r\n } else {\r\n if (this.filterModel.searchText) {\r\n this.getAll(null);\r\n }\r\n }\r\n }\r\n makeFilter() {\r\n this.getAll(null);\r\n }\r\n resetAfterClear() {\r\n if (!this.filterModel.searchText) {\r\n this.resetSearch();\r\n }\r\n }\r\n resetSearch() {\r\n this.filterModel.searchText = '';\r\n this.getAll(null);\r\n }\r\n\r\n updatePage(event) {\r\n if (event.target.value <= this.pageCount) {\r\n this.filterModel.pageNumber = event.target.value - 1;\r\n this.getAll(null);\r\n }\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n openCreateDialog() {\r\n const record = { accountType: 1 };\r\n const dialogRef = this.dialog.open(CreateUserComponent, {\r\n width: '600px',\r\n data: { accountType: 1 }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.getAll(null);\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRoute, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n public activeRout: ActivatedRoute,\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser) {\r\n let canAccess = false;\r\n const menuList = JSON.parse(localStorage.getItem('menu')) || [];\r\n menuList.push('/login');\r\n menuList.push('/admin/myprofile');\r\n menuList.push('/admin/changepassword');\r\n if (location.pathname !== '/' && location.pathname !== '/gaccert/') {\r\n menuList.forEach(item => {\r\n if (location.pathname.includes(item) === true) {\r\n canAccess = true;\r\n }\r\n });\r\n if (canAccess) {\r\n return true;\r\n }\r\n this.router.navigate(['/admin/myprofile']);\r\n }\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n}\r\n","import {\r\n Directive,\r\n Output,\r\n Input,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener\r\n } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDnd]'\r\n })\r\nexport class DndDirective {\r\n @HostBinding('class.fileover') fileOver: boolean;\r\n @Output() fileDropped = new EventEmitter();\r\n\r\n // Dragover listener\r\n @HostListener('dragover', ['$event']) onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = true;\r\n }\r\n\r\n // Dragleave listener\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n }\r\n\r\n // Drop listener\r\n @HostListener('drop', ['$event']) public ondrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.fileOver = false;\r\n let files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.fileDropped.emit(files);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n // auto logout if 401 response returned from api\r\n this.authenticationService.logout();\r\n // location.reload(true);\r\n }\r\n\r\n // const error = err.error.message || err.statusText;\r\n return throwError(err.error);\r\n }));\r\n }\r\n}\r\n","import { NativeDateAdapter } from '@angular/material';\r\nimport { MatDateFormats } from '@angular/material/core';\r\nexport class AppDateAdapter extends NativeDateAdapter {\r\n format(date: Date, displayFormat: Object): string {\r\n if (displayFormat === 'input') {\r\n let day: string = date.getDate().toString();\r\n day = +day < 10 ? '0' + day : day;\r\n let month: string = (date.getMonth() + 1).toString();\r\n month = +month < 10 ? '0' + month : month;\r\n let year = date.getFullYear();\r\n return `${day}/${month}/${year}`;\r\n }\r\n return date.toDateString();\r\n }\r\n}\r\nexport const APP_DATE_FORMATS: MatDateFormats = {\r\n parse: {\r\n dateInput: { month: 'short', year: 'numeric', day: 'numeric' },\r\n },\r\n display: {\r\n dateInput: 'input',\r\n monthYearLabel: { year: 'numeric', month: 'numeric' },\r\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric'\r\n },\r\n monthYearA11yLabel: { year: 'numeric', month: 'long' },\r\n }\r\n};","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add authorization header with jwt token if available\r\n const currentUser = this.authenticationService.currentUserValue;\r\n const language = localStorage.getItem('language') || 'en';\r\n if (currentUser && currentUser.access_token) {\r\n request = request.clone({\r\n setHeaders: {\r\n 'accept-language': language,\r\n lang: language,\r\n Authorization: `Bearer ${currentUser.access_token}`\r\n }\r\n });\r\n } else {\r\n request = request.clone({\r\n setHeaders: {\r\n 'accept-language': language,\r\n lang: language\r\n }\r\n });\r\n }\r\n this.dateReplacer(request.body);\r\n return next.handle(request);\r\n }\r\n dateReplacer(obj) {\r\n if (obj) {\r\n for (const k in obj) {\r\n if (obj.hasOwnProperty(k)) {\r\n if (obj[k] instanceof Object) {\r\n obj[k] = this.dateReplacer(obj[k]);\r\n }\r\n if (obj[k] instanceof Date) {\r\n obj[k] = new Date(`${obj[k]} UTC`);\r\n }\r\n }\r\n }\r\n return obj;\r\n }\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {A11yModule} from '@angular/cdk/a11y';\r\n// import {ClipboardModule} from '@angular/cdk/clipboard';\r\nimport {DragDropModule} from '@angular/cdk/drag-drop';\r\nimport {PortalModule} from '@angular/cdk/portal';\r\nimport {ScrollingModule} from '@angular/cdk/scrolling';\r\nimport {CdkStepperModule} from '@angular/cdk/stepper';\r\nimport {CdkTableModule} from '@angular/cdk/table';\r\nimport {CdkTreeModule} from '@angular/cdk/tree';\r\nimport {MatAutocompleteModule} from '@angular/material/autocomplete';\r\nimport {MatBadgeModule} from '@angular/material/badge';\r\nimport {MatBottomSheetModule} from '@angular/material/bottom-sheet';\r\nimport {MatButtonModule} from '@angular/material/button';\r\nimport {MatButtonToggleModule} from '@angular/material/button-toggle';\r\nimport {MatCardModule} from '@angular/material/card';\r\nimport {MatCheckboxModule} from '@angular/material/checkbox';\r\nimport {MatChipsModule} from '@angular/material/chips';\r\nimport {MatStepperModule} from '@angular/material/stepper';\r\nimport {MatDatepickerModule} from '@angular/material/datepicker';\r\nimport {MatDialogModule} from '@angular/material/dialog';\r\nimport {MatDividerModule} from '@angular/material/divider';\r\nimport {MatExpansionModule} from '@angular/material/expansion';\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 {MatMenuModule} from '@angular/material/menu';\r\nimport {MatNativeDateModule, MatRippleModule} from '@angular/material/core';\r\nimport {MatPaginatorModule} from '@angular/material/paginator';\r\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\r\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\r\nimport {MatRadioModule} from '@angular/material/radio';\r\nimport {MatSelectModule} from '@angular/material/select';\r\nimport {MatSidenavModule} from '@angular/material/sidenav';\r\nimport {MatSliderModule} from '@angular/material/slider';\r\nimport {MatSlideToggleModule} from '@angular/material/slide-toggle';\r\nimport {MatSnackBarModule} from '@angular/material/snack-bar';\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 {MatTreeModule} from '@angular/material/tree';\r\n\r\n@NgModule({\r\n exports: [\r\n A11yModule,\r\n // ClipboardModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ScrollingModule,\r\n ]\r\n})\r\nexport class DemoMaterialModule {}\r\n\r\n\r\n/** Copyright 2019 Google LLC. All Rights Reserved.\r\n Use of this source code is governed by an MIT-style license that\r\n can be found in the LICENSE file at http://angular.io/license */","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appOnlynumber]'\r\n})\r\nexport class OnlynumberDirective {\r\n\r\n private navigationKeys = [\r\n 'Backspace',\r\n 'Delete',\r\n 'Tab',\r\n 'Escape',\r\n 'Enter',\r\n 'Home',\r\n 'End',\r\n 'ArrowLeft',\r\n 'ArrowRight',\r\n 'Clear',\r\n 'Copy',\r\n 'Paste'\r\n ];\r\n inputElement: HTMLElement;\r\n constructor(public el: ElementRef) {\r\n this.inputElement = el.nativeElement;\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(e: KeyboardEvent) {\r\n if (\r\n this.navigationKeys.indexOf(e.key) > -1 || // Allow: navigation keys: backspace, delete, arrows etc.\r\n (e.key === 'a' && e.ctrlKey === true) || // Allow: Ctrl+A\r\n (e.key === 'c' && e.ctrlKey === true) || // Allow: Ctrl+C\r\n (e.key === 'v' && e.ctrlKey === true) || // Allow: Ctrl+V\r\n (e.key === 'x' && e.ctrlKey === true) || // Allow: Ctrl+X\r\n (e.key === 'a' && e.metaKey === true) || // Allow: Cmd+A (Mac)\r\n (e.key === 'c' && e.metaKey === true) || // Allow: Cmd+C (Mac)\r\n (e.key === 'v' && e.metaKey === true) || // Allow: Cmd+V (Mac)\r\n (e.key === 'x' && e.metaKey === true) // Allow: Cmd+X (Mac)\r\n ) {\r\n // let it happen, don't do anything\r\n return;\r\n }\r\n // Ensure that it is a number and stop the keypress\r\n if (\r\n (e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) &&\r\n (e.keyCode < 96 || e.keyCode > 105)\r\n ) {\r\n e.preventDefault();\r\n }\r\n }\r\n\r\n @HostListener('paste', ['$event'])\r\n onPaste(event: ClipboardEvent) {\r\n event.preventDefault();\r\n const pastedInput: string = event.clipboardData\r\n .getData('text/plain')\r\n .replace(/\\D/g, ''); // get a digit-only string\r\n document.execCommand('insertText', false, pastedInput);\r\n }\r\n\r\n @HostListener('drop', ['$event'])\r\n onDrop(event: DragEvent) {\r\n event.preventDefault();\r\n const textData = event.dataTransfer.getData('text').replace(/\\D/g, '');\r\n this.inputElement.focus();\r\n document.execCommand('insertText', false, textData);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Pipe({\r\n name: 'sanitizeHtml'\r\n})\r\nexport class SanitizeHtmlPipePipe implements PipeTransform {\r\n\r\n constructor(private _sanitizer: DomSanitizer) {\r\n }\r\n\r\n transform(v: string): SafeHtml { \r\n return this._sanitizer.bypassSecurityTrustHtml(v);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'shortName'\r\n})\r\nexport class ShortNamePipe implements PipeTransform {\r\n transform(name: string): string {\r\n if (!name) { return ''; }\r\n let shortName = '';\r\n const initials = name.split(' ') || [];\r\n if (initials[0]) {\r\n shortName += initials[0][0];\r\n }\r\n if (initials[1]) {\r\n shortName += initials[1][0];\r\n }\r\n shortName = shortName.toUpperCase();\r\n return shortName;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-admin-layout',\n templateUrl: './admin-layout.component.html'\n})\nexport class AdminLayoutComponent implements OnInit {\n toggleSide = false;\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit, HostListener, Output, EventEmitter, NgZone } from '@angular/core';\r\nimport { User } from 'src/app/models/user/user';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { NotificationsService } from 'src/app/services/notifications.service';\r\nimport { NotificationsSearchModel } from 'src/app/Models/notification/NotificationsSearchModel';\r\nimport { Notification } from 'src/app/Models/notification/Notification';\r\nimport { SignalRServiceService } from 'src/app/services/signal-rservice.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ChooseInvoicesComponent } from 'src/app/features/due-payments/choose-invoices/choose-invoices.component';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html'\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n language = localStorage.getItem('language') || 'en';\r\n isArabic = false;\r\n\r\n @Output() sidebarTrigger = new EventEmitter();\r\n notificationNumber: number;\r\n currentUser = new User();\r\n userMenu = false;\r\n shouldShow = false;\r\n\r\n notifLoading = false;\r\n pageNumber = 0;\r\n pageSize = 10;\r\n pageCount: number;\r\n notificationMenu = false;\r\n notificationsResult: any = {\r\n unSeenNotificationsCount: 0,\r\n totalCount: 0\r\n };\r\n notificationsList: Array = [];\r\n NotificationsObject: NotificationsSearchModel = new NotificationsSearchModel();\r\n\r\n constructor(\r\n public zone: NgZone,\r\n private router: Router,\r\n public translate: TranslateService,\r\n private authenticationService: AuthenticationService,\r\n private signalRService: SignalRServiceService,\r\n private snackBar: MatSnackBar,\r\n private notificationsService: NotificationsService,\r\n public dialog: MatDialog\r\n ) {\r\n this.currentUser = this.authenticationService.currentUserValue;\r\n this.getNotifications(false);\r\n this.signalRService.buildConnection();\r\n this.signalRService.handleChangeNotificationCountEvent(this, this.updateNotification);\r\n\r\n translate.addLangs(['en', 'ar']);\r\n translate.setDefaultLang('en');\r\n translate.use(this.language);\r\n if (this.language === 'en') { this.isArabic = false; }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n updateNotification(context) {\r\n context.zone.run(() => {\r\n context.getNotifications(true);\r\n context.openSnackBar(context.translate.instant('general.You have a new notification'));\r\n });\r\n }\r\n openSnackBar(msg) {\r\n this.snackBar.open(msg, '✖', { duration: 10000, horizontalPosition: 'end', verticalPosition: 'bottom' });\r\n }\r\n\r\n changeLanguage() {\r\n if (this.language === 'en') {\r\n localStorage.setItem('language', 'ar');\r\n } else {\r\n localStorage.setItem('language', 'en');\r\n }\r\n window.location.reload();\r\n }\r\n\r\n logout() {\r\n this.authenticationService.logout();\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n toggleSearchBar() {\r\n this.shouldShow = !this.shouldShow;\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n openNotificationPanel() {\r\n this.notificationMenu = !this.notificationMenu;\r\n this.userMenu = false;\r\n this.updateNotificationsSeenStatus();\r\n }\r\n getNextPage() {\r\n if (this.pageNumber < this.pageCount - 1) {\r\n this.pageNumber += 1;\r\n this.getNotifications(false);\r\n }\r\n }\r\n getNotifications(update) {\r\n if (update) {\r\n this.pageNumber = 0;\r\n this.notificationsList = [];\r\n }\r\n this.notifLoading = true;\r\n this.NotificationsObject.pageSize = this.pageSize;\r\n this.NotificationsObject.pageNumber = this.pageNumber;\r\n this.notificationsService.GetNotifications(this.NotificationsObject).subscribe(\r\n result => {\r\n this.notifLoading = false;\r\n this.notificationsResult = result;\r\n this.pageCount = Math.ceil(this.notificationsResult.totalCount / this.pageSize);\r\n this.notificationsList = this.notificationsList.concat(this.notificationsResult.pageData);\r\n // console.log(this.notificationsList);\r\n }, err => {\r\n this.notifLoading = false;\r\n console.error(err);\r\n });\r\n }\r\n updateNotificationsSeenStatus() {\r\n this.notificationsService.SeeNotifications().subscribe(\r\n result => {\r\n this.notificationsResult.unSeenNotificationsCount = 0;\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n\r\n @HostListener('window:keydown', ['$event']) handleKeyboardEvent(event: KeyboardEvent) {\r\n if (event.key === 'Escape') {\r\n this.closeOpenedDrop();\r\n }\r\n }\r\n @HostListener('document:click', ['$event']) onDocumentClick(event: MouseEvent) {\r\n if (event.target === document.getElementById('popOverlay')) {\r\n this.closeOpenedDrop();\r\n }\r\n }\r\n closeOpenedDrop() {\r\n this.userMenu = false;\r\n this.shouldShow = false;\r\n this.notificationMenu = false;\r\n }\r\n\r\n openChooseInvoicesDialog(event, relatedData, transactionType) {\r\n event.preventDefault();\r\n console.log(relatedData, transactionType);\r\n const dialogRef = this.dialog.open(ChooseInvoicesComponent, {\r\n width: '600px',\r\n data: {\r\n relatedData,\r\n transactionType\r\n }\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n // this.openDialogWithTemplateRef(this.confirmationDialog);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { Router } from '@angular/router';\r\nimport { User } from 'src/app/models/user/user';\r\nimport { LookupsService } from 'src/app/services/lookups.service';\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html'\r\n})\r\nexport class SideBarComponent implements OnInit {\r\n @Input() toggleSide;\r\n @Output() sidebarTrigger = new EventEmitter();\r\n menuItems: any[] = [];\r\n // shouldOpenMenu = false;\r\n openRequestsSub = false;\r\n openProfileRequestsSub = false;\r\n openConfigSub = false;\r\n openInnerSub = false;\r\n unseenMessages: any;\r\n currentUser = new User();\r\n constructor(\r\n private lookupsService: LookupsService,\r\n private authenticationService: AuthenticationService,\r\n private router: Router) {\r\n this.currentUser = this.authenticationService.currentUserValue;\r\n }\r\n\r\n ngOnInit() {\r\n this.GetMenu();\r\n }\r\n\r\n closeSubMenus() {\r\n this.menuItems.forEach(item => {\r\n item.openSub = false;\r\n });\r\n }\r\n\r\n GetMenu() {\r\n this.lookupsService.GetMenu().subscribe(\r\n result => {\r\n this.menuItems = result as [];\r\n this.menuItems.map((item) => {\r\n item.openSub = false;\r\n });\r\n\r\n // access user links\r\n const allowedMenu = [];\r\n this.menuItems.forEach(link => {\r\n allowedMenu.push(link.url);\r\n });\r\n localStorage.setItem('menu', JSON.stringify(allowedMenu));\r\n }, err => {\r\n console.error(err);\r\n });\r\n }\r\n logout() {\r\n this.authenticationService.logout();\r\n this.router.navigate(['/login']);\r\n }\r\n\r\n initName(name) {\r\n if (!name) { return ''; }\r\n let initials = name.match(/\\b\\w/g) || [];\r\n initials = ((initials.shift() || '') + (initials.pop() || '')).toUpperCase();\r\n return initials;\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-basic-layout',\n templateUrl: './basic-layout.component.html'\n})\nexport class BasicLayoutComponent implements OnInit {\n language = localStorage.getItem('language') || 'en';\n\n constructor() { }\n\n ngOnInit() {\n }\n\n changeLanguage() {\n if (this.language === 'en') {\n localStorage.setItem('language', 'ar');\n } else {\n localStorage.setItem('language', 'en');\n }\n window.location.reload();\n }\n\n}\n","export class AnnouncementModel {\r\n cabsIds: number[] = new Array();\r\n text: string;\r\n}\r\n","export class AnnouncementsFilterModel {\r\n pageSize: number;\r\n pageNumber: number;\r\n searchText: string;\r\n filter = {} as {\r\n text?: string;\r\n cabsIds: number[];\r\n };\r\n}\r\n","import { DuePaymentSortItems } from './DuePaymentSortItems';\r\nimport { DuePaymentStatus } from './DuePaymentStatus';\r\nexport class DuePaymentFilterModal {\r\n sortItem: DuePaymentSortItems;\r\n pageSize: number;\r\n pageNumber: number;\r\n searchText: string;\r\n filterItem = {} as {\r\n status: number;\r\n from: Date;\r\n to: Date;\r\n };\r\n}\r\n","export enum DuePaymentSortItems {\r\n Created,\r\n Status,\r\n Amount\r\n}\r\n","export enum DuePaymentStatus {\r\n WaitingForApproval,\r\n WaitingForPayment,\r\n PaidWithWallet,\r\n PaidWithInvoice,\r\n Declined,\r\n WaitingYourAction\r\n}\r\n","export enum EntityWalletTransactionType {\r\n FromWallet,\r\n FromDuePayment\r\n}\r\n","import { EntityWalletTransactionType } from './EntityWalletTransactionType';\r\nimport { PaymentMethod } from './PaymentMethod';\r\nexport class SubmitPaymentModel {\r\n duePaymentIds: any[] = new Array();\r\n transactionType: EntityWalletTransactionType;\r\n paymentMethod: PaymentMethod;\r\n totalPaymentAmount: number;\r\n}\r\n","export enum CustomRoles{\r\n CABAdmin = 5,\r\n CABCommunicator = 6,\r\n CertificateManagement = 7,\r\n Accountant = 4,\r\n}\r\n","import { SortEntityUserItems } from './SortEntityUserItems';\r\nimport { UserStatus } from './UserStatus';\r\nimport { CustomRoles } from './CustomRoles';\r\nexport class RepresentativesFilterModel {\r\n pageNumber: number;\r\n pageSize: number;\r\n sortItems: SortEntityUserItems;\r\n searchText: string;\r\n filter = {} as {\r\n status: UserStatus;\r\n CreationDateFrom: Date;\r\n CreationDateTo: Date;\r\n role: CustomRoles;\r\n };\r\n}\r\n","export class LoginModel {\r\n userName: string;\r\n password: number;\r\n}\r\n","import { sortList } from './sortList';\r\nexport class ListFilter {\r\n pageSize: number;\r\n pageNumber: number;\r\n sortItems: sortList;\r\n searchText: string;\r\n filter = {} as {\r\n countries: string;\r\n cities: number[];\r\n status: number;\r\n expirationDateFrom: string;\r\n expirationDateTo: string;\r\n };\r\n}\r\n","export enum sortList {\r\n Country = 0,\r\n Name = 1,\r\n Status = 2\r\n}\r\n","export enum statusList {\r\n WaitingForPayment = 1,\r\n WaitingPaymentApproval = 2,\r\n Active = 3,\r\n InActive= 4,\r\n Suspended = 5,\r\n Expired = 6,\r\n Withdrawn = 7\r\n}\r\n","import { sortList } from './sortList';\r\nimport { statusList } from './statusList';\r\nexport class CertificateListFilter {\r\n pageSize: number;\r\n pageNumber: number;\r\n sortItems: sortList;\r\n searchText: string;\r\n CABId: number;\r\n certifiedEntityId: number;\r\n filter = {} as {\r\n certificateNumber: string;\r\n status: statusList;\r\n scopes: string;\r\n issueDateFrom: string;\r\n issueDateTo: string;\r\n expirationDateFrom: string;\r\n expirationDateTo: string;\r\n };\r\n}\r\n","export enum LoginType{\r\n Mobile = 0,\r\n Web = 1,\r\n CAB = 2\r\n}\r\n","import { LoginType } from './LoginType';\r\nexport class SearchCertificateFilterModel {\r\n certificateNumber: string;\r\n loginId: string;\r\n loginType: LoginType;\r\n fromQr: boolean;\r\n}\r\n","export class SearchCertificateModel {\r\n certifiedEntityId: number;\r\n ABTypeId: number;\r\n scopes: any[];\r\n authorizedOfficerId: number;\r\n certifiedEntityLogo: string;\r\n certificateDocument = {} as {\r\n attachmentId: number;\r\n groupEntityId: number;\r\n path: string;\r\n name: string;\r\n size: number;\r\n contentType: string;\r\n };\r\n certificateAuthenticationDocument:null;\r\n certificateNumber: string;\r\n scopeNames: any[]\r\n canEdit: boolean;\r\n canChangeStatus: boolean;\r\n representives= {} as {\r\n isAssignedToCertificate: boolean;\r\n representiveName: string;\r\n representiveTitle: string;\r\n }[];\r\n created: Date;\r\n issueingDate: Date;\r\n expirationDate: Date;\r\n status= {} as {\r\n text: string;\r\n value: number;\r\n };\r\n certifiedEntity = {} as {\r\n certificatesCount: number;\r\n certifiedEntityId: number;\r\n arabicName: string;\r\n englishName: string;\r\n commercialIdentificationNumber: string;\r\n logoId: null;\r\n cityId: number;\r\n countryId: number;\r\n arabicAddress: string;\r\n address: string;\r\n englishAddress: string;\r\n email: string;\r\n logo: string;\r\n phone: string;\r\n fax: string;\r\n website: string;\r\n certifiedEntitiesRepresentatives: null;\r\n certifiedEntitiesSites: null\r\n\r\n };\r\n cabDetails = {} as {\r\n entityId: number;\r\n name: string;\r\n arabicName: string;\r\n englishName: string;\r\n commercialIdentificationNumber: string;\r\n accreditationCommencementDate: Date;\r\n certificationExpirationDate: Date;\r\n cityId : number;\r\n cityName: string;\r\n scopeIds: [];\r\n scopes: [];\r\n abTypeIds: [];\r\n abTypes: [];\r\n email: string;\r\n phone: string;\r\n logo: string;\r\n website: string;\r\n address: string;\r\n arabicAddress: string;\r\n englishAddress: string;\r\n fax: string;\r\n };\r\n branchNames: any[];\r\n}\r\n","export enum sortList {\r\n CertificateNumber = 0,\r\n Scope = 1,\r\n IssueDate = 2,\r\n ExpirationDate = 3,\r\n Status = 4,\r\n Entity = 5\r\n}\r\n","export enum statusList {\r\n New = 0,\r\n GeneratedInvoice = 1,\r\n PaidDuePayment = 2,\r\n AuthenticationReport = 3,\r\n Active = 4,\r\n Suspended = 5,\r\n Expired = 6\r\n}\r\n","export class Config {\r\n public static localhost = 'http://localhost:4099/';\r\n public static devUrl = 'https://dev.expertapps.com.sa';\r\n public static testUrl = 'https://test.expertapps.com.sa';\r\n public static demodevUrl = 'https://dev.mosandah.com.sa';\r\n public static demoUrl = 'https://demo.mosandah.com.sa';\r\n public static proUrl = 'https://mscertificatesapi.gac.org.sa';\r\n\r\n public static currentEnv = Config.proUrl;\r\n // public static baseUrl = Config.currentEnv + '/gaccertfe';\r\n public static baseUrl = Config.currentEnv;\r\n\r\n public static apiUrl = Config.baseUrl + '/api';\r\n public static loginUrl = Config.baseUrl + '/oauth/token';\r\n public static adminApiUrl = Config.baseUrl + '/api/admin';\r\n // public static signalRUrl = Config.currentEnv + '/gaccertslr';\r\n public static signalRUrl = 'https://mscertificatesslr.gac.org.sa';\r\n // public static signalRUrl =\r\n // (Config.currentEnv !== Config.demoUrl) ? Config.currentEnv + '/egacslr' : Config.currentEnv + '/gaccertslr';\r\n public static siteTitle = 'GAC';\r\n\r\n public static frontUrl = Config.currentEnv + '/gaccert';\r\n // public static frontUrl = Config.currentEnv;\r\n}\r\n","import { ConversationMessagesRecord } from './ConversationMessagesRecord';\r\nexport class ConversationMessages {\r\n totalCount: number;\r\n pageSize: number;\r\n pageIndex: number;\r\n entityName: string;\r\n entityLogo: string;\r\n pageData: ConversationMessagesRecord[] = new Array();\r\n}\r\n","export class ConversationsFilterModal {\r\n ConversationId: number;\r\n pageSize: number;\r\n pageNumber: number;\r\n}\r\n","import { ConversationsRecord } from './ConversationsRecord';\r\nexport class ConversationsModel {\r\n pageSize: number;\r\n pageIndex: number;\r\n totalCount: number;\r\n canCreate: boolean;\r\n pageData: ConversationsRecord[] = new Array();\r\n}\r\n","\r\nexport class NewMessageModel {\r\n ConversationId: number;\r\n text: string;\r\n}\r\n","export class Branch {\r\n certifiedEntityId: number;\r\n certifiedEntitySiteId: number;\r\n arabicName: string;\r\n englishName: string;\r\n arabicAddress: string;\r\n englishAddress: string;\r\n phone: string;\r\n countryId: number;\r\n cityId: number;\r\n commercialIdentificationNumber: string;\r\n}\r\n","import { Branch } from './Branch';\r\nimport { Representative } from './Representative';\r\nexport class Entity {\r\n certifiedEntityId: number;\r\n logo: string;\r\n arabicName: string;\r\n englishName: string;\r\n certificatesCount: number;\r\n commercialIdentificationNumber: string;\r\n website: string;\r\n email: string;\r\n phone: string;\r\n fax: string;\r\n countryId: number;\r\n cityId: number;\r\n englishAddress: string;\r\n arabicAddress: string;\r\n certifiedEntitiesRepresentatives: Representative[];\r\n certifiedEntitiesSites: Branch[];\r\n}\r\n","import { sortList } from './sortList';\r\nexport class EntityListFilter {\r\n pageSize: number;\r\n pageNumber: number;\r\n sortItems: sortList;\r\n searchText: string;\r\n cabEntityId: number;\r\n filter = {} as {\r\n name: string;\r\n commercialIdentificationNumber: number;\r\n countries: number[];\r\n cities: number[];\r\n certificateFrom: string;\r\n certificateTo: string;\r\n };\r\n}\r\n","export class Representative {\r\n certifiedEntitySiteId: number;\r\n certifiedEntitiesRepresentativesId: number;\r\n arabicFullName: string;\r\n englishFullName: string;\r\n arabicTitle: string;\r\n englishTitle: string;\r\n nationalityId: number;\r\n countryId: number;\r\n cityId: number;\r\n email: string;\r\n phone: string;\r\n mobileNumber: string;\r\n}\r\n","export enum sortList {\r\n Country = 0,\r\n Name = 1,\r\n CertificateNumber = 2\r\n}\r\n","export class LanguageRow {\r\n nameEn: string;\r\n nameFr: string;\r\n id: number;\r\n referenceCount?: number;\r\n}\r\n","export class LookupsFilterModel {\r\n pageSize: number;\r\n pageNumber: number;\r\n searchText?: string;\r\n totalCount: number;\r\n ParentId?: number;\r\n}\r\n","import { Specializations } from '../lookupsManagement/Specializations';\r\n\r\nexport class SectorDetails {\r\n id: number;\r\n nameEn: string;\r\n nameFr: string;\r\n referenceCount: number;\r\n specializations: Specializations[] = [];\r\n}\r\n","import { Details } from './Details';\r\nexport class SectorModel {\r\n nameEn: string;\r\n nameFr: string;\r\n details: Details[] = [];\r\n}\r\n","import { Specializations } from './Specializations';\r\nexport class SectorUpdatedModel {\r\n id: number;\r\n nameEn: string;\r\n nameFr: string;\r\n SpecializationsToDeleted: number[] = [];\r\n specializations: Specializations[] = [];\r\n}\r\n","import { ChildsModel } from '../lookupsManagement/ChildsModel';\r\nexport class oneRecord {\r\n arabicName: string;\r\n englishName: string;\r\n id: number;\r\n childs: ChildsModel[];\r\n parentId?: number;\r\n}\r\n","\r\nexport enum PaymentSlipStatus {\r\n WaitingApproval,\r\n ApprovedByGAC,\r\n RejectedByGAC\r\n}\r\n","import { SortItems } from './SortItems';\r\n// import { PaymentSlipStatus } from './PaymentSlipStatus';\r\nexport class RequestsFilterModel {\r\n sortItem: SortItems;\r\n pageSize: number;\r\n pageNumber: number;\r\n searchText: string;\r\n filterItem = {} as {\r\n status: number;\r\n from: Date;\r\n to: Date;\r\n };\r\n}\r\n","export enum SortItems {\r\n Created,\r\n Status\r\n}\r\n","export class User {\r\n id: string;\r\n fullName: string;\r\n email: string;\r\n username: string;\r\n password: string;\r\n token: string;\r\n role: string;\r\n profilePicture: string;\r\n // tslint:disable-next-line: variable-name\r\n access_token: string;\r\n permissions: string[];\r\n}\r\n","import { sortList } from './sortList';\r\nexport class ListFilter {\r\n pageSize: number;\r\n pageNumber: number;\r\n sortItems: sortList;\r\n searchText: string;\r\n filter = {} as {\r\n countries: string;\r\n cities: number[];\r\n status: number;\r\n expirationDateFrom: string;\r\n expirationDateTo: string;\r\n };\r\n}\r\n","export enum sortList {\r\n City = 0,\r\n Country = 1,\r\n Name = 2,\r\n Status = 3,\r\n CreationDate = 4\r\n}\r\n","export enum statusList {\r\n InActive= 0,\r\n Active= 1,\r\n Suspended= 2\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../models/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AnnouncementsService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getAll(filter): any {\r\n return this.http.post(`${Config.apiUrl}/Announcement/ListAnnouncement`, filter);\r\n }\r\n ListEntities(filter): any {\r\n return this.http.post(`${Config.apiUrl}/Entity/ListEntities`, filter);\r\n }\r\n\r\n LoadEntitiesByCountry() {\r\n return this.http.get(`${Config.apiUrl}/Entity/LoadEntitiesByCountry`);\r\n }\r\n\r\n LoadEntitiesForDiscussions() {\r\n return this.http.get(`${Config.apiUrl}/Entity/LoadEntitiesForDiscussions`);\r\n }\r\n \r\n addAnnouncements(obj) {\r\n return this.http.post(`${Config.apiUrl}/Announcement/Add`, obj);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map, first } from 'rxjs/operators';\r\n\r\nimport { User } from '../models/user/user';\r\nimport { ExpertRegister } from '../models/auth/Expert-register';\r\nimport { EenterpriseRegister } from '../models/auth/Enterprise-register';\r\nimport { Config } from '../models/config';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService {\r\n public currentUserSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n public authUser: any;\r\n constructor(private http: HttpClient, private router: Router) {\r\n this.currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('adminUser')));\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n }\r\n\r\n public get currentUserValue(): User {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n login(email, password) {\r\n const headers = new HttpHeaders({\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n });\r\n // tslint:disable-next-line: max-line-length\r\n const code = encodeURIComponent('qWAAq+lmFSIcn2NMVRfcwPHzHivAGWdfbrgoniWvbL/1DZ+izmy4vWDDFW6nLZNn') + '&client_secret=' + encodeURIComponent('DPdU9mr4pHn3LYZu9jMfEvdP/fXCmsER5pABU4W4srApiFRGQHMvXEm/sBqcoVb1');\r\n // tslint:disable-next-line: max-line-length\r\n return this.http.post(`${Config.loginUrl}`, 'username=' + email + '&password=' + password + '&grant_type=password&client_id=' + code, { headers })\r\n .pipe(map(user => {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n // localStorage.setItem('currentUser', JSON.stringify(user));\r\n this.currentUserSubject.next(user);\r\n // console.log(user);\r\n this.authUser = user;\r\n this.getUserProfile();\r\n return user;\r\n }));\r\n }\r\n getUserProfile() {\r\n const user = this.currentUserValue;\r\n this.http.get(`${Config.apiUrl}/account/UserProfile`).pipe(first())\r\n .subscribe((data: any) => {\r\n user.email = data.email;\r\n user.fullName = data.name;\r\n localStorage.setItem('adminUser', JSON.stringify(user));\r\n this.currentUserSubject.next(user);\r\n window.location.reload();\r\n return user;\r\n },\r\n error => {\r\n //\r\n });\r\n }\r\n logout() {\r\n // remove user from local storage and set current user to null\r\n localStorage.removeItem('adminUser');\r\n localStorage.removeItem('menu');\r\n this.currentUserSubject.next(null);\r\n this.router.navigate(['/login']);\r\n }\r\n checkUniqueEmail(email) {\r\n return this.http.get(`${Config.apiUrl}/account/CheckEmailExists?email=` + email);\r\n }\r\n forgetPassword(email) {\r\n return this.http.get(`${Config.apiUrl}/EntityUser/ForgetPassword?email=` + email);\r\n }\r\n resetPassword(userId, code, newPassword) {\r\n return this.http.post(`${Config.apiUrl}/EntityUser/ResetPassword`, { userId, token: code, newPassword });\r\n }\r\n ChangePassword(oldPassword, newPassword) {\r\n return this.http.post(`${Config.apiUrl}/EntityUser/ChangePassword`, { oldPassword, newPassword });\r\n }\r\n checkResetPasswordLink(userId, code) {\r\n return this.http.post(`${Config.apiUrl}/EntityUser/VerifyToken`, { userId, token: code });\r\n }\r\n confrimEmail(userId, code) {\r\n return this.http.get(`${Config.apiUrl}/EntityUser/ConfirmEmail?userId=` + userId + '&code=' + encodeURIComponent(code));\r\n }\r\n RegisterEntityUser(obj): any {\r\n return this.http.post(`${Config.apiUrl}/EntityUser/RegisterEntityUser`, obj);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../models/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CabsService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getAll(filter): any {\r\n return this.http.post(`${Config.apiUrl}/Entity/ListEntities`, filter);\r\n }\r\n save(objData, logo) {\r\n let url;\r\n if (objData.entityId) {\r\n url = '/Entity/EditEntity';\r\n } else {\r\n url = '/Entity/CreateCBEntity';\r\n }\r\n const formData = new FormData();\r\n if (logo && logo.name) {\r\n formData.append('logo', logo, logo.name);\r\n }\r\n formData.append('data', JSON.stringify(objData));\r\n return this.http.post(`${Config.apiUrl + url}`, formData);\r\n }\r\n checkUniqueCommercialNo(commercialNo) {\r\n return this.http.get(`${Config.apiUrl}/Entity/ValidateCommercialIdentificationNumber?commercialIdentificationNumber=` + commercialNo);\r\n }\r\n GetEntitiesDetails(id) {\r\n return this.http.get(`${Config.apiUrl}/Entity/GetEntitiesDetails?entityId=` + id);\r\n }\r\n GetEntityProfileDetails() {\r\n return this.http.get(`${Config.apiUrl}/Entity/GetEntityProfileDetails`);\r\n }\r\n GetEntitiesByScope(id) {\r\n return this.http.get(`${Config.apiUrl}/Entity/GetEntitiesByScope?cityId=&scopeId=5&aBTypeId=` + id);\r\n }\r\n GetEntityByCommercialIdentificationNumber(CINo) {\r\n return this.http.get(`${Config.apiUrl}/Entity/GetEntityByCommercialIdentificationNumber?commercialIdentificationNumber=` + CINo);\r\n }\r\n LoadEntitiesByCountry(obj) {\r\n return this.http.post(`${Config.apiUrl}/Entity/LoadEntitiesByCountry`, obj);\r\n }\r\n GetWalletHistory(id) {\r\n return this.http.get(`${Config.apiUrl}/WalletTransactions/GetWalletHistory?id=` + id);\r\n }\r\n GetEntityUsersRepresentatives(id) {\r\n return this.http.get(`${Config.apiUrl}/EntityUser/GetEntityUsersRepresentatives/${id}`);\r\n }\r\n UpdateEntityUserStatus(obj) {\r\n return this.http.post(`${Config.apiUrl}/EntityUser/UpdateEntityUserStatus`, obj);\r\n }\r\n UpdateEntityStatus(obj) {\r\n return this.http.post(`${Config.apiUrl}/Entity/UpdateEntityStatus`, obj);\r\n }\r\n RenewEntity(obj) {\r\n return this.http.post(`${Config.apiUrl}/Entity/RenewEntity`, obj);\r\n }\r\n SubmitPayment(obj, file) {\r\n const formData = new FormData();\r\n formData.append('files', file, file.name);\r\n formData.append('data', JSON.stringify(obj));\r\n return this.http.post(`${Config.apiUrl}/DuePayments/SubmitPayment`, formData);\r\n }\r\n GetDuePaymentIds() {\r\n return this.http.get(`${Config.apiUrl}/DuePayments/GetDuePaymentIds`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../models/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CertificateService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getAll(filter): any {\r\n return this.http.post(`${Config.apiUrl}/Certificate/ListCertificates`, filter);\r\n }\r\n save(objData, files) {\r\n let url;\r\n if (objData.certificateId) {\r\n url = '/Certificate/Edit';\r\n } else {\r\n url = '/Certificate/Add';\r\n }\r\n const formData = new FormData();\r\n files.forEach(file => {\r\n if (!file.attachmentId) {\r\n formData.append('file[]', file, file.name);\r\n }\r\n });\r\n formData.append('data', JSON.stringify(objData));\r\n return this.http.post(`${Config.apiUrl + url}`, formData);\r\n }\r\n getEntityByCiNumber(id) {\r\n return this.http.get(`${Config.apiUrl}/CertifiedEntity/GetCertifiedEntityDetailsByCiNumber?ciNumber=` + id);\r\n }\r\n checkUniqueCertificateNo(CerNo) {\r\n return this.http.get(`${Config.apiUrl}/Certificate/CheckCertificateNumber?text=` + CerNo);\r\n }\r\n getCertificateDetails(id) {\r\n return this.http.get(`${Config.apiUrl}/Certificate/GetCertificateDetails?CertificateId=` + id);\r\n }\r\n changeCertificateStatus(obj) {\r\n return this.http.post(`${Config.apiUrl}/Certificate/ChangeCertificateStatus`, obj);\r\n }\r\n AllowSearch(obj) {\r\n return this.http.post(`${Config.apiUrl}/Certificate/AllowSearch`, obj);\r\n }\r\n GetCertificateDetails(obj): any {\r\n return this.http.post(`${Config.apiUrl}/Certificate/GetCertificateDetailsWithCertificateNumber`, obj);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../models/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DiscussionService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getAll(filter): any {\r\n return this.http.post(`${Config.apiUrl}/conversation/ListConversations`, filter);\r\n }\r\n CreateConversation(enityId) {\r\n return this.http.get(`${Config.apiUrl}/conversation/CreateConversation/${enityId}`);\r\n }\r\n GetConversationMessages(filter): any {\r\n return this.http.post(`${Config.apiUrl}/conversation/GetConversationMessages`, filter);\r\n }\r\n CreateMessage(msgObj) {\r\n return this.http.post(`${Config.apiUrl}/conversation/CreateMessage`, msgObj);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../models/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EntityService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getAll(filter): any {\r\n return this.http.post(`${Config.apiUrl}/CertifiedEntity/ListCertifiedEntities`, filter);\r\n }\r\n AddEntity(entity, fileToUpload) {\r\n const formData = new FormData();\r\n formData.append('data', JSON.stringify(entity));\r\n if (fileToUpload && fileToUpload.name) {\r\n formData.append('logo', fileToUpload, fileToUpload.name);\r\n }\r\n\r\n return this.http.post(`${Config.apiUrl}/CertifiedEntity/Add`, formData);\r\n }\r\n EditEntity(entity, fileToUpload) {\r\n const formData = new FormData();\r\n formData.append('data', JSON.stringify(entity));\r\n if (fileToUpload && fileToUpload.name) {\r\n formData.append('logo', fileToUpload, fileToUpload.name);\r\n }\r\n return this.http.post(`${Config.apiUrl}/CertifiedEntity/Edit`, formData);\r\n }\r\n GetCertifiedEntitiesDetails(id): any {\r\n return this.http.get(`${Config.apiUrl}/CertifiedEntity/GetCertifiedEntitiesDetails?certifiedEntityId=` + id);\r\n }\r\n ListCertifiedEntityRepsentative(id): any {\r\n const filter = {\r\n PageSize: 5,\r\n PageNumber: 0,\r\n CertifiedEntityId: id\r\n };\r\n return this.http.post(`${Config.apiUrl}/CERepresentative/ListCertifiedEntityRepsentative`, filter);\r\n }\r\n ListCertifiedEntityBranches(id): any {\r\n const filter = {\r\n PageSize: 5,\r\n PageNumber: 0,\r\n CertifiedEntityId: id\r\n };\r\n return this.http.post(`${Config.apiUrl}/CESite/ListCertifiedEntitySite`, filter);\r\n }\r\n CEBranchesEdit(branchesData): any {\r\n return this.http.post(`${Config.apiUrl}/CESite/Edit`, branchesData);\r\n }\r\n CERepresentativesEdit(representativesData): any {\r\n return this.http.post(`${Config.apiUrl}/CERepresentative/Edit`, representativesData);\r\n }\r\n CheckCINumber(CENum) {\r\n return this.http.get(`${Config.apiUrl}/CertifiedEntity/CheckCINumber?ciNumber=${CENum}`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../models/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LookupManagementService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getListLanguages(filterModel): any {\r\n return this.http.post(`${Config.apiUrl}/lookupManagement/ListLanguages`, filterModel);\r\n }\r\n AddLanguage(langObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookupManagement/AddLanguage`, langObj);\r\n }\r\n RemoveLanguage(id) {\r\n return this.http.get(`${Config.apiUrl}/lookupManagement/RemoveLanguage/${id}`);\r\n }\r\n GetLanguageDetails(langId) {\r\n return this.http.get(`${Config.apiUrl}/lookupManagement/GetLanguageDetails/${langId}`);\r\n }\r\n UpdateLanguage(updatesLanguagerObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookupManagement/UpdateLanguage`, updatesLanguagerObj);\r\n }\r\n\r\n // start new \r\n getListCountries(filterModel): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/ListCountries`, filterModel);\r\n }\r\n AddCountry(CountryObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/AddCountry`, CountryObj);\r\n }\r\n RemoveCountries(id) {\r\n return this.http.get(`${Config.apiUrl}/lookups/RemoveCountry/${id}`);\r\n }\r\n RemoveCity(id) {\r\n return this.http.get(`${Config.apiUrl}/lookups/RemoveCity/${id}`);\r\n }\r\n GetCountryDetails(counrtyId) {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetCountryDetails/${counrtyId}`);\r\n }\r\n UpdateCountry(updatesCountryObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/UpdateCountry`, updatesCountryObj);\r\n }\r\n\r\n getListNationalities(filterModel): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/ListNationalities`, filterModel);\r\n }\r\n\r\n AddNationality(CountryObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/AddNationality`, CountryObj);\r\n }\r\n\r\n UpdateNationality(updatesCountryObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/UpdateNationality`, updatesCountryObj);\r\n }\r\n\r\n GetNationalityDetails(counrtyId) {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetNationalityDetails/${counrtyId}`);\r\n }\r\n\r\n RemoveNationality(id) {\r\n return this.http.get(`${Config.apiUrl}/lookups/RemoveNationality/${id}`);\r\n }\r\n \r\n \r\n getListABTypes(filterModel): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/ListABTypes`, filterModel);\r\n }\r\n\r\n AddABType(CountryObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/AddABType`, CountryObj);\r\n }\r\n\r\n UpdateABType(updatesCountryObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/UpdateABType`, updatesCountryObj);\r\n }\r\n\r\n \r\n GetABTypeDetails(counrtyId) {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetABTypeDetails/${counrtyId}`);\r\n }\r\n\r\n RemoveABType(id) {\r\n return this.http.get(`${Config.apiUrl}/lookups/RemoveABType/${id}`);\r\n }\r\n\r\n getListCertificateScopes(filterModel): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/ListCertificateScopes`, filterModel);\r\n }\r\n\r\n getListScopes(filterModel): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/ListScopes`, filterModel);\r\n }\r\n\r\n AddCertificateScope(CountryObj): any{\r\n return this.http.post(`${Config.apiUrl}/lookups/AddCertificateScope`, CountryObj);\r\n }\r\n\r\n AddScope(CountryObj): any{\r\n return this.http.post(`${Config.apiUrl}/lookups/AddScope`, CountryObj);\r\n }\r\n\r\n UpdateCertificateScope(updatesCountryObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/UpdateCertificateScope`, updatesCountryObj);\r\n }\r\n\r\n UpdateScope(updatesCountryObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookups/UpdateScope`, updatesCountryObj);\r\n }\r\n\r\n \r\n GetCertificateScopeDetails(counrtyId) {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetCertificateScopeDetails/${counrtyId}`);\r\n }\r\n\r\n \r\n GetScopeDetails(counrtyId) {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetScopeDetails/${counrtyId}`);\r\n }\r\n\r\n RemoveCertificateScope(id) {\r\n return this.http.get(`${Config.apiUrl}/lookups/RemoveCertificateScope/${id}`);\r\n }\r\n\r\n RemoveScope(id) {\r\n return this.http.get(`${Config.apiUrl}/lookups/RemoveScope/${id}`);\r\n }\r\n // end new\r\n\r\n getListSectors(filterModel): any {\r\n return this.http.post(`${Config.apiUrl}/lookupManagement/ListSectors`, filterModel);\r\n }\r\n AddSector(SectorObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookupManagement/AddSector`, SectorObj);\r\n }\r\n RemoveSector(id) {\r\n return this.http.get(`${Config.apiUrl}/lookupManagement/RemoveSector/${id}`);\r\n }\r\n RemoveSpecialization(id) {\r\n return this.http.get(`${Config.apiUrl}/lookupManagement/RemoveSpecialization/${id}`);\r\n }\r\n GetSectorDetails(sectorId) {\r\n return this.http.get(`${Config.apiUrl}/lookupManagement/GetSectorDetails/${sectorId}`);\r\n }\r\n UpdateSector(updatesSectorObj): any {\r\n return this.http.post(`${Config.apiUrl}/lookupManagement/UpdateSector`, updatesSectorObj);\r\n }\r\n\r\n getListFAQs(obj): any {\r\n return this.http.post(`${Config.apiUrl}/homeManagement/ListFAQs`, obj);\r\n }\r\n AddFAQ(Obj): any {\r\n return this.http.post(`${Config.apiUrl}/homeManagement/AddFAQ`, Obj);\r\n }\r\n UpdateFAQ(Obj): any {\r\n return this.http.post(`${Config.apiUrl}/homeManagement/UpdateFAQ`, Obj);\r\n }\r\n GetFAQDetails(Id) {\r\n return this.http.get(`${Config.apiUrl}/homeManagement/GetFAQDetails/${Id}`);\r\n }\r\n RemoveFAQ(id) {\r\n return this.http.get(`${Config.apiUrl}/homeManagement/RemoveFAQ/${id}`);\r\n }\r\n\r\n getListTermsAndConditions(obj): any {\r\n return this.http.post(`${Config.apiUrl}/homeManagement/ListTermsAndConditions`, obj);\r\n }\r\n AddTermsAndCondition(Obj): any {\r\n return this.http.post(`${Config.apiUrl}/homeManagement/AddTermsAndCondition`, Obj);\r\n }\r\n UpdateTermsAndCondition(Obj): any {\r\n return this.http.post(`${Config.apiUrl}/homeManagement/UpdateTermsAndCondition`, Obj);\r\n }\r\n GetTermsAndConditionDetails(Id) {\r\n return this.http.get(`${Config.apiUrl}/homeManagement/GetTermsAndConditionDetails/${Id}`);\r\n }\r\n RemoveTermsAndCondition(id) {\r\n return this.http.get(`${Config.apiUrl}/homeManagement/RemoveTermsAndCondition/${id}`);\r\n }\r\n\r\n GetPolicy() {\r\n return this.http.get(`${Config.apiUrl}/homeManagement/GetPolicy`);\r\n }\r\n UpdatePolicy(obj) {\r\n return this.http.post(`${Config.apiUrl}/homeManagement/UpdatePolicy`, obj);\r\n }\r\n\r\n UpdateAppSettings(obj): any {\r\n const appObj = {\r\n settings : obj\r\n };\r\n return this.http.post(`${Config.apiUrl}/homeManagement/UpdateAppSettings`, appObj);\r\n }\r\n GetAppSettings() {\r\n return this.http.get(`${Config.apiUrl}/homeManagement/GetAppSettings`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../models/config';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class LookupsService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n GetDashboardHeader() {\r\n return this.http.get(`${Config.apiUrl}/dashboard/GetDashboardHeader`);\r\n }\r\n GetDashboardDetails(filter) {\r\n return this.http.post(`${Config.apiUrl}/dashboard/GetDashboardDetails`, filter);\r\n }\r\n LoadEntitiesBySelectedCountry(countryId) {\r\n return this.http.get(`${Config.apiUrl}/Entity/LoadEntitiesBySelectedCountry?countryId=${countryId}`);\r\n }\r\n getCountries() {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetCountries`);\r\n }\r\n GetNationalities() {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetNationalities`);\r\n }\r\n getCities(countryId) {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetCities/${countryId}`);\r\n }\r\n getNationalities() {\r\n return this.http.get(`${Config.apiUrl}/lookups/getNationalities`);\r\n }\r\n GetAbTypes(text) {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetAbTypes?text=${text}`);\r\n }\r\n GetScopes() {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetScopes`);\r\n }\r\n GetMenu() {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetMenu`);\r\n }\r\n GetRoles() {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetRoles`);\r\n }\r\n GetPermissions() {\r\n return this.http.get(`${Config.apiUrl}/lookups/GetPermissions`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../models/config';\r\nimport { NotificationsSearchModel } from 'src/app/Models/notification/NotificationsSearchModel';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NotificationsService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n GetNotifications(searchModel: NotificationsSearchModel) {\r\n return this.http.post(`${Config.apiUrl}/Notifications/Notifications`, searchModel);\r\n }\r\n SeeNotifications() {\r\n return this.http.get(`${Config.apiUrl}/Notifications/SeeNotifications`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../models/config';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaymentRequestsService {\r\n\r\n refreshDuePaymentListSubject = new BehaviorSubject(false);\r\n constructor(private http: HttpClient) { }\r\n\r\n getAll(filter): any {\r\n return this.http.post(`${Config.apiUrl}/WalletTransactions/ListEntityWalletTransactions`, filter);\r\n }\r\n GetEntityWalletDetails(id) {\r\n return this.http.get(`${Config.apiUrl}/WalletTransactions/GetEntityWalletDetails/${id}`);\r\n }\r\n RespondToWalletRequest(Respond) {\r\n return this.http.post(`${Config.apiUrl}/WalletTransactions/RespondToWalletRequest`, Respond);\r\n }\r\n ListDuePayments(filter): any {\r\n return this.http.post(`${Config.apiUrl}/DuePayments/ListDuePayments`, filter);\r\n }\r\n GetCBCurrentBalance() {\r\n return this.http.get(`${Config.apiUrl}/DuePayments/GetCBCurrentBalance`);\r\n }\r\n SubmitPayment(payment, files): any {\r\n const formData = new FormData();\r\n files.forEach(file => {\r\n // formData.append('file[]', file, file.name);\r\n if (file.attachmentId === undefined) { // send new files\r\n formData.append('file[]', file, file.name);\r\n }\r\n });\r\n formData.append('data', JSON.stringify(payment));\r\n return this.http.post(`${Config.apiUrl}/DuePayments/SubmitPayment`, formData);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../models/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RepresentativesService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getAll(filter): any {\r\n return this.http.post(`${Config.apiUrl}/EntityUser/ListCBUsers`, filter);\r\n }\r\n updateUserStatus(obj) {\r\n return this.http.post(`${Config.apiUrl}/EntityUser/UpdateEntityUserStatus`, obj);\r\n }\r\n}\r\n","import { Injectable, EventEmitter, DebugElement } from '@angular/core';\r\ndeclare var $: any;\r\nimport { Config } from '../models/config';\r\nimport { AuthenticationService } from './authentication.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SignalRServiceService {\r\n private messageHub: any;\r\n SignalrConnection: any;\r\n signalReceived = new EventEmitter();\r\n constructor(private authService: AuthenticationService) {\r\n\r\n }\r\n\r\n buildConnection() {\r\n const connection = $.hubConnection(Config.signalRUrl);\r\n this.messageHub = connection.createHubProxy('GACHub');\r\n const token = this.authService.currentUserValue.access_token;\r\n $.signalR.ajaxDefaults.headers = { Authorization: 'Bearer ' + token };\r\n connection.start()\r\n .done(() => {\r\n console.log('connection started ..........');\r\n })\r\n .fail(() => {\r\n console.log('connection failed');\r\n });\r\n }\r\n\r\n disconnectConnection() {\r\n this.messageHub.disconnect(() => {\r\n console.log('Server has disconnected');\r\n });\r\n }\r\n\r\n handleChangeNotificationCountEvent(context, handleFunc) {\r\n this.messageHub.on('changeNotificationCount', (count) => {\r\n handleFunc(context, count);\r\n });\r\n }\r\n\r\n handleNewRegistrationEvent(context, handleFunc) {\r\n this.messageHub.on('newRegistration', (id) => {\r\n handleFunc(context, id);\r\n });\r\n }\r\n\r\n handleNewPaymentInvoiceEvent(context, handleFunc) {\r\n this.messageHub.on('newPaymentInvoice', (id) => {\r\n handleFunc(context, id);\r\n });\r\n }\r\n\r\n handleRespondPaymentEvent(context, handleFunc) {\r\n this.messageHub.on('respondPayment', (id) => {\r\n handleFunc(context, id);\r\n });\r\n }\r\n\r\n handleNewMessageEvent(context, handleFunc) {\r\n this.messageHub.on('newMessage', (id) => {\r\n handleFunc(context, id);\r\n });\r\n }\r\n\r\n handleNewAnnouncementEvent(context, handleFunc) {\r\n this.messageHub.on('newAnnouncement', () => {\r\n handleFunc(context);\r\n });\r\n }\r\n\r\n handleUpdateCBProfileEvent(context, handleFunc) {\r\n this.messageHub.on('updateCBProfile', (id) => {\r\n handleFunc(context, id);\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Config } from '../models/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UsersService {\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n getAll(filter): any {\r\n return this.http.post(`${Config.apiUrl}/EntityUser/ListGACUsers`, filter);\r\n }\r\n saveUser(user, type) {\r\n let url;\r\n if (user.entityUserId) {\r\n url = '/EntityUser/UpdateUser';\r\n } else {\r\n if (type === 1) {\r\n url = '/EntityUser/CreateGACUser';\r\n } else {\r\n url = '/EntityUser/CreateCBUser';\r\n }\r\n }\r\n return this.http.post(`${Config.apiUrl + url}`, user);\r\n }\r\n getDetails(id) {\r\n if (id) {\r\n return this.http.get(`${Config.apiUrl}/EntityUser/GetEntityUserDetails?userId=${id}`);\r\n } else {\r\n return this.http.get(`${Config.apiUrl}/EntityUser/GetEntityUserProfile`);\r\n }\r\n }\r\n deleteUser(id) {\r\n return this.http.get(`${Config.apiUrl}/EntityUser/DeleteEntityUser?id=${id}`);\r\n }\r\n updateUserStatus(obj) {\r\n return this.http.post(`${Config.apiUrl}/EntityUser/UpdateEntityUserStatus`, obj);\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import 'hammerjs';\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}