{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.html","./src/app/epg/admin-configurations/admin-configurations.component.html","./src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/configuration-contacts.component.html","./src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/contact-dialog/contact-dialog.component.html","./src/app/epg/admin-configurations/configuration-networks/configuration-networks.component.html","./src/app/epg/admin-configurations/configuration-networks/create-network/create-network.component.html","./src/app/epg/admin-configurations/configuration-networks/edit-network/delete-network-dialog/delete-network-dialog.component.html","./src/app/epg/admin-configurations/configuration-networks/edit-network/edit-network.component.html","./src/app/epg/admin-configurations/configuration-register/category/category-dialog/category-dialog.component.html","./src/app/epg/admin-configurations/configuration-register/category/category.component.html","./src/app/epg/admin-configurations/configuration-register/configuration-register.component.html","./src/app/epg/admin-configurations/configuration-register/country/country-dialog/country-dialog.component.html","./src/app/epg/admin-configurations/configuration-register/country/country.component.html","./src/app/epg/admin-configurations/configuration-register/language/language-dialog/language-dialog.component.html","./src/app/epg/admin-configurations/configuration-register/language/language.component.html","./src/app/epg/ancine/ancine-feed-grid/ancine-feed-grid.component.html","./src/app/epg/ancine/ancine-feed-grid/utils-dialogs/ancine-utils-dialogs-component/ancine-utils-dialogs-component.component.html","./src/app/epg/ancine/ancine.component.html","./src/app/epg/configuration-grid/config-confirm/config-confirm.component.html","./src/app/epg/configuration-grid/config-confirm/dialog-config/dialog-config.component.html","./src/app/epg/configuration-grid/config-feed-grid/config-feed-grid.component.html","./src/app/epg/configuration-grid/configuration-grid.component.html","./src/app/epg/configuration-grid/field-selector/field-selector.component.html","./src/app/epg/configuration-grid/module-select/module-select.component.html","./src/app/epg/epg-subscription/epg-subscription.component.html","./src/app/epg/epg-subscription/feed-confirm/dialog-confirm/dialog-confirm.component.html","./src/app/epg/epg-subscription/feed-confirm/feed-confirm.component.html","./src/app/epg/epg-subscription/feed-grid/feed-grid.component.html","./src/app/epg/epg-subscription/feed-search/feed-search.component.html","./src/app/epg/epg.component.html","./src/app/epg/legal/feed-download/feed-download.component.html","./src/app/epg/legal/filter-report/filter-report.component.html","./src/app/epg/legal/legal-feed-grid/legal-feed-grid.component.html","./src/app/epg/legal/legal-feed-search/legal-feed-search.component.html","./src/app/epg/legal/legal.component.html","./src/app/epg/monthly-grids/monthly/monthly.component.html","./src/app/epg/monthly-grids/monthly/utils-dialog/monthly-utils-dialogs-component-component/monthly-utils-dialogs-component-component.component.html","./src/app/epg/network-subscription/network-subscription.component.html","./src/app/epg/networks-upload/networks-upload.component.html","./src/app/epg/networks-upload/utils-dialog/networks-upload-utils-dialog/networks-upload-utils-dialog.component.html","./src/app/epg/networks/networks/networks.component.html","./src/app/epg/networks/networks/utils-dialog/feeds-utils-dialog/feeds-utils-dialog.component.html","./src/app/epg/networks/networks/utils-dialog/network-utils-dialog/network-utils-dialog.component.html","./src/app/epg/networks/networks/utils-dialog/websites-utils-dialog/websites-utils-dialog.component.html","./src/app/epg/news/news/news.component.html","./src/app/epg/news/news/utils-dialog/news-dialogs/news-dialogs.component.html","./src/app/epg/newsletters/newsletter-draft-table/newsletter-draft-table.component.html","./src/app/epg/newsletters/newsletter-editor/newsletter-editor.component.html","./src/app/epg/newsletters/newsletter-sent-table/newsletter-sent-table.component.html","./src/app/epg/newsletters/newsletters.component.html","./src/app/epg/profile/account/account.component.html","./src/app/epg/profile/change-password/change-password.component.html","./src/app/epg/profile/personal-data/personal-data.component.html","./src/app/epg/profile/profile.component.html","./src/app/epg/users/users-dialog/users-dialog.component.html","./src/app/epg/users/users.component.html","./src/app/epg/visual-logs/utils-dialogs/visual-logs-dialogs.component.html","./src/app/epg/visual-logs/visual-logs.component.html","./src/app/login/access-denied/access-denied.component.html","./src/app/login/dialog-timeout/dialog-timeout.component.html","./src/app/login/login/login.component.html","./src/app/login/password-recovery/password-recovery.component.html","./src/app/register/register/register.component.html","./src/app/register/terms/terms.component.html","./src/app/shared/alert/alert.component.html","./src/app/shared/dialogs/confirm-dialog/confirm-dialog.component.html","./src/app/shared/footer/footer.component.html","./src/app/shared/header/header.component.html","./src/app/shared/network-list/network-list.component.html","./src/app/shared/not-found/not-found.component.html","./src/app/app.component.css","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/app.routing.module.ts","./src/app/epg/admin-configurations/admin-configurations.component.css","./src/app/epg/admin-configurations/admin-configurations.component.ts","./src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/configuration-contacts.component.css","./src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/configuration-contacts.component.ts","./src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/contact-dialog/contact-dialog.component.css","./src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/contact-dialog/contact-dialog.component.ts","./src/app/epg/admin-configurations/configuration-networks/configuration-networks.component.css","./src/app/epg/admin-configurations/configuration-networks/configuration-networks.component.ts","./src/app/epg/admin-configurations/configuration-networks/create-network/create-network.component.scss","./src/app/epg/admin-configurations/configuration-networks/create-network/create-network.component.ts","./src/app/epg/admin-configurations/configuration-networks/edit-network/delete-network-dialog/delete-network-dialog.component.css","./src/app/epg/admin-configurations/configuration-networks/edit-network/delete-network-dialog/delete-network-dialog.component.ts","./src/app/epg/admin-configurations/configuration-networks/edit-network/edit-network.component.scss","./src/app/epg/admin-configurations/configuration-networks/edit-network/edit-network.component.ts","./src/app/epg/admin-configurations/configuration-register/category/category-dialog/category-dialog.component.css","./src/app/epg/admin-configurations/configuration-register/category/category-dialog/category-dialog.component.ts","./src/app/epg/admin-configurations/configuration-register/category/category.component.css","./src/app/epg/admin-configurations/configuration-register/category/category.component.ts","./src/app/epg/admin-configurations/configuration-register/configuration-register.component.scss","./src/app/epg/admin-configurations/configuration-register/configuration-register.component.ts","./src/app/epg/admin-configurations/configuration-register/country/country-dialog/country-dialog.component.css","./src/app/epg/admin-configurations/configuration-register/country/country-dialog/country-dialog.component.ts","./src/app/epg/admin-configurations/configuration-register/country/country.component.css","./src/app/epg/admin-configurations/configuration-register/country/country.component.ts","./src/app/epg/admin-configurations/configuration-register/language/language-dialog/language-dialog.component.css","./src/app/epg/admin-configurations/configuration-register/language/language-dialog/language-dialog.component.ts","./src/app/epg/admin-configurations/configuration-register/language/language.component.css","./src/app/epg/admin-configurations/configuration-register/language/language.component.ts","./src/app/epg/ancine/ancine-feed-grid/ancine-feed-grid.component.scss","./src/app/epg/ancine/ancine-feed-grid/ancine-feed-grid.component.ts","./src/app/epg/ancine/ancine-feed-grid/utils-dialogs/ancine-utils-dialogs-component/ancine-utils-dialogs-component.component.scss","./src/app/epg/ancine/ancine-feed-grid/utils-dialogs/ancine-utils-dialogs-component/ancine-utils-dialogs-component.component.ts","./src/app/epg/ancine/ancine.component.scss","./src/app/epg/ancine/ancine.component.ts","./src/app/epg/configuration-grid/config-confirm/config-confirm.component.css","./src/app/epg/configuration-grid/config-confirm/config-confirm.component.ts","./src/app/epg/configuration-grid/config-confirm/dialog-config/dialog-config.component.css","./src/app/epg/configuration-grid/config-confirm/dialog-config/dialog-config.component.ts","./src/app/epg/configuration-grid/config-feed-grid/config-feed-grid.component.css","./src/app/epg/configuration-grid/config-feed-grid/config-feed-grid.component.ts","./src/app/epg/configuration-grid/configuration-grid.component.css","./src/app/epg/configuration-grid/configuration-grid.component.ts","./src/app/epg/configuration-grid/field-selector/field-selector.component.css","./src/app/epg/configuration-grid/field-selector/field-selector.component.ts","./src/app/epg/configuration-grid/module-select/module-select.component.css","./src/app/epg/configuration-grid/module-select/module-select.component.ts","./src/app/epg/epg-routing.module.ts","./src/app/epg/epg-subscription/epg-subscription.component.css","./src/app/epg/epg-subscription/epg-subscription.component.ts","./src/app/epg/epg-subscription/feed-confirm/dialog-confirm/dialog-confirm.component.css","./src/app/epg/epg-subscription/feed-confirm/dialog-confirm/dialog-confirm.component.ts","./src/app/epg/epg-subscription/feed-confirm/feed-confirm.component.css","./src/app/epg/epg-subscription/feed-confirm/feed-confirm.component.ts","./src/app/epg/epg-subscription/feed-grid/feed-grid.component.css","./src/app/epg/epg-subscription/feed-grid/feed-grid.component.ts","./src/app/epg/epg-subscription/feed-search/feed-search.component.css","./src/app/epg/epg-subscription/feed-search/feed-search.component.ts","./src/app/epg/epg.component.ts","./src/app/epg/epg.module.ts","./src/app/epg/legal/feed-download/feed-download.component.css","./src/app/epg/legal/feed-download/feed-download.component.ts","./src/app/epg/legal/filter-report/filter-report.component.css","./src/app/epg/legal/filter-report/filter-report.component.ts","./src/app/epg/legal/legal-feed-grid/legal-feed-grid.component.css","./src/app/epg/legal/legal-feed-grid/legal-feed-grid.component.ts","./src/app/epg/legal/legal-feed-search/legal-feed-search.component.css","./src/app/epg/legal/legal-feed-search/legal-feed-search.component.ts","./src/app/epg/legal/legal.component.css","./src/app/epg/legal/legal.component.ts","./src/app/epg/monthly-grids/monthly/monthly.component.scss","./src/app/epg/monthly-grids/monthly/monthly.component.ts","./src/app/epg/monthly-grids/monthly/utils-dialog/monthly-utils-dialogs-component-component/monthly-utils-dialogs-component-component.component.scss","./src/app/epg/monthly-grids/monthly/utils-dialog/monthly-utils-dialogs-component-component/monthly-utils-dialogs-component-component.component.ts","./src/app/epg/network-subscription/network-subscription.component.scss","./src/app/epg/network-subscription/network-subscription.component.ts","./src/app/epg/networks-upload/networks-upload.component.scss","./src/app/epg/networks-upload/networks-upload.component.ts","./src/app/epg/networks-upload/utils-dialog/networks-upload-utils-dialog/networks-upload-utils-dialog.component.scss","./src/app/epg/networks-upload/utils-dialog/networks-upload-utils-dialog/networks-upload-utils-dialog.component.ts","./src/app/epg/networks/networks/networks.component.scss","./src/app/epg/networks/networks/networks.component.ts","./src/app/epg/networks/networks/utils-dialog/feeds-utils-dialog/feeds-utils-dialog.component.scss","./src/app/epg/networks/networks/utils-dialog/feeds-utils-dialog/feeds-utils-dialog.component.ts","./src/app/epg/networks/networks/utils-dialog/network-utils-dialog/network-utils-dialog.component.scss","./src/app/epg/networks/networks/utils-dialog/network-utils-dialog/network-utils-dialog.component.ts","./src/app/epg/networks/networks/utils-dialog/websites-utils-dialog/websites-utils-dialog.component.scss","./src/app/epg/networks/networks/utils-dialog/websites-utils-dialog/websites-utils-dialog.component.ts","./src/app/epg/news/news/news.component.scss","./src/app/epg/news/news/news.component.ts","./src/app/epg/news/news/utils-dialog/news-dialogs/news-dialogs.component.scss","./src/app/epg/news/news/utils-dialog/news-dialogs/news-dialogs.component.ts","./src/app/epg/newsletters/newsletter-draft-table/newsletter-draft-table.component.scss","./src/app/epg/newsletters/newsletter-draft-table/newsletter-draft-table.component.ts","./src/app/epg/newsletters/newsletter-editor/newsletter-editor.component.css","./src/app/epg/newsletters/newsletter-editor/newsletter-editor.component.ts","./src/app/epg/newsletters/newsletter-sent-table/newsletter-sent-table.component.scss","./src/app/epg/newsletters/newsletter-sent-table/newsletter-sent-table.component.ts","./src/app/epg/newsletters/newsletters.component.scss","./src/app/epg/newsletters/newsletters.component.ts","./src/app/epg/profile/account/account.component.scss","./src/app/epg/profile/account/account.component.ts","./src/app/epg/profile/change-password/change-password.component.scss","./src/app/epg/profile/change-password/change-password.component.ts","./src/app/epg/profile/personal-data/personal-data.component.scss","./src/app/epg/profile/personal-data/personal-data.component.ts","./src/app/epg/profile/profile.component.scss","./src/app/epg/profile/profile.component.ts","./src/app/epg/users/users-dialog/users-dialog.component.scss","./src/app/epg/users/users-dialog/users-dialog.component.ts","./src/app/epg/users/users.component.scss","./src/app/epg/users/users.component.ts","./src/app/epg/visual-logs/utils-dialogs/visual-logs-dialogs.component.scss","./src/app/epg/visual-logs/utils-dialogs/visual-logs-dialogs.component.ts","./src/app/epg/visual-logs/visual-logs.component.scss","./src/app/epg/visual-logs/visual-logs.component.ts","./src/app/login/access-denied/access-denied.component.css","./src/app/login/access-denied/access-denied.component.ts","./src/app/login/dialog-timeout/dialog-timeout.component.css","./src/app/login/dialog-timeout/dialog-timeout.component.ts","./src/app/login/login-routing.module.ts","./src/app/login/login.module.ts","./src/app/login/login/login.component.css","./src/app/login/login/login.component.ts","./src/app/login/password-recovery/password-recovery.component.css","./src/app/login/password-recovery/password-recovery.component.ts","./src/app/login/redirect-authentication/redirect-authentication.component.ts","./src/app/register/register-routing.module.ts","./src/app/register/register.module.ts","./src/app/register/register/register.component.css","./src/app/register/register/register.component.ts","./src/app/register/terms/terms.component.css","./src/app/register/terms/terms.component.ts","./src/app/shared/alert/alert.component.css","./src/app/shared/alert/alert.component.ts","./src/app/shared/constants/country.enum.ts","./src/app/shared/constants/language.enum.ts","./src/app/shared/dialogs/confirm-dialog/confirm-dialog.component.css","./src/app/shared/dialogs/confirm-dialog/confirm-dialog.component.ts","./src/app/shared/footer/footer.component.css","./src/app/shared/footer/footer.component.ts","./src/app/shared/header/header.component.css","./src/app/shared/header/header.component.ts","./src/app/shared/model/contactType.ts","./src/app/shared/model/data-network.ts","./src/app/shared/model/network-details.ts","./src/app/shared/model/network-epg-model/network-epg-files-upload.ts","./src/app/shared/model/network-epg-model/networks-donwload-data.ts","./src/app/shared/model/news-model/news-upload.ts","./src/app/shared/model/role.ts","./src/app/shared/model/user-profile.ts","./src/app/shared/model/user.ts","./src/app/shared/network-list/network-list.component.css","./src/app/shared/network-list/network-list.component.ts","./src/app/shared/not-found/not-found.component.css","./src/app/shared/not-found/not-found.component.ts","./src/app/shared/request/configurations.request.ts","./src/app/shared/request/newsletter.request.ts","./src/app/shared/response/newsletter.response.ts","./src/app/shared/service/alert.service.ts","./src/app/shared/service/ancine-grids.service.ts","./src/app/shared/service/authentication.service.ts","./src/app/shared/service/authorization.service.ts","./src/app/shared/service/category.service.ts","./src/app/shared/service/config.service.ts","./src/app/shared/service/contact.service.ts","./src/app/shared/service/country.service.ts","./src/app/shared/service/epg-data.service.ts","./src/app/shared/service/epg-news.service.ts","./src/app/shared/service/feed.service.ts","./src/app/shared/service/file-configurations.service.ts","./src/app/shared/service/file-extensions-configurations.service.ts","./src/app/shared/service/general.service.ts","./src/app/shared/service/language.service.ts","./src/app/shared/service/module.service.ts","./src/app/shared/service/monthly.service.ts","./src/app/shared/service/network-contact.service.ts","./src/app/shared/service/network-dailygrids.service.ts","./src/app/shared/service/network-data-sharing.service.ts","./src/app/shared/service/network-epg.service.ts","./src/app/shared/service/network-grids.service.ts","./src/app/shared/service/network-localbreaks.service.ts","./src/app/shared/service/network-tab.service.ts","./src/app/shared/service/network.service.ts","./src/app/shared/service/newsletter.service.ts","./src/app/shared/service/role.service.ts","./src/app/shared/service/show.service.ts","./src/app/shared/service/url.service.ts","./src/app/shared/service/user-profile.service.ts","./src/app/shared/service/user.service.ts","./src/app/shared/service/util.service.ts","./src/app/shared/service/visual-logs.service.ts","./src/app/shared/utils/array-helper.ts","./src/app/shared/utils/auth.guard.ts","./src/app/shared/utils/custom-paginator.ts","./src/app/shared/utils/error.interceptor.ts","./src/app/shared/utils/jwt.interceptor.ts","./src/app/shared/utils/unique-code.validator.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-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.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-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.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 ^\\\\.\\\\/.*$\";","export default \"
\\n\\n
\\n \\n \\n
\\n\\n
\";","export default \"
\\n
\\n \\n
\\n
\\n
\\n \\n
{{ 'menu.editRegister.title' | translate }}
\\n

{{ 'menu.editRegister.description' | translate }}

\\n {{ 'menu.btnEdit' | translate }}\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
{{ 'menu.editNetworks.title' | translate }}
\\n

{{ 'menu.editNetworks.description' | translate }}

\\n {{ 'menu.btnEdit' | translate }}\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
{{ 'menu.editContacts.title' | translate }}
\\n

{{ 'menu.editContacts.description' | translate }}

\\n {{ 'menu.btnEdit' | translate }}\\n
\\n
\\n
\\n
\\n
\\n\\n\";","export default \"\\n\\n
\\n\\n {{ \\\"epg.configurationContact.title\\\" | translate }}\\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 \\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n
\\n \\n \\n \\n \\n {{ \\\"epg.configurationContact.name\\\" | translate }} {{ element.name }} {{ \\\"epg.configurationContact.email\\\" | translate }} {{ element.email }} \\n \\n {{ \\\"epg.configurationContact.type\\\" | translate }}\\n \\n \\n {{ type }}\\n \\n \\n \\n \\n {{ element.contactTypes.join(', ') }}\\n {{ \\\"epg.configurationContact.zone\\\" | translate }} {{ element.zone }} \\n \\n {{ \\\"epg.configurationContact.network\\\" | translate }}\\n \\n \\n {{ network }}\\n \\n \\n \\n \\n {{ element.networks.join(', ') }}\\n {{ \\\"epg.configurationContact.actions\\\" | translate }}\\n \\n
\\n\\n\\n
\\n

\\n
\\n
\\n\\n\\n
\\n\";","export default \"

{{ (isEditing ? \\\"epg.configurationContact.edit\\\" : \\\"epg.configurationContact.add\\\") | translate }}

\\n\\n
\\n \\n {{ \\\"epg.configurationContact.name\\\" | translate }}\\n \\n \\n \\n {{ \\\"epg.configurationContact.email\\\" | translate }}\\n \\n \\n \\n {{ \\\"epg.configurationContact.zone\\\" | translate }}\\n \\n \\n \\n {{ \\\"epg.configurationContact.type\\\" | translate }}\\n \\n {{ type.type }}\\n \\n \\n \\n {{ \\\"epg.configurationContact.network\\\" | translate }}\\n \\n {{ network.nameEn }}\\n \\n \\n
\\n
\\n\\n \\n \\n \\n \\n \\n\\n\";","export default \"
\\n
\\n \\n\\n \\n\\n
\\n \\n \\n\\n\\n \\n\\n \\n \\n
\";","export default \"
\\n {{ 'epg.networks.title' | translate }}\\n\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
{{ 'epg.configurationNetworks.logo' | translate }}
\\n
\\n \\\"Imagen\\\"\\n
\\n
{{ \\\"PNG: (\\\" + maxWidthLogo + \\\"px x \\\" + maxHeightLogo + \\\"px)\\\"}}
\\n {{ imageMessage }}\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
{{ 'epg.configurationNetworks.logoReflected' | translate }}
\\n
\\n \\\"Imagen\\\"\\n
\\n
{{ \\\"PNG: (\\\" + maxWidthLogoRef + \\\"px x \\\" + maxHeightLogoRef + \\\"px)\\\"}}
\\n {{ imageReflectedMessage }}\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n \\n\\n \\n \\n \\n \\n Twitter\\n \\n \\n\\n
\\n \\n Twitter (EN)\\n \\n \\n
\\n\\n
\\n \\n Twitter (ES)\\n \\n \\n
\\n\\n
\\n \\n Twitter (PT)\\n \\n \\n
\\n
\\n\\n \\n \\n \\n \\n Facebook\\n \\n \\n\\n
\\n \\n Facebook (EN)\\n \\n \\n
\\n\\n
\\n \\n Facebook (ES)\\n \\n \\n
\\n\\n
\\n \\n Facebook (PT)\\n \\n \\n
\\n
\\n\\n \\n \\n \\n \\n Feeds\\n \\n \\n\\n\\n\\n
\\n \\n Feed\\n \\n \\n
\\n\\n
\\n \\n {{ 'epg.configurationNetworks.schedules' | translate }}\\n \\n \\n
\\n
\\n\\n \\n\\n
\\n
\\n
\\n\\n
\\n \\n \\n \\n
\\n
{{ 'epg.configurationNetworks.name' | translate }}*
\\n
\\n \\n {{ 'epg.configurationNetworks.name' | translate }} (EN)\\n \\n \\n {{ 'epg.configurationNetworks.error.nameRequired' | translate }}\\n \\n \\n\\n \\n {{ 'epg.configurationNetworks.name' | translate }} (ES)\\n \\n \\n {{ 'epg.configurationNetworks.error.nameRequired' | translate }}\\n \\n \\n\\n \\n {{ 'epg.configurationNetworks.name' | translate }} (PT)\\n \\n \\n {{ 'epg.configurationNetworks.error.nameRequired' | translate }}\\n \\n \\n
\\n
\\n\\n \\n
\\n
{{ 'epg.configurationNetworks.code' | translate }}*
\\n
\\n \\n {{ 'epg.configurationNetworks.code' | translate }}\\n \\n \\n {{ 'epg.configurationNetworks.error.codeRequired' | translate }}\\n \\n \\n {{ 'epg.configurationNetworks.error.duplicateCode' | translate }}\\n \\n \\n
\\n
\\n\\n \\n
\\n
{{ 'epg.configurationNetworks.information' | translate }}*
\\n
\\n \\n {{ 'epg.configurationNetworks.information' | translate }} (EN)\\n \\n \\n {{ 'epg.configurationNetworks.error.informationRequired' | translate }}\\n \\n \\n\\n \\n {{ 'epg.configurationNetworks.information' | translate }} (ES)\\n \\n \\n {{ 'epg.configurationNetworks.error.informationRequired' | translate }}\\n \\n \\n\\n \\n {{ 'epg.configurationNetworks.information' | translate }} (PT)\\n \\n \\n {{ 'epg.configurationNetworks.error.informationRequired' | translate }}\\n \\n \\n
\\n
\\n\\n \\n
\\n
{{ 'epg.configurationNetworks.website' | translate }}*
\\n
\\n \\n URL (EN)\\n \\n \\n {{ 'epg.configurationNetworks.error.validUrl' | translate }}\\n \\n \\n\\n \\n URL (ES)\\n \\n \\n {{ 'epg.configurationNetworks.error.validUrl' | translate }}\\n \\n \\n\\n \\n URL (PT)\\n \\n \\n {{ 'epg.configurationNetworks.error.validUrl' | translate }}\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n {{ 'epg.configurationNetworks.visible' | translate }}\\n {{ 'epg.configurationNetworks.active' | translate }}\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n\\n
\\n\\n\\n\\n
\\n\";","export default \"

{{ 'epg.configurationNetworks.deleteDialog.title' | translate }}

\\n
\\n
{{ 'epg.configurationNetworks.deleteDialog.content' | translate: { networkName: data.networkName } }}
\\n \\n
\\n
{{ 'epg.configurationNetworks.deleteDialog.dateLabel' | translate }}
\\n\\n {{ 'epg.configurationNetworks.deleteDialog.selectDateLabel' | translate }}\\n \\n \\n \\n\\n
\\n \\n \\n
\\n\";","export default \"
\\n

\\n
\\n\\n
\\n\\n
\\n
\\n \\n
\\n\\n\\n
\\n \\n
\\n \\n\\n
\\n \\n
\\n
\\n {{ 'epg.networks.title' | translate }}\\n\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
{{ 'epg.configurationNetworks.logo' | translate }}
\\n
\\n \\\"Imagen\\\"\\n
\\n
{{ \\\"PNG: (\\\" + maxWidthLogo + \\\"px x \\\" + maxHeightLogo + \\\"px)\\\"}}
\\n {{ imageMessage }}\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
{{ 'epg.configurationNetworks.logoReflected' | translate }}
\\n
\\n \\\"Imagen\\\"\\n
\\n
{{ \\\"PNG: (\\\" + maxWidthLogoRef + \\\"px x \\\" + maxHeightLogoRef + \\\"px)\\\"}}
\\n {{ imageReflectedMessage }}\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n \\n\\n\\n \\n \\n \\n \\n Twitter\\n \\n \\n\\n
\\n \\n Twitter (EN)\\n \\n \\n
\\n\\n
\\n \\n Twitter (ES)\\n \\n \\n
\\n\\n
\\n \\n Twitter (PT)\\n \\n \\n
\\n
\\n\\n \\n \\n \\n \\n Facebook\\n \\n \\n\\n
\\n \\n Facebook (EN)\\n \\n \\n
\\n\\n
\\n \\n Facebook (ES)\\n \\n \\n
\\n\\n
\\n \\n Facebook (PT)\\n \\n \\n
\\n
\\n\\n \\n \\n \\n \\n Feeds\\n \\n \\n\\n\\n
\\n \\n Feed\\n \\n \\n
\\n\\n
\\n \\n {{ 'epg.configurationNetworks.schedules' | translate }}\\n \\n \\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n\\n
\\n \\n \\n \\n \\n
\\n
{{ 'epg.configurationNetworks.name' | translate }}
\\n
\\n \\n {{ 'epg.configurationNetworks.name' | translate }} (EN)\\n \\n \\n {{ 'epg.configurationNetworks.error.nameRequired' | translate }}\\n \\n \\n\\n \\n {{ 'epg.configurationNetworks.name' | translate }} (ES)\\n \\n \\n {{ 'epg.configurationNetworks.error.nameRequired' | translate }}\\n \\n \\n\\n \\n {{ 'epg.configurationNetworks.name' | translate }} (PT)\\n \\n \\n {{ 'epg.configurationNetworks.error.nameRequired' | translate }}\\n \\n \\n
\\n
\\n\\n \\n
\\n
{{ 'epg.configurationNetworks.code' | translate }}
\\n
\\n \\n {{ 'epg.configurationNetworks.code' | translate }}\\n \\n \\n {{ 'epg.configurationNetworks.error.codeRequired' | translate }}\\n \\n \\n
\\n
\\n\\n \\n
\\n
{{ 'epg.configurationNetworks.information' | translate }}
\\n
\\n \\n {{ 'epg.configurationNetworks.information' | translate }} (EN)\\n \\n \\n {{ 'epg.configurationNetworks.error.informationRequired' | translate }}\\n \\n \\n\\n \\n {{ 'epg.configurationNetworks.information' | translate }} (ES)\\n \\n \\n {{ 'epg.configurationNetworks.error.informationRequired' | translate }}\\n \\n \\n\\n \\n {{ 'epg.configurationNetworks.information' | translate }} (PT)\\n \\n \\n {{ 'epg.configurationNetworks.error.informationRequired' | translate }}\\n \\n \\n
\\n
\\n\\n \\n
\\n
{{ 'epg.configurationNetworks.website' | translate }}
\\n
\\n \\n URL (EN)\\n \\n \\n {{ 'epg.configurationNetworks.error.validUrl' | translate }}\\n \\n \\n\\n \\n URL (ES)\\n \\n \\n {{ 'epg.configurationNetworks.error.validUrl' | translate }}\\n \\n \\n\\n \\n URL (PT)\\n \\n \\n {{ 'epg.configurationNetworks.error.validUrl' | translate }}\\n \\n \\n
\\n
\\n\\n\\n
\\n
\\n
\\n {{ 'epg.configurationNetworks.visible' | translate\\n }}\\n {{ 'epg.configurationNetworks.active' | translate\\n }}\\n
\\n
\\n\\n\\n
\\n\\n
\\n\\n
\\n
\\n
\\n\\n
\\n\\n\\n
\";","export default \"

{{ (isEditing ? \\\"epg.configurationRegister.edit\\\" : \\\"epg.configurationRegister.add\\\") | translate }}

\\n\\n
\\n \\n {{ \\\"epg.configurationRegister.name\\\" | translate }}\\n \\n \\n
\\n
\\n\\n \\n \\n\\n\";","export default \"
\\n {{ \\\"epg.configurationRegister.category.title\\\" | translate }}\\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
{{ \\\"epg.configurationRegister.field\\\" | translate }} {{element.type}} {{ \\\"epg.configurationRegister.code\\\" | translate }} {{element.id}} {{ \\\"epg.configurationRegister.actions\\\" | translate }}\\n \\n \\n
\\n\\n\\n\\n
\\n
\\n\";","export default \"
\\n \\n
\\n\\n\\n
\\n {{ \\\"epg.configurationRegister.title\\\" | translate }}\\n\\n
\\n
\\n
    \\n
  • \\n {{ \\\"epg.configurationRegister.category.title\\\" | translate }}\\n
  • \\n
  • \\n {{ \\\"epg.configurationRegister.country.title\\\" | translate }}\\n
  • \\n
  • \\n {{ \\\"epg.configurationRegister.language.title\\\" | translate }}\\n
  • \\n
\\n
\\n\\n
\\n \\n
\\n \\n
\\n\\n \\n
\\n \\n
\\n\\n \\n
\\n \\n
\\n
\\n
\\n
\\n\";","export default \"

{{ (isEditing ? \\\"epg.configurationRegister.edit\\\" : \\\"epg.configurationRegister.add\\\") | translate }}

\\n\\n
\\n \\n {{ \\\"epg.configurationRegister.name\\\" | translate }}\\n \\n \\n
\\n
\\n\\n \\n \\n\\n\";","export default \"
\\n {{ \\\"epg.configurationRegister.country.title\\\" | translate }}\\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
{{ \\\"epg.configurationRegister.field\\\" | translate }} {{element.country}} {{ \\\"epg.configurationRegister.code\\\" | translate }} {{element.id}} {{ \\\"epg.configurationRegister.actions\\\" | translate }} \\n \\n \\n
\\n\\n\\n\\n
\\n
\\n\";","export default \"

{{ (isEditing ? \\\"epg.configurationRegister.edit\\\" : \\\"epg.configurationRegister.add\\\") | translate }}

\\n\\n
\\n \\n {{ \\\"epg.configurationRegister.name\\\" | translate }}\\n \\n \\n
\\n
\\n\\n \\n \\n\\n\";","export default \"
\\n {{ \\\"epg.configurationRegister.language.title\\\" | translate }}\\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
{{ \\\"epg.configurationRegister.field\\\" | translate }} {{element.language}} {{ \\\"epg.configurationRegister.code\\\" | translate }} {{element.id}} {{ \\\"epg.configurationRegister.actions\\\" | translate }} \\n \\n \\n
\\n\\n\\n\\n
\\n
\\n\";","export default \"
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n
\\n \\n \\n \\n {{ancinesList.date | date: 'yyyy'}} - {{ 'month.'+(ancinesList.date | date:'M') |\\n translate}}\\n \\n \\n
\\n
\\n {{ancineFile.name}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n \\n \\n \\n {{ancinesList.date | date: 'yyyy'}} - {{ 'month.'+(ancinesList.date | date:'M') |\\n translate}}\\n \\n \\n
\\n
\\n {{ancineFile.name}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n \\n
\\n \\n \\n \\n {{ancinesList.date | date: 'yyyy'}} - {{ 'month.'+(ancinesList.date | date:'M') |\\n translate}}\\n \\n \\n
\\n
\\n {{ancineFile.name}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n \\n
\";","export default \"
\\n {{ 'epg.ancine.title_descargas' | translate }}\\n\\n
\\n \\n
\\n\\n
\\n
\\n {{item.channelId.code}}\\n
\\n
\\n feed\\n \\n {{item.name}}\\n \\n
\\n
\\n\\n
\\n
\\n
\\n {{ 'epg.ancine.mensaje' | translate }}\\n
{{ 'epg.ancine.error' | translate }}
\\n \\n \\n
\\n
\\n
\\n
\";","export default \"
\\n\\n {{ 'epg.ancine.title' | translate }}\\n
\\n \\n
\\n
\\n\";","export default \"
\\n \\n
\\n\";","export default \"
\\n
\\n
{{ 'epg.feed.dialog.titleConfig' | translate }}
\\n \\n
\\n
\\n
\\n

{{ 'epg.feed.dialog.contentConfig' | translate }}

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\";","export default \"\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
{{ 'epg.feed.grid.columns.code' | translate }}{{element.code}}{{ 'epg.feed.grid.columns.name' | translate }}{{element.name}}{{ 'epg.feed.grid.columns.selected' | translate }}\\n \\n \\n
\\n\\n\\n\\n\";","export default \"
\\n {{ 'menu.configuration' | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n
\";","export default \"
\\n
\\n

{{ 'epg.config.title.fieldToSelect' | translate }}

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

({{fieldToSelect.field}})

\\n

{{fieldToSelect.alias}}

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

{{ 'epg.config.title.fieldSelected' | translate }}

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

({{fieldSelected.field}})

\\n

{{fieldSelected.alias}}

\\n

\\n
\\n
\\n
\";","export default \"
\\n \\n {{ 'epg.config.selectModule' | translate }}\\n \\n \\n {{module.description.toUpperCase()}}\\n \\n \\n {{ 'epg.config.validateModuleMessage' | translate }}\\n \\n \\n
\";","export default \"
\\n {{ 'epg.feed.title' | translate }}\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n\";","export default \"
\\n
\\n
{{ 'epg.feed.dialog.title' | translate }}
\\n \\n
\\n
\\n
\\n

{{ 'epg.feed.dialog.content' | translate }}

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n\";","export default \"
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\";","export default \"
\\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
{{ 'epg.feed.grid.columns.code' | translate }}{{element.code}}{{ 'epg.feed.grid.columns.name' | translate }}{{element.name}}{{ 'epg.feed.grid.columns.version' | translate }}\\n {{element.version > 0 ? element.version : 'epg.feed.grid.notAvailable' | translate}}\\n {{ 'epg.feed.grid.columns.subscription' | translate }}\\n \\n \\n
\\n \\n \\n \\n
\\n\";","export default \"
\\n
\\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\\n\";","export default \"\\n\\n\\n\\n\\n\";","export default \"
\\n \\n
\\n\";","export default \"
\\n \\n {{ 'epg.legal.reportType' | translate }}\\n \\n \\n {{reportType.description.toUpperCase()}}\\n \\n \\n {{ 'epg.legal.validateReportMessage' | translate }}\\n \\n\\n \\n {{ 'epg.legal.dateRange' | translate }}\\n \\n \\n \\n \\n \\n \\n \\n {{ 'epg.legal.validateRangeMessage' | translate }}\\n \\n \\n {{ 'epg.legal.validateRangeMessage' | translate }}\\n \\n \\n
\\n\";","export default \"
\\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n
{{ 'epg.feed.grid.columns.code' | translate }}{{element.code}}{{ 'epg.feed.grid.columns.name' | translate }}{{element.name}}{{ 'epg.feed.grid.columns.selected' | translate }}\\n \\n \\n
\\n \\n \\n \\n
\";","export default \"
\\n
\\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
\\n
\\n
\\n \\n
\\n
\";","export default \"
\\n {{ 'menu.legal' | translate }}\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n\";","export default \"
\\n {{ 'epg.monthly.title.title' | translate }}\\n
\\n
\\n \\n
\\n
\\n {{ 'epg.monthly.title.left' | translate }}\\n
\\n
\\n \\n {{ 'epg.monthly.feed' | translate }}\\n \\n \\n \\n \\n \\n\\n \\n \\n {{ i.feedtimezoneId.name }} - {{ i.language_id.code }} - {{i.country_id.code }}\\n \\n \\n \\n
\\n
\\n \\n {{ 'epg.monthly.date' | translate }}\\n \\n MM/YYYY\\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n {{ 'epg.monthly.title.rigth' | translate }}\\n
\\n
\\n \\n \\n \\n {{ archivo }}\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\";","export default \"
\\n {{ 'epg.monthly.title.error' | translate }}\\n
\\n
\\n {{item}}\\n
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\";","export default \"
\\n\\n \\n Network\\n \\n \\n {{networkCrtl.value ? getNetworkById(networkCrtl.value[0]) : ''}}\\n 1\\\">\\n (+{{networkCrtl.value.length - 1}} {{networkCrtl.value?.length === 2 ? 'other' : 'others'}})\\n \\n \\n
\\n \\n
\\n \\n {{ allNetworksSelected ? 'Deseleccionar todos' : 'Seleccionar todos' }}\\n \\n \\n {{network.nameEn}}\\n \\n
\\n {{ 'epg.legal.validateReportMessage' | translate\\n }}\\n
\\n\\n \\n {{\\n \\\"Period\\\"\\n }}\\n \\n \\n {{ period }}\\n \\n \\n \\n\\n
\\n \\n
\\n\\n
\\n\";","export default \"
\\n {{ 'epg.networks_upload.title' | translate }}\\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 \\n \\n \\n\\n \\n \\n
{{ \\\"epg.networks_upload.table.fileName\\\" |\\n translate }} {{element.tapkitFileId.name}} {{ \\\"epg.networks_upload.table.fileType\\\" | translate }} {{element.tapkitFileId.fileType}} {{ \\\"epg.networks_upload.table.feed\\\" | translate }}\\n {{getNetworkFromId(element.tapkitFileId.networkId)}} {{ \\\"epg.networks_upload.table.language\\\" | translate }}\\n {{element.tapkitFileId.language}} {{ \\\"epg.networks_upload.table.date\\\" | translate }} {{element.tapkitFileId.lastModification | date:'MM/yyyy'}} {{ \\\"epg.networks_upload.table.delete\\\" | translate }}\\n \\n
\\n\\n \\n \\n \\n\\n
\\n\";","export default \"
\\n\\n
\\n

Network Upload

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

{{ \\\"epg.networks_upload.table.fileName\\\" | translate }}

\\n

{{ \\\"epg.networks_upload.table.fileType\\\" | translate }}

\\n

{{ \\\"epg.networks_upload.table.feed\\\" | translate }}

\\n

{{ \\\"epg.networks_upload.table.language\\\" | translate }}

\\n

{{ \\\"epg.networks_upload.table.date\\\" | translate }}

\\n

{{ \\\"epg.networks_upload.table.status\\\" | translate }}

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

\\n \\n \\n \\n {{ file.fileName }}\\n

\\n \\n \\n {{\\n \\\"epg.networks_upload.file_type_selector\\\" | translate\\n }}\\n \\n \\n {{ fileType }}\\n \\n \\n \\n \\n \\n {{\\n \\\"epg.networks_upload.feed_selector\\\" | translate\\n }}\\n \\n \\n {{ feed }}\\n \\n \\n \\n \\n \\n {{\\n \\\"epg.networks_upload.language_selector\\\" | translate\\n }}\\n \\n \\n {{ language }}\\n \\n \\n \\n \\n \\n MM/YYYY\\n \\n \\n \\n \\n \\n

{{ file.status }}\\n \\n check\\n

\\n \\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
\\n \\n \\n \\n
\\n
\\n
\\n\";","export default \"
\\n {{ 'epg.networks.title' | translate }}\\n \\n \\n
\\n
\\n
\\n
\\n \\\"\\\"\\n
\\n
{{ getNetwork(enc.networkId)}}
\\n
{{ enc.title }}
\\n
{{ enc.date | date:'yyyy-MM-dd'}}
\\n
\\n
\\n
\\n = 5\\\">\\n
\\n
\\n \\\"\\\"\\n
\\n
{{ getNetwork(enc.networkId)}}
\\n
{{ enc.title }}
\\n
{{ enc.date | date:'yyyy-MM-dd'}}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n \\n
\\n \\n
\\n \\\"Imagen\\\"\\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 \\n
{{ networkDetails.about }}
\\n
\\n \\n
\\n
\\n
{{'epg.networks.contacts.'+ listContacts.typeContact |\\n translate }}
\\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 {{ item.date | date: 'yyyy'}} - {{ 'month.'+(item.date | date:'M') | translate}}\\n \\n \\n
\\n
\\n \\n {{ file.name }}\\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 'epg.networks.dailygrids.name' |\\n translate }}\\n {{element.name}} {{\\n 'epg.networks.dailygrids.download' | translate }}\\n \\n
\\n \\n
\\n
\\n \\n
\\n\\n \\n \\n \\n
\\n \\n \\n \\n {{ item.date | date: 'yyyy'}} - {{ 'month.'+(item.date | date:'M') | translate}}\\n \\n \\n
\\n
\\n \\n {{ file.name }}\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\\n \\n \\n \\n
\\n \\n \\n \\n {{ item.date | date: 'yyyy'}} - {{ 'month.'+(item.date | date:'M') | translate}}\\n \\n \\n
\\n
\\n \\n {{ file.name }}\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\\n \\n \\n \\n
\\n \\n \\n \\n {{ item.date | date: 'yyyy'}} - {{ 'month.'+(item.date | date:'M') | translate}}\\n \\n \\n
\\n
\\n \\n {{ file.name }}\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\\n \\n \\n\\n \\n
\\n
\\n \\n {{ 'epg.monthly.date' | translate }}\\n \\n MM/DD/YYYY\\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
{{ 'epg.networks.localbreaks.feed' |\\n translate }} {{element.feedName}} {{\\n 'epg.networks.localbreaks.filename' |\\n translate }} {{element.name}} {{\\n 'epg.networks.localbreaks.download' | translate }}\\n \\n
\\n \\n
\\n
\\n \\n \\n
\\n\\n \\n \\n \\n
\\n \\n \\n \\n {{ item.type }}\\n \\n \\n
\\n
\\n \\n {{ file.name }}\\n \\n
\\n
\\n
\\n
\\n
\\n \\n
\\n\\n \\n \\n \\n
\\n\\n \\n \\n \\n {{ 'epg.networks.file.createdFiles' | translate }}\\n \\n \\n
\\n
\\n \\n {{ file.name }} - {{ 'epg.networks.file.lastModification' | translate }}: {{\\n file.lastModification }}\\n \\n
\\n
\\n
\\n\\n \\n \\n \\n {{ 'epg.networks.file.modifiedFiles' | translate }}\\n \\n \\n
\\n
\\n \\n {{ file.name }} - {{ 'epg.networks.file.lastModification' | translate }}: {{\\n file.lastModification }}\\n \\n
\\n
\\n
\\n\\n
\\n
\\n \\n
\\n\\n\\n
\\n
\\n
\\n\";","export default \"
\\n {{ 'epg.networks.title_feeds' | translate }}\\n\\n
\\n
\\n \\\"feeds\\\"\\n
\\n
\\n \\n

Feeds

\\n
\\n

Horarios

\\n
\\n
\\n\\n
\\n\\n
\\n\";","export default \"
\\n {{ 'epg.networks.title_descargas' | translate }}\\n\\n
\\n \\n
\\n\\n
\\n\\n
\\n {{ network.network_code}}\\n
\\n
\\n

{{ tabsNames[network.tab_id]}}

\\n
\\n
    \\n
  • \\n
    \\n \\n {{ network.name }}\\n \\n \\n
    \\n
  • \\n
\\n
\\n\\n
\\n\\n
\\n
\\n
\\n {{ 'epg.networks.mesages.download' | translate }}\\n
{{ 'epg.networks.mesages.error' | translate }}
\\n \\n \\n
\\n
\\n
\";","export default \"
\\n {{ 'epg.networks.title_websites' | translate }}\\n
\\n\\n \\n\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\\n
\\n\";","export default \"
\\n {{ 'epg.news.title' | translate }}\\n\\n\\n\\n \\n
\\n \\n \\n
\\n \\n Buscar\\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 \\n
{{ 'epg.news.table.date' |\\n translate }} {{element.date}} {{ 'epg.news.table.expirationDate' | translate }} {{element.expirationDate}} {{ 'epg.news.table.title' | translate }}\\n {{element.title}} {{ 'epg.news.table.subtitle' | translate }}\\n {{element.subtitle}} {{ 'epg.news.table.language' | translate }} {{element.language}}
\\n\\n \\n \\n \\n\\n
\";","export default \"
\\n {{ 'epg.news.title' | translate }}\\n\\n
\\n
\\n
\\n\\n \\n
\\n
\\n \\n {{ 'epg.news.table.title' | translate }}\\n \\n \\n \\n {{ 'epg.news.table.subtitle' | translate }}\\n \\n \\n
\\n
\\n \\n {{ 'epg.news.table.desc' | translate }}\\n \\n \\n
\\n
\\n\\n \\n
\\n
\\n \\n {{ 'epg.news.table.network' | translate }}\\n \\n \\n {{ network.code }}\\n \\n \\n \\n\\n \\n {{ 'epg.news.table.date' | translate }}\\n \\n MM/DD/YYYY\\n \\n \\n \\n
\\n
\\n \\n {{ 'epg.news.table.language' | translate }}\\n \\n \\n {{ language.description }}\\n \\n \\n \\n\\n \\n {{ 'epg.news.table.expirationDate' | translate }}\\n \\n MM/DD/YYYY\\n \\n \\n \\n
\\n \\n
\\n {{ 'epg.news.messages.expirationDateGratter' | translate }}\\n
\\n
\\n \\n {{ 'epg.news.button.selectVideo' | translate }}\\n \\n \\n
\\n\\n \\n
\\n
\\n
\\n \\\"Imagen\\\"\\n
\\n {{ imageMessage }}\\n
\\n \\n \\n
\\n
\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n \\n
\\n \\n \\n
\\n\\n
\\n\\n
\";","export default \"\\n {{ 'epg.newsletters.draft.filter'| translate }}\\n \\n\\n\\n\\n{{ 'epg.newsletters.draft.draftbyme' | translate }}\\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 \\n \\n \\n \\n\\n \\n \\n\\n\\n
{{ 'epg.newsletters.draft.table.datecreated' | translate }} {{ row.dateCreated | date: 'short'}} {{ 'epg.newsletters.draft.table.from' | translate }} {{ row.from }} {{ 'epg.newsletters.draft.table.subject' | translate }} {{ row.subject }} {{ 'epg.newsletters.draft.table.receivers' | translate }} {{ row.receivers }} {{ 'epg.newsletters.draft.table.network' | translate }} {{ row.networks }} {{ 'epg.newsletters.draft.table.language' | translate }} {{ row.language }} {{ 'epg.newsletters.draft.table.countries' | translate }} {{ row.countries }}
\\n\\n \\n \\n
\\n
\\n \\n
\\n\";","export default \"\\n\\n\\n\\n\";","export default \"\\n {{ 'epg.newsletters.sent.filter' | translate }}\\n \\n\\n\\n\\n{{ 'epg.newsletters.sent.sentbyme' | translate }}\\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 \\n \\n \\n \\n\\n \\n \\n\\n\\n
{{ 'epg.newsletters.sent.table.datecreated' | translate }} {{ row.dateCreated | date:'short' }} {{ 'epg.newsletters.sent.table.from' | translate }} {{ row.from }} {{ 'epg.newsletters.sent.table.subject' | translate }} {{ row.subject }} {{ 'epg.newsletters.sent.table.receivers' | translate }} {{ row.receivers }} {{ 'epg.newsletters.sent.table.network' | translate }} {{ row.networks }} {{ 'epg.newsletters.sent.table.language' | translate }} {{ row.language }} {{ 'epg.newsletters.sent.table.countries' | translate }} {{ row.countries }}
\\n\\n \\n \\n
\\n
\\n \\n
\\n\";","export default \"
\\n {{ 'epg.newsletters.title' | translate }}\\n\\n\\n \\n \\n
\\n
\\n \\n Network\\n \\n \\n {{networkCrtl.value ? getNetworkById(networkCrtl.value[0]) : ''}}\\n 1\\\">\\n (+{{networkCrtl.value.length - 1}} {{networkCrtl.value?.length === 2 ? 'other' : 'others'}})\\n \\n \\n
\\n \\n
\\n \\n {{ allNetworksSelected ? 'Deseleccionar todos' : 'Seleccionar todos' }}\\n \\n \\n {{network.nameEn}}\\n \\n
\\n {{ 'epg.legal.validateReportMessage' | translate }}\\n
\\n \\n Country\\n \\n \\n {{countryCrtl.value ? getCountryById(countryCrtl.value[0]) : ''}}\\n 1\\\">\\n (+{{countryCrtl.value.length - 1}} {{countryCrtl.value?.length === 2 ? 'other' : 'others'}})\\n \\n \\n \\n {{ allCountriesSelected ? 'Deseleccionar todos' : 'Seleccionar todos' }}\\n \\n \\n {{country.name}}\\n \\n \\n {{ 'epg.legal.validateReportMessage' | translate }}\\n \\n \\n Lang\\n \\n \\n {{lang.name}}\\n \\n \\n {{ 'epg.legal.validateReportMessage' | translate }}\\n \\n
\\n
\\n \\n Users\\n \\n \\n {{usersCrtl.value ? getUserById(usersCrtl.value[0]) : ''}}\\n 1\\\">\\n (+{{usersCrtl.value.length - 1}} {{usersCrtl.value?.length === 2 ? 'other' : 'others'}})\\n \\n \\n
\\n \\n
\\n \\n {{ AllUsersSelected ? 'Deseleccionar todos' : 'Seleccionar todos' }}\\n \\n \\n {{ user.username }}\\n \\n
\\n
\\n \\n Only turner Employees\\n \\n \\n Seleccionar templates\\n \\n \\n {{ template.name }}\\n \\n \\n \\n
\\n
\\n \\n Subject\\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\";","export default \"
\\n {{ \\\"epg.profile.account.title\\\" | translate }}\\n
\\n
\\n \\n {{ \\\"epg.profile.account.email\\\" | translate }}\\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.account.language\\\" | translate }}\\n \\n \\n {{lang.name}}\\n \\n \\n \\n
\\n\\n
\\n \\n {{ \\\"epg.profile.personal.name\\\" | translate }}\\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.lastname\\\" | translate }}\\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.company\\\" | translate }}\\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.country\\\" | translate }}\\n \\n \\n {{country.name}}\\n \\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.city\\\" | translate }}\\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.address\\\" | translate }}\\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.zipcode\\\" | translate }}\\n \\n \\n
\\n\\n \\n\\n\\n
\\n
\\n {{ 'epg.profile.account.success' | translate }}\\n
\\n
\\n {{ 'epg.profile.account.error' | translate }}\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n\";","export default \"
\\n {{ \\\"epg.profile.password.title\\\" | translate }}\\n
\\n
\\n \\n {{ \\\"epg.profile.password.currentPassword\\\" | translate }}\\n \\n \\n \\n {{ hideCurrentPassword ? 'visibility_off' : 'visibility' }}\\n \\n \\n \\n {{ 'epg.profile.password.error.currentPassword' | translate }}\\n \\n \\n
\\n \\n\\n
\\n \\n {{ \\\"epg.profile.password.newPassword\\\" | translate }}\\n \\n \\n \\n {{ hideNewPassword ? 'visibility_off' : 'visibility' }}\\n \\n \\n \\n {{ 'epg.profile.password.error.newPassword' | translate }}\\n \\n \\n
\\n \\n
\\n \\n {{ \\\"epg.profile.password.confirmPassword\\\" | translate }}\\n \\n \\n \\n {{ hideConfirmPassword ? 'visibility_off' : 'visibility' }}\\n \\n \\n \\n {{ 'epg.profile.password.error.confirmPassword' | translate }}\\n \\n \\n
\\n\\n \\n
\\n
\\n {{ 'epg.profile.password.error.confirmPasswordMatch' | translate }}\\n
\\n
\\n\\n
\\n
\\n {{ 'epg.profile.password.success' | translate }}\\n
\\n
\\n {{ 'epg.profile.password.errorChangePassword' | translate }}\\n
\\n
\\n\\n
\\n \\n
\\n
\\n\\n\\n\\n
\\n\";","export default \"
\\n {{ \\\"epg.profile.personal.title\\\" | translate }}\\n
\\n
\\n \\n {{ \\\"epg.profile.personal.name\\\" | translate }}\\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.lastname\\\" | translate }}\\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.company\\\" | translate }}\\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.country\\\" | translate }}\\n \\n \\n {{country.name}}\\n \\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.city\\\" | translate }}\\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.address\\\" | translate }}\\n \\n \\n
\\n
\\n \\n {{ \\\"epg.profile.personal.zipcode\\\" | translate }}\\n \\n \\n
\\n
\\n
\\n {{ 'epg.profile.personal.success' | translate }}\\n
\\n
\\n {{ 'epg.profile.personal.error' | translate }}\\n
\\n
\\n
\\n \\n
\\n
\\n\\n\\n
\\n\";","export default \"
\\n {{ 'epg.profile.title' | translate }}\\n\\n
\\n
\\n
    \\n
  • {{ \\\"epg.profile.account.title\\\" | translate }}
  • \\n \\n
  • {{ \\\"epg.profile.password.title\\\" | translate }}
  • \\n
\\n
\\n
\\n
\\n \\n
\\n \\n
\\n \\n
\\n
\\n
\\n
\\n\";","export default \"
\\n {{ 'epg.users.dialog.title' | translate }} : {{ data.firstName + ' ' + data.lastName }}\\n
\\n
\\n
{{ 'epg.users.dialog.info-user' | translate }}
\\n
\\n
    \\n
  • {{ 'epg.users.dialog.company' | translate }}: {{ data.company ? data.company.name : ''}}
  • \\n
  • {{ 'epg.users.dialog.type' | translate }}: Prensa
  • \\n
  • {{ 'epg.users.dialog.address' | translate }}: {{ data.address? data.address.street : '' }}
  • \\n
  • {{ 'epg.users.dialog.location' | translate }}: {{ data.address ? data.address.city : ''}}, {{ data.address ? data.address.country: '' }}
  • \\n
\\n
\\n
{{ 'epg.users.dialog.info-account' | translate }}
\\n
\\n
    \\n
  • {{ 'epg.users.dialog.user' | translate }}: {{ data.username }}
  • \\n
  • {{ 'epg.users.dialog.language' | translate }}: {{getLanguageName(data.language)}}
  • \\n
\\n
\\n
\\n
\\n
{{ 'epg.users.dialog.history' | translate }}
\\n
\\n
    \\n
  • {{ 'epg.users.dialog.register-date' | translate }}: {{ data.dateCreated }}
  • \\n
  • {{ 'epg.users.dialog.last-login' | translate }}: {{ data.lastLogin }}
  • \\n
  • {{ 'epg.users.dialog.downloads' | translate }}: 0 archivos
  • \\n
  • {{ 'epg.users.dialog.state' | translate }}: {{ getState(data.state )}}
  • \\n
\\n
\\n
\\n
\\n

{{ 'epg.users.dialog.roles' | translate }}

\\n
\\n
\\n {{ rol.authority }}\\n \\n
\\n\\n
\\n
\\n
\\n \\n Filter\\n \\n \\n \\n {{ user.username }}\\n \\n \\n \\n \\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n
\\n
\\n\\n\\n
\\n\";","export default \"
\\n {{ 'epg.users.title' | translate }}\\n
\\n\\n \\n Filter\\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\\n
{{ 'epg.users.table.name' | translate }} {{ row.firstName }} {{ 'epg.users.table.lastname' | translate }} {{ row.lastName }} {{ 'epg.users.table.email' | translate }} {{ row.username }} {{ 'epg.users.table.state' | translate }} \\n \\n {{ getState(row.state)}}\\n \\n \\n {{ getState(row.state)}}\\n \\n \\n {{ getState(row.state)}}\\n \\n \\n {{ getState(row.state)}}\\n \\n \\n {{ getState(row.state)}}\\n \\n \\n \\n \\n \\n \\n \\n
\\n\\n \\n \\n\\n
\\n
\\n \\n\\n
\\n
0\\\">\\n \\n \\n \\n \\n
\\n
\\n
\\n\";","export default \"
\\n {{ \\\"Logs:\\\" + file_name }}\\n\\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n \\n \\n\\n \\n \\n
{{ 'epg.visual-logs.logs.columns.paso' | translate }} {{element.step}} {{ 'epg.visual-logs.logs.columns.detalle' | translate }}\\n {{element.detail}} {{ 'epg.visual-logs.logs.columns.hora_de_inicio' | translate }}\\n {{element.start_time}}
\\n \\n\\n \\n\\n
\\n {{ 'epg.visual-logs.logs.mensaje' | translate }}\\n
\\n\\n
\\n \\n
\\n \\n\\n
\";","export default \"
\\n {{ 'epg.visual-logs.title' | translate }}\\n\\n \\n
\\n \\n {{ 'epg.visual-logs.selectModule' | translate }}\\n \\n {{i.process_name}}\\n \\n \\n
\\n\\n
\\n
\\n
\\n \\n {{ 'epg.visual-logs.feedFilter' | translate }}\\n \\n Feeds\\n {{i.feed}}\\n \\n \\n \\n
\\n
\\n \\n {{ 'epg.visual-logs.statusFilter' | translate }}\\n \\n Status\\n {{i}}\\n \\n \\n
\\n
\\n \\n {{ 'epg.legal.dateRange' | translate }}\\n \\n \\n \\n \\n \\n \\n \\n {{ 'epg.legal.validateRangeMessage' | translate }}\\n \\n \\n {{ 'epg.legal.validateRangeMessage' | translate }}\\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\\n \\n \\n \\n \\n\\n \\n \\n
{{ 'epg.visual-logs.file.columns.nombre_de_archivo' |\\n translate }} {{element.file_name}} {{ 'epg.visual-logs.file.columns.feed' | translate }} {{element.feed}} {{ 'epg.visual-logs.file.columns.estado' | translate }}\\n {{element.status}} {{ 'epg.visual-logs.file.columns.fecha' | translate }}\\n {{element.date}} {{ 'epg.visual-logs.file.columns.hora' | translate }} {{element.time}} {{ 'epg.visual-logs.file.columns.boton' | translate }}\\n \\n
\\n \\n
\\n
\\n \\n \\n \\n \\n
\";","export default \"

{{ 'login.accessDenied' | translate }}

\\n\";","export default \"
\\n
\\n
{{ 'timeout.dialog.title' | translate }}
\\n \\n
\\n
\\n
\\n

{{ 'timeout.dialog.content' | translate: timeout }}

\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\";","export default \"
\\n {{ 'login.pendingActivation' | translate }}\\n
\\n
\\n {{ 'login.accountRejected' | translate }}\\n
\\n
\\n {{ 'login.inactiveAccount' | translate }}\\n
\\n
\\n {{ 'login.errorLogin' | translate }}\\n
\\n
\\n {{ 'login.withoutAnyRole' | translate }}\\n
\\n
\\n {{ 'login.title' | translate }}\\n
\\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'login.form.usernameValid' | translate }}
\\n
{{ 'login.form.usernameValidEmail' | translate }}
\\n
\\n
\\n
\\n
\\n \\n \\n \\n
\\n \\n\\n
\\n
{{ 'login.form.passwordValid' | translate }}
\\n
\\n
\\n {{ 'login.form.forwotPassword' | translate }}\\n\\n
\\n \\n \\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\\n\\n\\n\\n\";","export default \"
\\n {{ 'recovery.title' | translate }}\\n

{{ 'recovery.subtitle' | translate }}

\\n
\\n\\n
\\n
\\n {{ 'recovery.success' | translate }}\\n
\\n

{{ 'recovery.redirect' | translate }} login.

\\n
\\n
\\n
\\n {{ 'recovery.error' | translate }}\\n
\\n
\\n\\n\\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'recovery.form.emailRequired' | translate }}
\\n
{{ 'recovery.form.emailValid' | translate }}
\\n
\\n\\n
\\n\\n
\\n \\n
\\n
\\n
\\n\";","export default \"
\\n {{ 'signup.successRegister' | translate }}\\n
\\n
\\n {{ 'signup.errorRegister' | translate }}\\n
\\n
\\n {{ 'signup.userAlreadyExists' | translate }}\\n
\\n
\\n {{ 'signup.error.corporateEmailRequired' | translate }}\\n
\\n
\\n {{ 'signup.title' | translate }}\\n
\\n {{ 'signup.description' | translate }}\\n
\\n
\\n {{ 'signup.subtitleLeft' | translate }}\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'signup.error.nameValid' | translate }}
\\n
{{ 'signup.error.nameMaxLength' | translate }}
\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'signup.error.lastNameValid' | translate }}
\\n
{{ 'signup.error.lastNameMaxLength' | translate }}
\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'signup.error.emailValid' | translate }}
\\n
{{ 'signup.error.emailInvalidEmail' | translate }}
\\n
\\n
\\n\\n \\n
\\n
\\n
\\n \\n \\n \\n
\\n \\n \\n {{ passwordVisible ? 'visibility_off' : 'visibility' }}\\n \\n
\\n
{{ 'signup.error.passwordValid' | translate }}
\\n
{{ 'signup.error.passwordMinLength' | translate }}
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
{{ getPasswordStrengthMessage() }}
\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n \\n \\n {{ confirmPasswordVisible ? 'visibility_off' : 'visibility' }}\\n \\n
\\n
{{ 'signup.error.confirmPasswordValid' | translate }}
\\n {{ 'signup.error.confirmPasswordMatch' | translate }}
\\n
\\n
\\n\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'signup.error.languageValid' | translate }}
\\n
{{ 'signup.error.languageDefaultSelected' | translate }}
\\n
\\n
\\n
\\n\\n
\\n {{ 'signup.subtitleRight' | translate }}\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'signup.error.categoryValid' | translate }}
\\n
{{ 'signup.error.categoryDefaultSelected' | translate }}\\n
\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'signup.error.companyValid' | translate }}
\\n
{{ 'signup.error.companyMaxLength' | translate }}
\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'signup.error.countryValid' | translate }}
\\n
{{ 'signup.error.countryDefaultSelected' | translate }}
\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'signup.error.cityValid' | translate }}
\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'signup.error.addressValid' | translate }}
\\n
\\n
\\n\\n \\n
\\n
\\n \\n \\n \\n
\\n \\n
\\n
{{ 'signup.error.zipCodeValid' | translate }}
\\n
\\n
\\n
\\n \\n
\\n \\n {{ 'signup.terms' | translate }}\\n {{ 'signup.termsLink' | translate }}\\n
\\n
{{ 'signup.error.termsValid' | translate }}
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n
\\n
\";","export default \"

\\n {{ \\\"popup.termsOfUseTitle\\\" | translate }}\\n ×\\n

\\n
\\n

{{ \\\"popup.termsOfUseSubtitle1\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText1\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText2\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseSubtitle2\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText3\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText4\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText5\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText6\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText7\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText8\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText9\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText10\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText11\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText12\\\" | translate }}

\\n

{{ \\\"popup.termsOfUseText13\\\" | translate }}

\\n
\\n\\n\";","export default \"
\\n {{message.text}}\\n ×\\n
\";","export default \"
\\n \\n

{{ 'epg.users.dialog.messageDeleteAll' | translate:{ count: data.count} }}

\\n

{{ 'epg.users.dialog.messageconfirm' | translate }}

\\n
\\n
\\n
\\n \\n \\n
\\n
\\n\\n\";","export default \"\";","export default \"\\n\";","export default \"\\n \\n \\n \\n \\n \\n\";","export default \"
\\n \\n
\\n\";","export default \".container {\\n margin-top: 20px;\\n width: 100%;\\n min-height: 40%;\\n}\\n\\n.app-container-custom{\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n min-height: 100vh;\\n}\\n\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLDhCQUE4QjtJQUM5QixpQkFBaUI7QUFDckIiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDAlO1xufVxuXG4uYXBwLWNvbnRhaW5lci1jdXN0b217XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuIl19 */\";","import { Component } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { DEFAULT_INTERRUPTSOURCES, Idle } from '@ng-idle/core';\nimport { DialogTimeoutComponent } from './login/dialog-timeout/dialog-timeout.component';\nimport { AuthenticationService } from './shared/service/authentication.service';\nimport { environment } from 'src/environments/environment';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n\n dialogRef: MatDialogRef;\n\n constructor(\n public dialog: MatDialog,\n private authService: AuthenticationService,\n private idle: Idle) {\n\n this.defineSessionTimeout();\n }\n\n private defineSessionTimeout(): void {\n this.idle.setIdle(environment.timeout);\n this.idle.setTimeout(environment.timeoutPopup);\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\n\n this.idle.onIdleEnd.subscribe(() => this.idle.watch());\n this.idle.onIdleStart.subscribe(() => this.openDialog());\n this.idle.onTimeout.subscribe(() => {\n this.dialogRef.close();\n this.authService.logout();\n });\n }\n\n private openDialog(): void {\n this.dialogRef = this.dialog.open(DialogTimeoutComponent, {\n height: '210px',\n width: '356px',\n disableClose: true,\n autoFocus: true\n });\n\n this.dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.authService.logout();\n }\n });\n }\n\n}\n","import { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MatPaginatorIntl, MatPaginatorModule } from '@angular/material/paginator';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { JwtModule } from '@auth0/angular-jwt';\nimport { NgIdleModule } from '@ng-idle/core';\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { AlertComponent } from './shared/alert/alert.component';\nimport { AppComponent } from './app.component';\nimport { AppRoutingModule } from './app.routing.module';\nimport { EpgModule } from './epg/epg.module';\nimport { FooterComponent } from './shared/footer/footer.component';\nimport { HeaderComponent } from './shared/header/header.component';\nimport { LoginModule } from './login/login.module';\nimport { NotFoundComponent } from './shared/not-found/not-found.component';\nimport { CustomPaginator } from './shared/utils/custom-paginator';\nimport { ErrorInterceptor } from './shared/utils/error.interceptor';\nimport { JwtInterceptor } from './shared/utils/jwt.interceptor';\nimport { VisualLogsService } from './shared/service/visual-logs.service';\nimport { UtilsDialogsComponent } from './epg/visual-logs/utils-dialogs/visual-logs-dialogs.component';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatProgressBar, MatProgressBarModule } from '@angular/material/progress-bar';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport { MatButtonModule } from '@angular/material/button';\nimport { ConfirmDialogComponent } from './shared/dialogs/confirm-dialog/confirm-dialog.component';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RegisterModule } from './register/register.module';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { QuillModule } from 'ngx-quill'\n\n@NgModule({\n declarations: [\n AppComponent,\n HeaderComponent,\n FooterComponent,\n NotFoundComponent,\n AlertComponent,\n UtilsDialogsComponent,\n ConfirmDialogComponent,\n ],\n // El orden de los modulos es importante\n imports: [\n BrowserModule,\n MatProgressBarModule,\n MatTableModule,\n MatToolbarModule,\n MatPaginatorModule,\n MatToolbarModule,\n MatIconModule,\n MatButtonModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n }),\n JwtModule.forRoot({\n config: {\n tokenGetter\n }\n }),\n NgIdleModule.forRoot(),\n HttpClientModule,\n BrowserAnimationsModule,\n LoginModule,\n QuillModule.forRoot(),\n EpgModule,\n RegisterModule,\n MatDialogModule,\n // Tener en cuenta que el AppRoutingModule, debe ser el ultimo\n AppRoutingModule,\n ],\n providers: [\n { provide: MatPaginatorIntl, useClass: CustomPaginator },\n { provide: MAT_DATE_LOCALE, useValue: 'en-GB' },\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\n VisualLogsService\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\n// Requerido para compilacion con AOT\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}\n\n// Inicializa el config de JwtModule\nexport function tokenGetter() {\n return sessionStorage.getItem('');\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { AccessDeniedComponent } from './login/access-denied/access-denied.component';\nimport { NotFoundComponent } from './shared/not-found/not-found.component';\n\nconst routes: Routes = [\n {\n path: '',\n redirectTo: 'login',\n pathMatch: 'full'\n },\n {\n path: 'access_denied',\n component: AccessDeniedComponent\n },\n {\n path: 'login',\n loadChildren: () => import('./login/login.module').then(m => m.LoginModule)\n },\n {\n path: 'register',\n loadChildren: () => import('./register/register.module').then(m => m.RegisterModule)\n },\n {\n path: 'epg/networks',\n loadChildren: () => import('./epg/epg.module').then(m => m.EpgModule)\n },\n {\n path: 'epg/networks/:locale/:refresh_token',\n loadChildren: () => import('./epg/epg.module').then(m => m.EpgModule)\n },\n {\n path: '**',\n component: NotFoundComponent\n }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","export default \".menu-card {\\n transition: transform 0.3s, box-shadow 0.3s;\\n border: none;\\n border-radius: 10px;\\n }\\n\\n .menu-card:hover {\\n transform: translateY(-5px);\\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);\\n }\\n\\n .card-title {\\n font-weight: bold;\\n }\\n\\n .card-text {\\n color: #6c757d;\\n }\\n\\n .btn-block {\\n width: 100%;\\n }\\n\\n .row {\\n display: flex;\\n flex-wrap: wrap;\\n margin-right: -15px;\\n margin-left: -15px;\\n flex-direction: row-reverse;\\n align-content: center;\\n justify-content: center;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2FkbWluLWNvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSwyQ0FBMkM7SUFDM0MsWUFBWTtJQUNaLG1CQUFtQjtFQUNyQjs7RUFFQTtJQUNFLDJCQUEyQjtJQUMzQix5Q0FBeUM7RUFDM0M7O0VBRUE7SUFDRSxpQkFBaUI7RUFDbkI7O0VBRUE7SUFDRSxjQUFjO0VBQ2hCOztFQUVBO0lBQ0UsV0FBVztFQUNiOztFQUVBO0lBQ0UsYUFBYTtJQUNiLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLDJCQUEyQjtJQUMzQixxQkFBcUI7SUFDckIsdUJBQXVCO0FBQzNCIiwiZmlsZSI6InNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2FkbWluLWNvbmZpZ3VyYXRpb25zLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWVudS1jYXJkIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcywgYm94LXNoYWRvdyAwLjNzO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB9XG5cbiAgLm1lbnUtY2FyZDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB9XG5cbiAgLmNhcmQtdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLmNhcmQtdGV4dCB7XG4gICAgY29sb3I6ICM2Yzc1N2Q7XG4gIH1cblxuICAuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4iXX0= */\";","import { Component, NgModule, OnInit } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { ConfigurationRegisterComponent } from './configuration-register/configuration-register.component';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-admin-configurations',\n templateUrl: './admin-configurations.component.html',\n styleUrls: ['./admin-configurations.component.css']\n})\nexport class AdminConfigurationsComponent implements OnInit {\n\n constructor(\n private translateService: TranslateService,\n ) {\n }\n\n ngOnInit(): void {\n }\n\n}\n\n\n\n\n","export default \".mat-elevation-z8 {\\n width: 100%;\\n}\\n\\n.header {\\n display: flex;\\n justify-content: flex-end;\\n align-items: flex-end;\\n justify-content:flex-end;\\n margin-bottom: 16px;\\n}\\n\\n.loading-spinner.delete {\\n margin-right: 0.5rem;\\n }\\n\\n.delete-btn{\\n margin-right: 0.5rem;\\n }\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.form-container {\\n padding: 0px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n\\n}\\n\\n.container {\\n padding: 0 5% ;\\n}\\n\\n.mat-cell, .mat-header-cell {\\n text-align: center;\\n}\\n\\n.mat-cell {\\n vertical-align: middle;\\n}\\n\\n.column-name {\\n width: 15%;\\n }\\n\\n.column-email {\\n width: 25%;\\n }\\n\\n.column-type{\\n width: 100px;\\n }\\n\\n.column-zone{\\n width: 18%;\\n }\\n\\n.column-network {\\n width: 150px;\\n }\\n\\n.column-actions{\\n width: 7%;\\n }\\n\\n.column-actions, .column-name, .column-email, .column-network, .column-type, .column-zone{\\n text-align: center;\\n }\\n\\n.mat-header-cell{\\n padding: 0 !important;\\n}\\n\\n.mat-cell{\\n padding: 0 !important;\\n}\\n\\n.mat-sort-header-container {\\n display: flex !important;\\n justify-content: center !important;\\n}\\n\\n.filter-dropdown-container {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n }\\n\\n.navbutton { \\n background-color: #3f51b5!important;\\n margin-bottom: 15px;\\n margin-left: 1.5rem !important;\\n height: 30px;\\n padding-left: 4px;\\n}\\n\\n.filter-dropdown-container button {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n width: 100%;\\n border: none;\\n background: transparent;\\n padding: 0.5rem 1rem;\\n text-align: left;\\n cursor: pointer;\\n }\\n\\n.filter-dropdown-container mat-icon {\\n margin-left: auto;\\n }\\n\\n.mat-menu-panel {\\n max-height: 400px; /* Ajusta la altura máxima del menú */\\n overflow-y: auto;\\n }\\n\\n.mat-checkbox {\\n margin: 0.5rem 1rem;\\n }\\n\\n.filter-dropdown {\\n width: 150px;\\n }\\n\\n.loading-spinner {\\n display: flex;\\n justify-content: center;\\n margin-top: 5%;\\n }\\n\\n::ng-deep .error-snackbar {\\n color: white;\\n background-color: red;\\n}\\n\\n::ng-deep .error-snackbar .mat-simple-snackbar-action {\\n color: white;\\n background-color: red;\\n}\\n\\n::ng-deep .SuccessfulSnackbar{\\n background-color: #038566!important;\\n color: white!important;\\n}\\n\\n::ng-deep .SuccessfulSnackbar .mat-simple-snackbar-action {\\n color: white!important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tY29udGFjdHMvY29uZmlndXJhdGlvbi1jb250YWN0cy9jb25maWd1cmF0aW9uLWNvbnRhY3RzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFXO0FBQ2I7O0FBRUE7RUFDRSxhQUFhO0VBQ2IseUJBQXlCO0VBQ3pCLHFCQUFxQjtFQUNyQix3QkFBd0I7RUFDeEIsbUJBQW1CO0FBQ3JCOztBQUVBO0lBQ0ksb0JBQW9CO0VBQ3RCOztBQUVBO0lBQ0Usb0JBQW9CO0VBQ3RCOztBQUVGO0VBQ0UsY0FBYztFQUNkLDhCQUE4QjtFQUM5QixlQUFlO0VBQ2YsV0FBVztFQUNYLFdBQVc7QUFDYjs7QUFJQTtFQUNFLFlBQVk7RUFDWixzQkFBc0I7RUFDdEIsa0JBQWtCOztBQUVwQjs7QUFFQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxzQkFBc0I7QUFDeEI7O0FBRUE7SUFDSSxVQUFVO0VBQ1o7O0FBRUE7SUFDRSxVQUFVO0VBQ1o7O0FBRUE7SUFDRSxZQUFZO0VBQ2Q7O0FBRUE7SUFDRSxVQUFVO0VBQ1o7O0FBRUE7SUFDRSxZQUFZO0VBQ2Q7O0FBRUE7SUFDRSxTQUFTO0VBQ1g7O0FBRUE7SUFDRSxrQkFBa0I7RUFDcEI7O0FBRUY7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSx3QkFBd0I7SUFDeEIsa0NBQWtDO0FBQ3RDOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7RUFDaEM7O0FBRUE7SUFDRSxtQ0FBbUM7SUFDbkMsbUJBQW1CO0lBQ25CLDhCQUE4QjtJQUM5QixZQUFZO0lBQ1osaUJBQWlCO0FBQ3JCOztBQUVFO0lBQ0UsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7SUFDOUIsV0FBVztJQUNYLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLGdCQUFnQjtJQUNoQixlQUFlO0VBQ2pCOztBQUVBO0lBQ0UsaUJBQWlCO0VBQ25COztBQUVBO0lBQ0UsaUJBQWlCLEVBQUUscUNBQXFDO0lBQ3hELGdCQUFnQjtFQUNsQjs7QUFFQTtJQUNFLG1CQUFtQjtFQUNyQjs7QUFFQTtJQUNFLFlBQVk7RUFDZDs7QUFFQTtJQUNFLGFBQWE7SUFDYix1QkFBdUI7SUFDdkIsY0FBYztFQUNoQjs7QUFFQTtJQUNFLFlBQVk7SUFDWixxQkFBcUI7QUFDekI7O0FBRUE7SUFDSSxZQUFZO0lBQ1oscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksbUNBQW1DO0lBQ25DLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQiIsImZpbGUiOiJzcmMvYXBwL2VwZy9hZG1pbi1jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9uLWNvbnRhY3RzL2NvbmZpZ3VyYXRpb24tY29udGFjdHMvY29uZmlndXJhdGlvbi1jb250YWN0cy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm1hdC1lbGV2YXRpb24tejgge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAganVzdGlmeS1jb250ZW50OmZsZXgtZW5kO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4ubG9hZGluZy1zcGlubmVyLmRlbGV0ZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIH1cblxuICAuZGVsZXRlLWJ0bntcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgfVxuXG4udGl0bGUtZm9ybSB7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRwdDtcbiAgY29sb3I6ICM3Nzc7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgcGFkZGluZzogMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG5cbn1cblxuLmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgNSUgO1xufVxuXG4ubWF0LWNlbGwsIC5tYXQtaGVhZGVyLWNlbGwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXQtY2VsbCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5jb2x1bW4tbmFtZSB7XG4gICAgd2lkdGg6IDE1JTtcbiAgfVxuXG4gIC5jb2x1bW4tZW1haWwge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cblxuICAuY29sdW1uLXR5cGV7XG4gICAgd2lkdGg6IDEwMHB4O1xuICB9XG5cbiAgLmNvbHVtbi16b25le1xuICAgIHdpZHRoOiAxOCU7XG4gIH1cblxuICAuY29sdW1uLW5ldHdvcmsge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgfVxuXG4gIC5jb2x1bW4tYWN0aW9uc3tcbiAgICB3aWR0aDogNyU7XG4gIH1cblxuICAuY29sdW1uLWFjdGlvbnMsIC5jb2x1bW4tbmFtZSwgLmNvbHVtbi1lbWFpbCwgLmNvbHVtbi1uZXR3b3JrLCAuY29sdW1uLXR5cGUsIC5jb2x1bW4tem9uZXtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuLm1hdC1oZWFkZXItY2VsbHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtY2VsbHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbn1cblxuLmZpbHRlci1kcm9wZG93bi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAubmF2YnV0dG9uIHsgXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNmNTFiNSFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xufVxuXG4gIC5maWx0ZXItZHJvcGRvd24tY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMC41cmVtIDFyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuZmlsdGVyLWRyb3Bkb3duLWNvbnRhaW5lciBtYXQtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAubWF0LW1lbnUtcGFuZWwge1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4OyAvKiBBanVzdGEgbGEgYWx0dXJhIG3DoXhpbWEgZGVsIG1lbsO6ICovXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gge1xuICAgIG1hcmdpbjogMC41cmVtIDFyZW07XG4gIH1cblxuICAuZmlsdGVyLWRyb3Bkb3duIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gIH1cblxuICAubG9hZGluZy1zcGlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDUlO1xuICB9XG5cbiAgOjpuZy1kZWVwIC5lcnJvci1zbmFja2JhciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbn1cblxuOjpuZy1kZWVwIC5lcnJvci1zbmFja2JhciAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG59XG5cbjo6bmctZGVlcCAuU3VjY2Vzc2Z1bFNuYWNrYmFye1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzg1NjYhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB3aGl0ZSFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAuU3VjY2Vzc2Z1bFNuYWNrYmFyIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlIWltcG9ydGFudDtcbn1cbiJdfQ== */\";","import { Component, OnInit, ViewChild, AfterViewInit } from \"@angular/core\";\nimport { MatDialog } from \"@angular/material/dialog\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { ContactService } from \"src/app/shared/service/contact.service\";\nimport { UtilService } from \"src/app/shared/service/util.service\";\nimport { ContactDialogComponent } from \"./contact-dialog/contact-dialog.component\";\nimport { FormGroup } from \"@angular/forms\";\nimport { Contact } from \"src/app/shared/model/contact\";\nimport { MatSort } from \"@angular/material/sort\";\nimport { MatTableDataSource } from \"@angular/material/table\";\nimport { ContactType } from \"src/app/shared/model/contactType\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\n\n@Component({\n selector: \"app-configuration-contacts\",\n templateUrl: \"./configuration-contacts.component.html\",\n styleUrls: [\"./configuration-contacts.component.css\"],\n})\nexport class ConfigurationContactsComponent implements OnInit, AfterViewInit {\n contacts: Contact[] = [];\n selectedContacts: Contact[] = [];\n displayedColumns: string[] = [\n \"select\",\n \"name\",\n \"email\",\n \"zone\",\n \"network\",\n \"type\",\n \"actions\",\n ];\n contactForm: FormGroup;\n isEditing: boolean = false;\n selectedContactId?: number;\n dataSource = new MatTableDataSource([]);\n uniqueTypes: string[] = [];\n uniqueNetworks: string[] = [];\n selectedTypes: string[] = [];\n selectedNetworks: string[] = [];\n isLoading: boolean;\n isLoadingDelete: boolean;\n isLoadingAdd: boolean;\n\n @ViewChild(MatSort) sort: MatSort;\n\n constructor(\n private contactService: ContactService,\n private dialog: MatDialog,\n private translateService: TranslateService,\n private utilService: UtilService,\n private snackBar: MatSnackBar\n ) {}\n\n ngOnInit(): void {\n this.loadContacts();\n\n this.dataSource.filterPredicate = (data, filter) => {\n const filters = JSON.parse(filter);\n const matchesType =\n filters.types.length === 0 ||\n filters.types.some((type) => data.contactTypes.includes(type));\n const matchesNetwork =\n filters.networks.length === 0 ||\n filters.networks.some((network) =>\n data.networks.includes(network)\n );\n\n return matchesType && matchesNetwork;\n };\n }\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort;\n }\n\n loadContacts() {\n this.isLoading = true;\n this.contactService.getAllActiveContacts().subscribe(\n (contacts) => {\n this.contacts = contacts;\n this.selectedContacts = [];\n\n this.uniqueTypes = Array.from(\n new Set(\n this.contacts.reduce((acc, contact) => {\n contact.contactTypes.forEach((type) => {\n if (type && !acc.includes(type)) acc.push(type);\n });\n return acc;\n }, [] as string[])\n )\n );\n\n this.uniqueNetworks = Array.from(\n new Set(\n this.contacts.reduce((acc, contact) => {\n contact.networks.forEach((network) => {\n if (network && !acc.includes(network))\n acc.push(network);\n });\n return acc;\n }, [] as string[])\n )\n );\n\n this.dataSource.data = this.contacts;\n this.isLoading = false;\n this.isLoadingDelete = false;\n this.isLoadingAdd = false;\n },\n (error) => {\n console.error(\"Error al cargar los contactos:\", error);\n }\n );\n }\n\n toggleSelection(contact: Contact, event: any) {\n if (event.checked) {\n this.selectedContacts.push(contact);\n } else {\n const index = this.selectedContacts.indexOf(contact);\n if (index > -1) {\n this.selectedContacts.splice(index, 1);\n }\n }\n }\n\n toggleAllSelection(event: any) {\n if (event.checked) {\n this.selectedContacts = [...this.dataSource.data];\n } else {\n this.selectedContacts = [];\n }\n }\n\n isSelected(contact: Contact): boolean {\n return this.selectedContacts.includes(contact);\n }\n\n openAddDialog() {\n const dialogRef = this.dialog.open(ContactDialogComponent, {\n width: \"400px\",\n data: { contact: null, isEditing: false },\n });\n\n dialogRef.afterClosed().subscribe(async (result) => {\n if (result) {\n this.contactService.addContact(result).subscribe(() => {\n this.loadContacts();\n });\n }\n this.isLoadingAdd = true;\n this.loadContacts();\n });\n }\n\n openEditDialog(contact: Contact) {\n const dialogRef = this.dialog.open(ContactDialogComponent, {\n width: \"400px\",\n data: { contact: { ...contact }, isEditing: true },\n });\n\n dialogRef.afterClosed().subscribe((updatedContact) => {\n if (updatedContact) {\n this.contactService.updateContact(updatedContact).subscribe(\n () => {\n this.loadContacts();\n },\n (error) => {\n console.error(\n \"Error al actualizar el contacto:\",\n error\n );\n }\n );\n }\n this.isLoadingAdd = true;\n this.loadContacts();\n });\n }\n\n async deleteSelectedContacts() {\n const textConfirm = await this.translateService\n .get(\"epg.users.dialog.messageDeleteConfirm\")\n .toPromise();\n const buttonConfirm = await this.translateService\n .get(\"epg.users.dialog.buttons.delete\")\n .toPromise();\n\n const dialogRef = this.utilService.openConfirmDialog({\n title: buttonConfirm,\n text: textConfirm,\n });\n\n dialogRef.afterClosed().subscribe((result) => {\n if (result) {\n this.isLoadingDelete = true;\n const selectedContactIds = this.selectedContacts.map(\n (contact) => contact.id\n );\n this.contactService\n .deleteContactList(selectedContactIds)\n .subscribe(() => {\n this.loadContacts();\n this.snackBar.open(\"Contacts deleted successfully!\", \"Close\", {\n duration: 3000,\n panelClass: [\"SuccessfulSnackbar\"],\n });\n });\n }\n\n });\n\n }\n\n onContactSelectionChange(contact: Contact) {\n if (contact.selected) {\n this.selectedContacts.push(contact);\n } else {\n this.selectedContacts = this.selectedContacts.filter(\n (c) => c.id !== contact.id\n );\n }\n }\n\n resetForm() {\n this.contactForm.reset();\n this.isEditing = false;\n this.selectedContactId = undefined;\n }\n\n applyFilter() {\n const filters = {\n types: this.selectedTypes,\n networks: this.selectedNetworks,\n };\n\n this.dataSource.filter = JSON.stringify(filters);\n }\n\n toggleFilter(value: string, filterType: \"type\" | \"network\") {\n if (filterType === \"type\") {\n const index = this.selectedTypes.indexOf(value);\n if (index >= 0) {\n this.selectedTypes.splice(index, 1);\n } else {\n this.selectedTypes.push(value);\n }\n } else if (filterType === \"network\") {\n const index = this.selectedNetworks.indexOf(value);\n if (index >= 0) {\n this.selectedNetworks.splice(index, 1);\n } else {\n this.selectedNetworks.push(value);\n }\n }\n this.applyFilter();\n }\n}\n","export default \"mat-form-field {\\n display: block;\\n visibility: visible !important;\\n }\\n\\n\\n ::ng-deep .error-snackbar {\\n color: white;\\n background-color: red;\\n}\\n\\n\\n ::ng-deep .error-snackbar .mat-simple-snackbar-action {\\n color: white;\\n background-color: red;\\n}\\n\\n\\n ::ng-deep .SuccessfulSnackbar{\\n background-color: #038566!important;\\n color: white!important;\\n}\\n\\n\\n ::ng-deep .SuccessfulSnackbar .mat-simple-snackbar-action {\\n color: white!important;\\n}\\n\\n\\n .loading-spinner { \\n padding: 5%;\\n }\\n\\n\\n .spinner-border {\\n width: 1.2rem;\\n height: 1.2rem;\\n border: .20em solid currentColor;\\n border-right-color: transparent;\\n }\\n\\n\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tY29udGFjdHMvY29uZmlndXJhdGlvbi1jb250YWN0cy9jb250YWN0LWRpYWxvZy9jb250YWN0LWRpYWxvZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksY0FBYztJQUNkLDhCQUE4QjtFQUNoQzs7O0VBR0E7SUFDRSxZQUFZO0lBQ1oscUJBQXFCO0FBQ3pCOzs7RUFFQTtJQUNJLFlBQVk7SUFDWixxQkFBcUI7QUFDekI7OztFQUVBO0lBQ0ksbUNBQW1DO0lBQ25DLHNCQUFzQjtBQUMxQjs7O0VBRUE7SUFDSSxzQkFBc0I7QUFDMUI7OztFQUVBO0lBQ0ksV0FBVztFQUNiOzs7RUFFQTtJQUNFLGFBQWE7SUFDYixjQUFjO0lBQ2QsZ0NBQWdDO0lBQ2hDLCtCQUErQjtFQUNqQyIsImZpbGUiOiJzcmMvYXBwL2VwZy9hZG1pbi1jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9uLWNvbnRhY3RzL2NvbmZpZ3VyYXRpb24tY29udGFjdHMvY29udGFjdC1kaWFsb2cvY29udGFjdC1kaWFsb2cuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIm1hdC1mb3JtLWZpZWxkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIH1cblxuXG4gIDo6bmctZGVlcCAuZXJyb3Itc25hY2tiYXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG59XG5cbjo6bmctZGVlcCAuZXJyb3Itc25hY2tiYXIgLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xufVxuXG46Om5nLWRlZXAgLlN1Y2Nlc3NmdWxTbmFja2JhcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM4NTY2IWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLlN1Y2Nlc3NmdWxTbmFja2JhciAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGNvbG9yOiB3aGl0ZSFpbXBvcnRhbnQ7XG59XG5cbi5sb2FkaW5nLXNwaW5uZXIgeyBcbiAgICBwYWRkaW5nOiA1JTtcbiAgfVxuXG4gIC5zcGlubmVyLWJvcmRlciB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICBib3JkZXI6IC4yMGVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cblxuIl19 */\";","import { Component, Inject, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { MAT_DIALOG_DATA, MatDialogRef } from \"@angular/material/dialog\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { UtilService } from \"src/app/shared/service/util.service\";\nimport { ContactService } from \"src/app/shared/service/contact.service\";\nimport { Contact } from \"src/app/shared/model/contact\";\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\nimport { forkJoin } from \"rxjs\";\n\n@Component({\n selector: \"app-contact-dialog\",\n templateUrl: \"./contact-dialog.component.html\",\n styleUrls: [\"./contact-dialog.component.css\"],\n})\nexport class ContactDialogComponent implements OnInit {\n contactForm: FormGroup;\n isEditing: boolean;\n typeOptions: any[] = [];\n networkOptions: any[] = [];\n isLoading: boolean;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA)\n public data: { contact: Contact; isEditing: boolean },\n private fb: FormBuilder,\n private translateService: TranslateService,\n private utilService: UtilService,\n private contactService: ContactService,\n private snackBar: MatSnackBar\n ) {\n this.contactForm = this.fb.group({\n id: [null],\n name: [\"\", Validators.required],\n email: [\"\", [Validators.required, Validators.email]],\n zone: [\"\", Validators.required],\n contactTypes: [[], Validators.required],\n networks: [[], Validators.required],\n });\n this.isEditing = data.isEditing;\n }\n\n ngOnInit(): void {\n forkJoin({\n types: this.contactService.getContactTypes(),\n networks: this.contactService.getNetworks(),\n }).subscribe(\n ({ types, networks }) => {\n this.typeOptions = types;\n this.networkOptions = networks;\n\n if (this.isEditing && this.data.contact) {\n const contactTypesIds = this.mapToIds(\n this.data.contact.contactTypes,\n this.typeOptions,\n \"type\"\n );\n const networksIds = this.mapToIds(\n this.data.contact.networks,\n this.networkOptions,\n \"nameEn\"\n );\n\n this.contactForm.setValue({\n id: this.data.contact.id,\n name: this.data.contact.name,\n email: this.data.contact.email,\n zone: this.data.contact.zone || \"\",\n contactTypes: contactTypesIds,\n networks: networksIds,\n });\n\n console.log(\n \"Formulario cargado en edición:\",\n this.contactForm.value\n );\n } else {\n console.log(\"Opciones cargadas:\", { types, networks });\n }\n },\n (error) => {\n console.error(\"Error al cargar tipos o redes:\", error);\n }\n );\n }\n\n onSave(): void {\n this.isLoading = true;\n if (this.contactForm.invalid) {\n this.isLoading = false;\n this.snackBar.open(\"Please fill in all required fields.\", \"Close\", {\n duration: 3000,\n });\n return;\n }\n\n const contactData = this.contactForm.value;\n console.log(\"Datos enviados al backend:\", contactData);\n\n if (this.isEditing) {\n this.contactService.updateContact(contactData).subscribe({\n next: (response) => {\n this.isLoading = false;\n\n this.snackBar.open(\n \"Contact updated successfully!\",\n \"Close\",\n {\n duration: 3000,\n panelClass: [\"SuccessfulSnackbar\"],\n }\n );\n this.dialogRef.close(false);\n },\n error: (err) => {\n console.error(\"Error updating contact:\", err);\n this.snackBar.open(\n \"Failed to update contact. Try again later.\",\n \"Close\",\n {\n duration: 3000,\n }\n );\n },\n });\n } else {\n this.contactService.addContact(contactData).subscribe({\n next: () => {\n console.log(\"creado\");\n this.isLoading = false;\n\n this.snackBar.open(\n \"Contact created successfully!\",\n \"Close\",\n {\n duration: 3000,\n panelClass: [\"SuccessfulSnackbar\"],\n }\n );\n this.dialogRef.close(false);\n },\n error: () => {\n this.isLoading = false;\n\n this.snackBar.open(\n \"Failed to create contact. Try again later.\",\n \"Close\",\n {\n duration: 3000,\n panelClass: [\"error-snackbar\"],\n }\n );\n },\n });\n }\n }\n\n onCancel(): void {\n this.dialogRef.close(false);\n }\n\n private mapToIds(names: string[], options: any[], key: string): number[] {\n return names\n .map((name) => {\n const option = options.find((opt) => opt[key] === name);\n return option ? option.id : null;\n })\n .filter((id) => id !== null);\n }\n}\n","export default \".list-position {\\n margin: 0 auto 20px;\\n padding-inline-start: 0%;\\n padding: 10px 0;\\n width: 805px;\\n}\\n\\n.network-list {\\n list-style-type: none;\\n max-height: 55px;\\n}\\n\\n.network-loading, .user-loading {\\n text-align: center;\\n}\\n\\n.network {\\n height: 55px;\\n border: 1px solid white;\\n overflow: hidden;\\n cursor: pointer;\\n}\\n\\n.navbutton { \\n background-color: #3f51b5!important;\\n margin-bottom: 15px;\\n height: 30px;\\n padding-left: 4px;\\n}\\n\\n.btns-network {\\n display: flex;\\n justify-content: space-between;\\n}\\n\\n.buttonntwk { \\n height: 30px;\\n\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tbmV0d29ya3MvY29uZmlndXJhdGlvbi1uZXR3b3Jrcy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4QixlQUFlO0lBQ2YsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLGdCQUFnQjtJQUNoQixlQUFlO0FBQ25COztBQUdBO0lBQ0ksbUNBQW1DO0lBQ25DLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1osaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLDhCQUE4QjtBQUNsQzs7QUFFQTtJQUNJLFlBQVk7O0FBRWhCIiwiZmlsZSI6InNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tbmV0d29ya3MvY29uZmlndXJhdGlvbi1uZXR3b3Jrcy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxpc3QtcG9zaXRpb24ge1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDAlO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB3aWR0aDogODA1cHg7XG59XG5cbi5uZXR3b3JrLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXgtaGVpZ2h0OiA1NXB4O1xufVxuXG4ubmV0d29yay1sb2FkaW5nLCAudXNlci1sb2FkaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5uZXR3b3JrIHtcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblxuLm5hdmJ1dHRvbiB7IFxuICAgIGJhY2tncm91bmQtY29sb3I6ICMzZjUxYjUhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xufVxuXG4uYnRucy1uZXR3b3JrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmJ1dHRvbm50d2sgeyBcbiAgICBoZWlnaHQ6IDMwcHg7XG5cbn0iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { ActivatedRoute } from '@angular/router';\nimport { Network } from 'src/app/shared/model/network';\nimport { NetworkService } from 'src/app/shared/service/network.service';\nimport { EpgDataService } from 'src/app/shared/service/epg-data.service';\nimport { DataNetwork } from 'src/app/shared/model/data-network';\nimport { MatTabChangeEvent } from '@angular/material/tabs';\n\n@Component({\n selector: 'app-configuration-networks',\n templateUrl: './configuration-networks.component.html',\n styleUrls: ['./configuration-networks.component.css']\n})\nexport class ConfigurationNetworksComponent implements OnInit {\n\n private unsubscription$: Subject = new Subject();\n private dataNetwork: DataNetwork;\n\n networks: Network[];\n loadingNetworks = false;\n networks$: Observable = of([]);\n style: any = {};\n\n activateStyle: any = {\n opacity: '1',\n filter: 'grayscale(0%)',\n clicked: false\n };\n deactivateStyle: any = {\n opacity: '.5',\n filter: 'grayscale(100%)',\n clicked: false\n };\n\n // Para pasar el network code a ancine\n selectedNetwork$ = new Subject();\n selectedNetwork: Network | null = null;\n selectedNetworkCode$ = this.selectedNetwork$.pipe(map(n => n.code));\n showingAncine: boolean = false;\n showCreateNetwork: boolean = false;\n selectedNetworkCode: string;\n\n\n constructor(\n private networkService: NetworkService,\n private epgDataService: EpgDataService,\n // private route: ActivatedRoute\n ) {\n\n this.dataNetwork = new DataNetwork();\n this.unsubscription$ = new Subject();\n }\n\n ngOnInit(): void {\n\n this.loadNetworks();\n this.selectedNetwork = null;\n\n }\n\n loadNetworks(): void {\n let nets: Observable;\n\n this.loadingNetworks = true;\n\n\n nets = this.networkService.getNetworks$();\n\n nets.pipe(takeUntil(this.unsubscription$))\n .subscribe(networks => this.mapperNetworks(networks))\n .add(() => this.loadingNetworks = false);\n }\n\n\n private mapperNetworks(networks: Network[]): void {\n this.networks = networks;\n this.networks.forEach(network => this.style[network.code] = { ...this.deactivateStyle });\n this.networks$ = of(this.networks);\n }\n\n clickNetwork(network: Network): void {\n this.showCreateNetwork = false;\n const codeNetwork = network.code;\n this.dataNetwork.codeNetwork = codeNetwork;\n this.dataNetwork.isClicked = this.style[codeNetwork].clicked;\n this.epgDataService.codeNetworkSubject$.next(this.dataNetwork);\n this.selectedNetworkCode = codeNetwork;\n\n this.selectedNetwork$.next(network);\n // this.selectedNetwork = network;\n\n if (this.style[codeNetwork].clicked) {\n this.style[codeNetwork] = { ...this.deactivateStyle };\n } else {\n this.networks.forEach(n => this.style[n.code] = { ...this.deactivateStyle });\n this.style[codeNetwork] = { ...this.activateStyle, clicked: true };\n }\n }\n\n\n toggleCreateNetwork() {\n this.showCreateNetwork = !this.showCreateNetwork; // Cambia la visibilidad\n\n\n if (this.showCreateNetwork) {\n // Limpiar la network seleccionada al crear una nueva\n this.selectedNetwork = null;\n } else {\n // Resetear el estilo de las redes cuando se cancela la creación\n this.resetNetworkStyles();\n }\n }\n\n private resetNetworkStyles(): void {\n this.networks.forEach(n => this.style[n.code] = { ...this.deactivateStyle, clicked: false });\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n getButtonLabel(): string {\n return this.showCreateNetwork ? 'epg.configurationNetworks.cancel' : 'epg.configurationNetworks.createNew';\n }\n}\n\n","export default \"::ng-deep .SuccessfulSnackbar {\\n background-color: #038566 !important;\\n color: white !important;\\n}\\n\\n::ng-deep .SuccessfulSnackbar .mat-simple-snackbar-action {\\n color: white !important;\\n}\\n\\n::ng-deep .SuccessfulSnackbar .mat-simple-snackbar-action button {\\n color: white !important;\\n}\\n\\n.logo-label {\\n margin: 10px 0 10px 0;\\n color: #777;\\n}\\n\\n.news-image-container {\\n justify-self: center;\\n}\\n\\n.news-input-button-container {\\n display: flex;\\n justify-content: center;\\n margin: 0.5em 0;\\n}\\n\\n.news-logo-container {\\n width: 100%;\\n height: -moz-fit-content;\\n height: fit-content;\\n border: 1px solid #3636366b;\\n border-radius: 5px;\\n display: flex;\\n justify-content: center;\\n}\\n\\n.net-img-container {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.news-image-button {\\n max-width: 300px;\\n}\\n\\n.news-image-button > span {\\n display: block;\\n max-width: 180px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n\\n.feeds-image {\\n width: 180px;\\n height: 240px;\\n border: 1px solid #3636366b;\\n border-radius: 5px;\\n margin-top: 10px;\\n}\\n\\n.news-image {\\n max-width: 100%;\\n max-height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\ninput[type=file] {\\n display: none;\\n}\\n\\n.news-buttons-container {\\n margin: 0.5em 0;\\n display: flex;\\n justify-content: space-between;\\n}\\n\\n.news-buttons-container button {\\n margin-right: 5px;\\n}\\n\\n.submitnet {\\n width: 100%;\\n height: 40px !important;\\n}\\n\\n.checkboxnet {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n gap: 30px;\\n}\\n\\n.netbutton {\\n width: 400px;\\n}\\n\\n.full-width {\\n width: 100%;\\n}\\n\\n.editable-input {\\n width: 100%;\\n}\\n\\n.actions-container {\\n display: flex;\\n justify-content: flex-end;\\n gap: 10px;\\n}\\n\\n.form-row-net {\\n display: flex;\\n align-items: flex-start;\\n margin-bottom: 16px;\\n margin-left: 5px;\\n margin-top: 16px;\\n}\\n\\n.label-text {\\n width: 200px;\\n font-size: 15px;\\n color: #777;\\n}\\n\\n.form-inputs {\\n display: flex;\\n gap: 16px;\\n flex-direction: column;\\n width: 100%;\\n}\\n\\n.input-group {\\n margin-top: 20px;\\n}\\n\\n.mat-mdc-form-field + .mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.network-button {\\n color: white;\\n background-color: #355CFE;\\n height: 29px;\\n line-height: inherit;\\n}\\n\\n.mat-tab-group {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.mat-accordion .mat-expansion-panel {\\n min-width: 30vh;\\n}\\n\\n.custom-accordion .mat-expansion-panel-header {\\n background-color: #355CFE;\\n /* Cambia el color del encabezado del panel */\\n}\\n\\n.mat-expansion-panel-header-title {\\n color: white;\\n}\\n\\n::ng-deep .mat-expansion-indicator::after {\\n color: white !important;\\n}\\n\\n::ng-deep .mat-expansion-indicator {\\n color: white !important;\\n}\\n\\n::ng-deep .mat-expansion-panel-header-description,\\n.mat-expansion-indicator::after {\\n color: white !important;\\n}\\n\\n::ng-deep .mat-accordion .mat-expansion-panel:not(.mat-expanded),\\n::ng-deep .mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing) ::ng-deep .mat-expansion-panel-header {\\n border-radius: 4px !important;\\n}\\n\\n::ng-deep .mat-expansion-panel:not([class*=mat-elevation-z]) {\\n box-shadow: none !important;\\n background-color: #eeeeee;\\n}\\n\\n:ng-deep .mat-accordion .mat-expansion-panel:first-of-type {\\n border-radius: 4px;\\n}\\n\\n.mat-expansion-panel {\\n border-radius: 4px;\\n}\\n\\n.mat-expansion-panel:not(.mat-expanded) {\\n border-radius: 4px;\\n}\\n\\n.custom-accordion .mat-expansion-panel-header:hover {\\n background-color: #355CFE;\\n /* Cambia el color del encabezado al hacer hover */\\n}\\n\\n::ng-deep mat-accordion {\\n display: grid;\\n gap: 10px;\\n}\\n\\n::ng-deep mat-expansion-panel {\\n margin-bottom: 16px;\\n}\\n\\n::ng-deep .mat-expansion-panel-body {\\n border-radius: 4px;\\n}\\n\\n:host .mat-tab-label-content {\\n font-size: 20px;\\n}\\n\\n.tabpanel {\\n height: auto;\\n max-height: 20vh;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n height: -moz-min-content;\\n height: min-content;\\n margin-top: 30px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.primer-fila {\\n display: grid;\\n grid-template-columns: 30% 70%;\\n}\\n\\n.primer-componente {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n margin-right: 50px;\\n width: 100%;\\n gap: 20px;\\n}\\n\\n.imagen-container {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.imagen-principal {\\n width: 100%;\\n}\\n\\n.logo-container {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.logo-izquierdo {\\n max-width: 100%;\\n max-height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.reff-buttons {\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n gap: 10px;\\n margin-top: 10px;\\n}\\n\\n.buttons-dyp {\\n display: flex;\\n gap: 10px;\\n justify-content: center;\\n}\\n\\n.segundo-componente {\\n display: flex;\\n flex-direction: column;\\n flex: 1;\\n overflow: visible;\\n margin-left: 50px;\\n}\\n\\nform {\\n display: flex;\\n flex-direction: column;\\n}\\n\\nmat-form-field {\\n width: 100%;\\n margin-bottom: 16px;\\n}\\n\\n.mat-form-field-underline {\\n background-color: #3F48CC !important;\\n}\\n\\n:host ::ng-deep .mat-form-field-underline {\\n background-color: #3F48CC;\\n}\\n\\n:host ::ng-deep .mat-form-field-underline:hover {\\n background-color: #3F48CC;\\n}\\n\\n:host ::ng-deep .mat-form-field-underline.mat-focused {\\n background-color: #3F48CC;\\n}\\n\\n:host ::ng-deep .mat-form-field-ripple {\\n background-color: #3F48CC;\\n}\\n\\n.description-tabs {\\n height: 100%;\\n float: 1;\\n}\\n\\n.segunda-fila {\\n display: flex;\\n margin-top: 30px;\\n height: 120px;\\n}\\n\\n.tabs-segunda-fila {\\n align-items: center;\\n}\\n\\n.network-button-row {\\n display: flex;\\n flex-wrap: wrap;\\n flex-flow: column;\\n justify-content: center;\\n align-items: center;\\n gap: 5px;\\n width: 100%;\\n margin-top: 3px;\\n}\\n\\n.networks-buttons-col {\\n align-items: center;\\n justify-content: center;\\n display: flex;\\n width: 100%;\\n}\\n\\n::ng-deep .snackbar-info {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .snackbar-info .mat-simple-snackbar-action {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .error-snackbar {\\n color: white;\\n background-color: red;\\n}\\n\\n::ng-deep .error-snackbar .mat-simple-snackbar-action {\\n color: white;\\n background-color: red;\\n}\\n\\n.form-wrapper-interior {\\n min-height: 75px;\\n max-height: 75px;\\n margin-top: 10px;\\n}\\n\\n.module-select-container {\\n text-align: center;\\n margin-bottom: 15px;\\n}\\n\\n.select-container {\\n max-height: 420px;\\n width: 300px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n.app-networks .mat-cell {\\n padding-right: 0px;\\n}\\n\\n::ng-deep .localbrakes-table .mat-cell {\\n padding-left: 18px;\\n padding-right: 18px;\\n}\\n\\n:host ::ng-deep .mat-header-cell,\\n::ng-deep .mat-sort-header-container {\\n justify-content: center;\\n padding: 0 !important;\\n}\\n\\n:host ::ng-deep .mat-sort-header-arrow {\\n color: #5A63D4;\\n opacity: 1;\\n}\\n\\n::ng-deep button:focus {\\n outline: none !important;\\n}\\n\\n.feed-button {\\n color: #355CFE;\\n}\\n\\n.button-container {\\n text-align: center;\\n}\\n\\n.mat-raised-button:not([class*=mat-elevation-z]):not([disabled]) {\\n color: white;\\n background-color: #355CFE !important;\\n height: 24px;\\n line-height: inherit;\\n}\\n\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n text-align: center;\\n border: 1px solid white;\\n color: #000000;\\n background-color: #CECECE !important;\\n border-top: 0px;\\n}\\n\\n.row-height {\\n height: 35px !important;\\n}\\n\\n.mat-row:hover {\\n background: #b9b8b8 !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]),\\n.mat-row:not([class*=mat-elevation-z]) {\\n height: 30px;\\n background: white;\\n text-align: center;\\n}\\n\\n.mat-cell:not([class*=mat-elevation-z]),\\n.mat-footer-cell:not([class*=mat-elevation-z]),\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n border-bottom-width: 1px;\\n border-bottom-style: solid;\\n font-size: 9pt;\\n font-weight: normal;\\n font-family: Arial, sans-serif;\\n}\\n\\n.mat-cell {\\n padding-right: 0 !important;\\n}\\n\\n.file-icon-cell {\\n width: 100px;\\n}\\n\\n.title-contacts {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 14px;\\n font-weight: 500;\\n}\\n\\n.dailygrids_table {\\n margin-top: 1em;\\n}\\n\\n.dailygrids_description-column {\\n padding: 0 1em !important;\\n text-align: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tbmV0d29ya3MvY3JlYXRlLW5ldHdvcmsvY3JlYXRlLW5ldHdvcmsuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0E7RUFDSSxvQ0FBQTtFQUNBLHVCQUFBO0FBUko7O0FBV0E7RUFDSSx1QkFBQTtBQVJKOztBQVlBO0VBQ0ksdUJBQUE7QUFUSjs7QUFhQTtFQUNJLHFCQUFBO0VBQ0EsV0FwQk07QUFVVjs7QUFhQTtFQUVJLG9CQUFBO0FBWEo7O0FBY0E7RUFDSSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxlQUFBO0FBWEo7O0FBY0E7RUFDSSxXQUFBO0VBQ0Esd0JBQUE7RUFBQSxtQkFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsdUJBQUE7QUFYSjs7QUFlQTtFQUNJLGFBQUE7RUFDQSx1QkFBQTtBQVpKOztBQWdCQTtFQUNJLGdCQUFBO0FBYko7O0FBZ0JBO0VBQ0ksY0FBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0FBYko7O0FBZ0JBO0VBQ0ksWUFBQTtFQUNBLGFBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUFiSjs7QUFnQkE7RUFDSSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0FBYko7O0FBaUJBO0VBQ0ksYUFBQTtBQWRKOztBQWlCQTtFQUNJLGVBQUE7RUFDQSxhQUFBO0VBQ0EsOEJBQUE7QUFkSjs7QUFpQkE7RUFDSSxpQkFBQTtBQWRKOztBQWtCQTtFQUNJLFdBQUE7RUFDQSx1QkFBQTtBQWZKOztBQWtCQTtFQUNJLGFBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsU0FBQTtBQWZKOztBQWtCQTtFQUNJLFlBQUE7QUFmSjs7QUFrQkE7RUFDSSxXQUFBO0FBZko7O0FBa0JBO0VBQ0ksV0FBQTtBQWZKOztBQWtCQTtF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QUNBLG1CQUFBO0VBQ0EsOEJBQUE7QUEzQ0o7O0FBOENBO0VBQ0ksMkJBQUE7QUEzQ0o7O0FBOENBO0VBQ0ksWUFBQTtBQTNDSjs7QUErQ0E7RUFDSSxpREFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBQTVDSjs7QUErQ0E7RUFDSSxlQUFBO0FBNUNKOztBQStDQTtFQUNJLHlCQUFBO0VBQ0Esa0JBQUE7QUE1Q0oiLCJmaWxlIjoic3JjL2FwcC9lcGcvYWRtaW4tY29uZmlndXJhdGlvbnMvY29uZmlndXJhdGlvbi1uZXR3b3Jrcy9jcmVhdGUtbmV0d29yay9jcmVhdGUtbmV0d29yay5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiRjb2xvci0xOiAjNUE2M0Q0O1xuJGNvbG9yLTI6ICMzRjQ4Q0M7XG4kY29sb3ItMzogI0Q3RDdENztcbiRjb2xvci00OiAjMzU1Q0ZFO1xuJGNvbG9yLTU6ICNDRUNFQ0U7XG4kY29sb3ItNjogI2I5YjhiODtcbiRjb2xvci03OiAjNzc3O1xuXG5cbjo6bmctZGVlcCAuU3VjY2Vzc2Z1bFNuYWNrYmFye1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzg1NjYhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB3aGl0ZSFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAuU3VjY2Vzc2Z1bFNuYWNrYmFyIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlIWltcG9ydGFudDtcbn1cblxuXG46Om5nLWRlZXAgLlN1Y2Nlc3NmdWxTbmFja2JhciAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24gYnV0dG9uIHtcbiAgICBjb2xvcjogd2hpdGUhaW1wb3J0YW50O1xufVxuXG5cbi5sb2dvLWxhYmVse1xuICAgIG1hcmdpbjogMTBweCAwIDEwcHggMDtcbiAgICBjb2xvcjogJGNvbG9yLTc7XG4gICB9XG5cbi5uZXdzLWltYWdlLWNvbnRhaW5lciB7XG5cbiAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbn1cblxuLm5ld3MtaW5wdXQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDAuNWVtIDA7XG59XG5cbi5uZXdzLWxvZ28tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNjM2MzY2YjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgZGlzcGxheTogZmxleDsgIFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIFxufVxuXG4ubmV0LWltZy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cblxuLm5ld3MtaW1hZ2UtYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xufVxuXG4ubmV3cy1pbWFnZS1idXR0b24+c3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5mZWVkcy1pbWFnZSB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzM2MzYzNjZiO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ubmV3cy1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8vcGFyYSBlbCBib3RvbiBkZSBzdWJpciBhcmNoaXZvc1xuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5uZXdzLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5uZXdzLWJ1dHRvbnMtY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5zdWJtaXRuZXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNDBweCFpbXBvcnRhbnQ7XG59XG5cbi5jaGVja2JveG5ldCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAzMHB4O1xufVxuXG4ubmV0YnV0dG9uIHtcbiAgICB3aWR0aDogNDAwcHg7XG59XG5cbi5mdWxsLXdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmVkaXRhYmxlLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmFjdGlvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4uZm9ybS1yb3ctbmV0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xufVxuXG4ubGFiZWwtdGV4dCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBjb2xvcjogJGNvbG9yLTc7XG59XG5cbi5mb3JtLWlucHV0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE2cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG5cblxuLm1hdC1tZGMtZm9ybS1maWVsZCsubWF0LW1kYy1mb3JtLWZpZWxkIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4vLyBwYXJhIGVsIGNvbnRvcm5vIHkgZWwgdGl0dWxvXG4udGl0bGUtZm9ybSB7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRwdDtcbiAgICBjb2xvcjogIzc3NztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLm5ldHdvcmstYnV0dG9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTQgO1xuICAgIGhlaWdodDogMjlweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLm1hdC10YWItZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cblxuXG4ubWF0LWFjY29yZGlvbiAubWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgbWluLXdpZHRoOiAzMHZoO1xuXG59XG5cbi5jdXN0b20tYWNjb3JkaW9uIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTQ7XG4gICAgLyogQ2FtYmlhIGVsIGNvbG9yIGRlbCBlbmNhYmV6YWRvIGRlbCBwYW5lbCAqL1xufVxuXG4ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuOjpuZy1kZWVwIC5tYXQtZXhwYW5zaW9uLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLm1hdC1leHBhbnNpb24taW5kaWNhdG9yIHtcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbixcbi5tYXQtZXhwYW5zaW9uLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLm1hdC1hY2NvcmRpb24gLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpLFxuOjpuZy1kZWVwIC5tYXQtYWNjb3JkaW9uIC5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdCgubWF0LWV4cGFuc2lvbi1wYW5lbC1zcGFjaW5nKSA6Om5nLWRlZXAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbn1cblxuXG46bmctZGVlcCAubWF0LWFjY29yZGlvbiAubWF0LWV4cGFuc2lvbi1wYW5lbDpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdCgubWF0LWV4cGFuZGVkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uY3VzdG9tLWFjY29yZGlvbiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci00O1xuICAgIC8qIENhbWJpYSBlbCBjb2xvciBkZWwgZW5jYWJlemFkbyBhbCBoYWNlciBob3ZlciAqL1xufVxuXG5cblxuXG46Om5nLWRlZXAgbWF0LWFjY29yZGlvbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDEwcHg7XG59XG5cbjo6bmctZGVlcCBtYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG46Om5nLWRlZXAgLm1hdC1leHBhbnNpb24tcGFuZWwtYm9keSB7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG46aG9zdCAubWF0LXRhYi1sYWJlbC1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG59XG5cbi50YWJwYW5lbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDIwdmg7XG59XG5cbi8qKiBTb2JyZWVzY3JpYmUgZWwgY29sb3IgcHJlZGV0ZXJtaW5hZG8gZGVsIGNoZWNrYm94ICovXG46Om5nLWRlZXAgLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItNDtcbn1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbn1cblxuLmZvcm0td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gaGVpZ2h0OiA2MCU7XG59XG5cbi8vIHByaW1lciBjb21wb25lbnRlIGRlIGxhIGZpbGEgMVxuLnByaW1lci1maWxhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDcwJTtcbn1cblxuLnByaW1lci1jb21wb25lbnRlIHtcbiAgICBmb250LWZhbWlseTogUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZ2FwOiAyMHB4O1xufVxuXG4uaW1hZ2VuLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uaW1hZ2VuLXByaW5jaXBhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIGltYWdlblxuLmxvZ28tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubG9nby1penF1aWVyZG8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vLyBib3RvbmVzIHF1ZSByZWZlcmVuY2lhblxuLnJlZmYtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmJ1dHRvbnMtZHlwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy8gdGFic1xuLnNlZ3VuZG8tY29tcG9uZW50ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG59XG5cbmZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxubWF0LWZvcm0tZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0yICFpbXBvcnRhbnQ7XG59XG5cbjpob3N0IDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItMjtcbn1cblxuOmhvc3QgOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0yO1xufVxuXG46aG9zdCA6Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZS5tYXQtZm9jdXNlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTI7XG59XG5cbjpob3N0IDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItMjtcbn1cblxuXG5cbi5kZXNjcmlwdGlvbi10YWJzIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxvYXQ6IDE7XG59XG5cbi5zZWd1bmRhLWZpbGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4udGFicy1zZWd1bmRhLWZpbGEge1xuICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuXG4ubmV0d29yay1idXR0b24tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDNweDtcbn1cblxuLm5ldHdvcmtzLWJ1dHRvbnMtY29sIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIHNuYWNrYmFyXG46Om5nLWRlZXAgLnNuYWNrYmFyLWluZm8ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQyO1xufVxuXG46Om5nLWRlZXAgLnNuYWNrYmFyLWluZm8gLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkMjtcbn1cblxuOjpuZy1kZWVwIC5lcnJvci1zbmFja2JhciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbn1cblxuOjpuZy1kZWVwIC5lcnJvci1zbmFja2JhciAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG59XG5cbi8vZmlsdHJvIGRlIGZlY2hhXG4uZm9ybS13cmFwcGVyLWludGVyaW9yIHtcbiAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgIG1heC1oZWlnaHQ6IDc1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLm1vZHVsZS1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnNlbGVjdC1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDQyMHB4O1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG59XG5cblxuLm1hdC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5maWVsZC10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xufVxuXG4uYXBwLW5ldHdvcmtzIC5tYXQtY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xufVxuXG46Om5nLWRlZXAgLmxvY2FsYnJha2VzLXRhYmxlIC5tYXQtY2VsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG59XG5cbjpob3N0IDo6bmctZGVlcCAubWF0LWhlYWRlci1jZWxsLFxuOjpuZy1kZWVwIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vIHBhcmEgbGFzIGZsZWNoYXMgZGUgb3JkZW5hbWllbnRvXG46aG9zdCA6Om5nLWRlZXAgLm1hdC1zb3J0LWhlYWRlci1hcnJvdyB7XG4gICAgY29sb3I6ICRjb2xvci0xO1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi8vXG46Om5nLWRlZXAgYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5mZWVkLWJ1dHRvbiB7XG4gICAgY29sb3I6ICRjb2xvci00O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG59XG5cbi8vIGRhcmxlIGNvbG9yIGFsIGJvdG9uIHZlciwgc2luIGNsYXNzIG1hdC1lbGV2YXRpb24teiB5IG5vIGRlc2FiaWxpdGFkb3Ncbi5tYXQtcmFpc2VkLWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKTpub3QoW2Rpc2FibGVkXSkge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItNCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy9kYXJsZSBjb2xvciBhIGxhIHRhYmxhXG4ubWF0LWhlYWRlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTUgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAwcHg7XG59XG5cbi5yb3ctaGVpZ2h0IHtcbiAgICBoZWlnaHQ6IDM1cHggIWltcG9ydGFudDtcbn1cblxuLm1hdC1yb3c6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci02ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtaGVhZGVyLXJvdzpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxcbi5tYXQtcm93Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1hdC1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLFxuLm1hdC1mb290ZXItY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxcbi5tYXQtaGVhZGVyLWNlbGw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBmb250LXNpemU6IDlwdDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLm1hdC1jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5maWxlLWljb24tY2VsbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xufVxuXG5cbi50aXRsZS1jb250YWN0cyB7XG4gICAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uZGFpbHlncmlkc190YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4uZGFpbHlncmlkc19kZXNjcmlwdGlvbi1jb2x1bW4ge1xuICAgIHBhZGRpbmc6IDAgMWVtICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vL3NsaWRlciJdfQ== */\";","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup, NgForm, Validators } from '@angular/forms';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { NetworkEpg } from 'src/app/shared/model/network-epg-model/network-epg';\nimport { NetworkEpgFilesUpload } from 'src/app/shared/model/network-epg-model/network-epg-files-upload';\nimport { NewNetworkEpg } from 'src/app/shared/model/new-network-epg';\nimport { NetworkEpgService } from 'src/app/shared/service/network-epg.service';\nimport { environment } from 'src/environments/environment';\nimport { uniqueCodeValidator } from '../../../../shared/utils/unique-code.validator';\n\n@Component({\n selector: 'app-create-network',\n templateUrl: './create-network.component.html',\n styleUrls: ['./create-network.component.scss']\n})\nexport class CreateNetworkComponent implements OnInit {\n\n private unsubscription$: Subject;\n @ViewChild('formDirective') private formDirective: NgForm;\n\n\n newNetwork: NewNetworkEpg = {\n id: null,\n nameEn: \"\",\n nameEs: \"\",\n namePt: \"\",\n code: \"\",\n informationEn: \"\",\n informationEs: \"\",\n informationPt: \"\",\n urlsEn: \"\",\n urlsEs: \"\",\n urlsPt: \"\",\n urlTwitterEn: \"\",\n urlTwitterEs: \"\",\n urlTwitterPt: \"\",\n urlFacebookEn: \"\",\n urlFacebookEs: \"\",\n urlFacebookPt: \"\",\n feedText: \"\",\n feedHorarios: \"\",\n visible: false,\n active: false,\n activepcm: false,\n logo: \"\",\n factSheet: \"\",\n pressKit: \"\",\n feedImage: \"\"\n\n }\n networkForm: FormGroup;\n networkEpgLogoUpload: NetworkEpgFilesUpload;\n networkEpgReflectedLogoUpload: NetworkEpgFilesUpload;\n logoUrl: string;\n listNetworks: NetworkEpg[] = [];\n imageExtensions: string[] = [];\n defaultLogoUrl: string = environment.bucketUrlImages + \"WBD_logo_news.png\";\n maxWidthLogo: number = 240;\n maxHeightLogo: number = 120;\n maxWidthLogoRef: number = 97;\n maxHeightLogoRef: number = 96;\n allowedExtension: string = \".png\";\n updateInProgress: boolean = false;\n\n\n // variables para mensajes del snackbar.\n publicationFilesInProcessMessage: string;\n successfulFilesPublicationMessage: string;\n\n // variables para mensajes del snackbar.\n errorMessage: string;\n errorDBMessage: string;\n\n\n //si el componente esta en modo edicion\n isEdit: boolean;\n imageMessage: string = \"\";\n networkImage: string = \"\";\n networkReflectedImage = \"\"\n imageReflectedMessage: string = \"\";\n\n // variables del html.\n savingInProgress: boolean = false;\n\n //validators\n existingNetworkCodes: string[] = [];\n isCodesLoaded: boolean = false;\n\n constructor(private fb: FormBuilder,\n private networkEpgService: NetworkEpgService,\n private snackBar: MatSnackBar,\n private translateService: TranslateService,\n\n\n ) {\n\n this.unsubscription$ = new Subject();\n this.networkEpgLogoUpload = new NetworkEpgFilesUpload();\n this.networkEpgReflectedLogoUpload = new NetworkEpgFilesUpload();\n\n this.logoUrl = environment.bucketUrlImagesNewsLogo;\n\n this.networkForm = this.fb.group({\n name_en: ['', Validators.required],\n name_es: ['', Validators.required],\n name_pt: ['', Validators.required],\n code: ['', Validators.required],\n information_en: ['', Validators.required],\n information_es: ['', Validators.required],\n information_pt: ['', Validators.required],\n url_en: ['', [Validators.required, Validators.pattern('^(https?://|www\\\\.)[a-zA-Z0-9._%+-/]+')]],\n url_es: ['', [Validators.required, Validators.pattern('^(https?://|www\\\\.)[a-zA-Z0-9._%+-/]+')]],\n url_pt: ['', [Validators.required, Validators.pattern('^(https?://|www\\\\.)[a-zA-Z0-9._%+-/]+')]],\n url_twitter_en: ['', [Validators.pattern('^(https?://(twitter.com|x.com)/.+|www\\\\.(twitter.com|x.com)/.+)')]],\n url_twitter_es: ['', [Validators.pattern('^(https?://(twitter.com|x.com)/.+|www\\\\.(twitter.com|x.com)/.+)')]],\n url_twitter_pt: ['', [Validators.pattern('^(https?://(twitter.com|x.com)/.+|www\\\\.(twitter.com|x.com)/.+)')]],\n url_facebook_en: ['', [Validators.pattern('^(https?://(facebook.com|www\\\\.facebook.com)/.+)')]],\n url_facebook_es: ['', [Validators.pattern('^(https?://(facebook.com|www\\\\.facebook.com)/.+)')]],\n url_facebook_pt: ['', [Validators.pattern('^(https?://(facebook.com|www\\\\.facebook.com)/.+)')]],\n feeds: [''],\n horarios: [''],\n visible: [true],\n active: [false]\n });\n }\n\n ngOnInit(): void {\n\n this.networkImage = this.defaultLogoUrl;\n this.networkReflectedImage = this.defaultLogoUrl;\n\n this.translateService.stream([\n 'epg.networks_upload.messages.errorUpload',\n 'epg.networks_upload.messages.errorUpload',\n 'epg.networks_upload.messages.successUpload'\n ])\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.mapperToMessages(translations));\n\n\n this.loadExistingCodes();\n\n\n }\n\n\n\n save() {\n if (this.networkForm.valid) {\n this.savingInProgress = true;\n\n this.uploadToS3(null);\n }\n }\n\n uploadToS3(id) {\n if (this.networkEpgLogoUpload.networkFile != null) {\n this.networkEpgLogoUpload.fileName = (this.networkForm.value.code + this.allowedExtension).toLowerCase();\n }\n\n if (this.networkEpgReflectedLogoUpload.networkFile != null) {\n this.networkEpgReflectedLogoUpload.fileName = (this.networkForm.value.code + this.allowedExtension).toLowerCase();\n }\n\n let epgUpload = {\n logo: this.networkEpgLogoUpload,\n reflectedLogo: this.networkEpgReflectedLogoUpload\n };\n\n this.networkEpgService.uploadFilesToS3(epgUpload).subscribe({\n next: () => {\n this.registerInDB(id);\n },\n error: () => {\n this.showSnackbar(this.errorMessage, \"Ok\");\n this.savingInProgress = false;\n }\n });\n }\n\n registerInDB(id) {\n const formValues = this.networkForm.value;\n const selectedNetwork = this.listNetworks.find(network => network.code === formValues.network.code);\n\n this.newNetwork = {\n id: id,\n active: formValues.active,\n code: formValues.code.toUpperCase(),\n factSheet: null,\n informationEn: formValues.information_en,\n informationEs: formValues.information_es,\n informationPt: formValues.information_pt,\n logo: this.networkEpgLogoUpload.fileName,\n nameEn: formValues.name_en,\n nameEs: formValues.name_es,\n namePt: formValues.name_pt,\n urlFacebookEn: formValues.url_facebook_en,\n urlFacebookEs: formValues.url_facebook_es,\n urlFacebookPt: formValues.urlFacebookEs,\n urlTwitterEn: formValues.url_twitter_en,\n urlTwitterEs: formValues.url_twitter_es,\n urlTwitterPt: formValues.url_twitter_pt,\n urlsEn: formValues.url_en,\n urlsEs: formValues.url_es,\n urlsPt: formValues.url_pt,\n feedImage: null,\n feedText: formValues.feeds,\n feedHorarios: formValues.feedHorarios,\n pressKit: null,\n visible: true, //hace visibles las imágenes \n activepcm: false\n };\n\n this.networkEpgService.saveNetworkEpg(this.newNetwork).subscribe({\n next: (res) => {\n this.showSnackbar(this.successfulFilesPublicationMessage, \"Ok\");\n this.savingInProgress = false;\n\n this.imageMessage = \"\";\n this.imageReflectedMessage = \"\";\n this.networkImage = this.defaultLogoUrl;\n this.networkReflectedImage = this.defaultLogoUrl;\n this.formDirective.resetForm();\n this.networkForm.reset();\n this.loadExistingCodes();\n\n\n },\n error: () => {\n this.showErrorSnackbar(this.errorDBMessage, \"Ok\");\n }\n });\n }\n\n private resetFormState() {\n this.savingInProgress = false;\n this.imageMessage = \"\";\n this.imageReflectedMessage = \"\";\n this.networkImage = this.defaultLogoUrl;\n this.networkReflectedImage = this.defaultLogoUrl;\n this.formDirective.resetForm();\n this.networkForm.reset();\n }\n\n showSnackbar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.duration = 3000;\n config.verticalPosition = \"top\";\n config.panelClass = ['SuccessfulSnackbar'];\n this.snackBar.open(message, action, config);\n }\n\n showErrorSnackbar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['error-snackbar'];\n this.snackBar.open(message, action, config);\n }\n\n onImageSelected(event: any) {\n const selectedFile = event.target.files[0];\n\n if (!selectedFile) return;\n const fileName = selectedFile.name;\n const fileExtension = fileName.split('.').pop().toLowerCase();\n const reader = new FileReader();\n\n this.networkEpgLogoUpload.fileName = selectedFile;\n\n this.networkEpgLogoUpload.networkFile = selectedFile;\n\n if (!this.imageExtensions.includes(fileExtension)) {\n this.imageMessage = `El archivo ${fileName} no tiene una extensión válida.`;\n }\n else if (selectedFile.size === 0) {\n this.imageMessage = `El archivo ${fileName} se encuentra vacío.`;\n }\n\n\n reader.readAsDataURL(selectedFile);\n reader.onload = (e: any) => {\n\n const img = new Image();\n img.src = reader.result as string;\n img.onload = () => {\n const height = img.naturalHeight;\n const width = img.naturalWidth;\n if (height != 120 && width != 240) {\n this.imageMessage = `El archivo ${fileName} no tiene el tamaño adecuado \\ (${this.maxWidthLogo}px x ${this.maxWidthLogo}px).`;\n } else {\n this.imageMessage = fileName;\n this.networkImage = e.target.result;\n }\n };\n };\n }\n\n onImageReflectedSelected(event: any) {\n\n const selectedFile = event.target.files[0];\n\n if (!selectedFile) return;\n const fileName = selectedFile.name;\n const fileExtension = fileName.split('.').pop().toLowerCase();\n const reader = new FileReader();\n\n this.networkEpgReflectedLogoUpload.fileName = selectedFile;\n\n const networkCode = this.networkForm.value.code\n\n this.networkEpgReflectedLogoUpload.fileName = (networkCode + \".\" + fileExtension).toLowerCase();\n this.networkEpgReflectedLogoUpload.networkFile = selectedFile;\n\n if (!this.imageExtensions.includes(fileExtension)) {\n this.imageReflectedMessage = `El archivo ${fileName} no tiene una extensión válida.`;\n }\n else if (selectedFile.size === 0) {\n this.imageReflectedMessage = `El archivo ${fileName} se encuentra vacío.`;\n }\n\n reader.readAsDataURL(selectedFile);\n reader.onload = (e: any) => {\n\n const img = new Image();\n img.src = reader.result as string;\n img.onload = () => {\n const height = img.naturalHeight;\n const width = img.naturalWidth;\n if (height != 96 && width != 97) {\n this.imageReflectedMessage = `El archivo ${fileName} no tiene el tamaño adecuado \\ (${this.maxWidthLogoRef}px x ${this.maxWidthLogoRef}px).`;\n } else {\n this.imageReflectedMessage = fileName;\n this.networkReflectedImage = e.target.result;\n }\n };\n };\n }\n\n\n private mapperToMessages(translations: any): void {\n this.errorMessage = translations['epg.networks_upload.messages.errorUpload'];\n this.errorDBMessage = translations['epg.networks_upload.messages.errorUpload'];\n this.successfulFilesPublicationMessage = translations['epg.networks_upload.messages.successUpload'];\n }\n\n loadExistingCodes() {\n this.networkEpgService.getAllNetwork().pipe(\n takeUntil(this.unsubscription$)\n ).subscribe({ \n next : (result) => {\n this.existingNetworkCodes = result.map(network => network.code);\n\n this.networkForm.get('code').setValidators([\n Validators.required,\n uniqueCodeValidator(this.existingNetworkCodes)\n ]);\n\n this.networkForm.get('code').updateValueAndValidity();\n\n this.isCodesLoaded = true;\n } \n });\n }\n\n}\n\n","export default \".network-name {\\n font-weight: bolder;\\n}\\n\\n.content-network { \\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n text-align: center;\\n margin-bottom: 5%;\\n}\\n\\n.content-network-buttons {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n padding-bottom: 7%;\\n}\\n\\n.confirm-button{\\n color:white;\\n background-color: #355CFE; \\n}\\n\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tbmV0d29ya3MvZWRpdC1uZXR3b3JrL2RlbGV0ZS1uZXR3b3JrLWRpYWxvZy9kZWxldGUtbmV0d29yay1kaWFsb2cuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGlEQUFpRDtJQUNqRCxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLHVCQUF1QjtJQUN2QixrQkFBa0I7SUFDbEIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQiw4QkFBOEI7R0FDL0Isa0JBQWtCO0FBQ3JCOztBQUVBO0lBQ0ksV0FBVztJQUNYLHlCQUF5QjtBQUM3QiIsImZpbGUiOiJzcmMvYXBwL2VwZy9hZG1pbi1jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9uLW5ldHdvcmtzL2VkaXQtbmV0d29yay9kZWxldGUtbmV0d29yay1kaWFsb2cvZGVsZXRlLW5ldHdvcmstZGlhbG9nLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubmV0d29yay1uYW1lIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4uY29udGVudC1uZXR3b3JrIHsgXG4gICAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNSU7XG59XG5cbi5jb250ZW50LW5ldHdvcmstYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgIHBhZGRpbmctYm90dG9tOiA3JTtcbn1cblxuLmNvbmZpcm0tYnV0dG9ue1xuICAgIGNvbG9yOndoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzNTVDRkU7IFxufVxuXG4iXX0= */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-delete-network-dialog',\n templateUrl: './delete-network-dialog.component.html',\n styleUrls: ['./delete-network-dialog.component.css']\n})\nexport class DeleteNetworkDialogComponent implements OnInit {\n deactivationDate: Date;\n minDate: Date; \n\n constructor( \n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { networkName: string }\n) { }\n\n ngOnInit(): void {\n this.minDate = new Date();\n \n }\n\n onConfirm(): void {\n this.dialogRef.close({ confirmed: true, date: this.deactivationDate });\n }\n\n onCancel(): void {\n this.dialogRef.close({ confirmed: false });\n }\n\n}\n","export default \"::ng-deep .SuccessfulSnackbar {\\n background-color: #038566 !important;\\n color: white !important;\\n}\\n\\n::ng-deep .SuccessfulSnackbar .mat-simple-snackbar-action {\\n color: white !important;\\n}\\n\\n::ng-deep .SuccessfulSnackbar .mat-simple-snackbar-action button {\\n color: white !important;\\n}\\n\\n.form-buttons-container {\\n display: flex;\\n flex-direction: row;\\n justify-content: flex-end;\\n gap: 10px;\\n}\\n\\n.logo-label {\\n margin: 10px 0 10px 0;\\n color: #777;\\n}\\n\\n.loading-spinner {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.canceledit {\\n background-color: #DC3545 !important;\\n height: 30px;\\n}\\n\\n.editbtn {\\n height: 30px;\\n}\\n\\n.news-image-container {\\n justify-self: center;\\n}\\n\\n.news-input-button-container {\\n display: flex;\\n justify-content: center;\\n margin: 0.5em 0;\\n}\\n\\n.news-logo-container {\\n width: 100%;\\n height: -moz-fit-content;\\n height: fit-content;\\n border: 1px solid #3636366b;\\n border-radius: 5px;\\n display: flex;\\n justify-content: center;\\n}\\n\\n.net-img-container {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.news-image-button {\\n max-width: 300px;\\n}\\n\\n.news-image-button > span {\\n display: block;\\n max-width: 180px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n\\n.feeds-image {\\n width: 180px;\\n height: 240px;\\n border: 1px solid #3636366b;\\n border-radius: 5px;\\n margin-top: 10px;\\n}\\n\\n.news-image {\\n max-width: 100%;\\n max-height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\ninput[type=file] {\\n display: none;\\n}\\n\\n.news-buttons-container {\\n margin: 0.5em 0;\\n display: flex;\\n justify-content: space-between;\\n}\\n\\n.news-buttons-container button {\\n margin-right: 5px;\\n}\\n\\n.submitnet {\\n width: 100%;\\n height: 30px;\\n}\\n\\n.submitnet:not([disabled]) {\\n width: 100%;\\n height: 30px;\\n color: white;\\n background-color: #355CFE !important;\\n line-height: inherit;\\n}\\n\\n.checkboxnet {\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n gap: 30px;\\n}\\n\\n.netbutton {\\n width: 400px;\\n}\\n\\n.full-width {\\n width: 100%;\\n}\\n\\n.editable-input {\\n width: 100%;\\n}\\n\\n.actions-container {\\n display: flex;\\n justify-content: flex-end;\\n gap: 10px;\\n}\\n\\n.form-row-net {\\n display: flex;\\n align-items: flex-start;\\n margin-bottom: 16px;\\n margin-left: 5px;\\n margin-top: 16px;\\n}\\n\\n.label-text {\\n width: 200px;\\n font-size: 15px;\\n color: #777;\\n}\\n\\n.form-inputs {\\n display: flex;\\n gap: 16px;\\n flex-direction: column;\\n width: 100%;\\n}\\n\\n.input-group {\\n margin-top: 20px;\\n}\\n\\n.mat-mdc-form-field + .mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.network-button {\\n color: white;\\n background-color: #355CFE;\\n height: 29px;\\n line-height: inherit;\\n}\\n\\n.mat-tab-group {\\n display: flex;\\n}\\n\\n.mat-accordion .mat-expansion-panel {\\n min-width: 30vh;\\n}\\n\\n.custom-accordion .mat-expansion-panel-header {\\n background-color: #355CFE;\\n /* Cambia el color del encabezado del panel */\\n}\\n\\n.mat-expansion-panel-header-title {\\n color: white;\\n}\\n\\n::ng-deep .mat-expansion-indicator::after {\\n color: white !important;\\n}\\n\\n::ng-deep .mat-expansion-indicator {\\n color: white !important;\\n}\\n\\n::ng-deep .mat-expansion-panel-header-description,\\n.mat-expansion-indicator::after {\\n color: white !important;\\n}\\n\\n::ng-deep .mat-accordion .mat-expansion-panel:not(.mat-expanded),\\n::ng-deep .mat-accordion .mat-expansion-panel:not(.mat-expansion-panel-spacing) ::ng-deep .mat-expansion-panel-header {\\n border-radius: 4px !important;\\n}\\n\\n::ng-deep .mat-expansion-panel:not([class*=mat-elevation-z]) {\\n box-shadow: none !important;\\n background-color: #eeeeee;\\n}\\n\\n:ng-deep .mat-accordion .mat-expansion-panel:first-of-type {\\n border-radius: 4px;\\n}\\n\\n.mat-expansion-panel {\\n border-radius: 4px;\\n}\\n\\n.mat-expansion-panel:not(.mat-expanded) {\\n border-radius: 4px;\\n}\\n\\n.custom-accordion .mat-expansion-panel-header:hover {\\n background-color: #355CFE;\\n /* Cambia el color del encabezado al hacer hover */\\n}\\n\\n::ng-deep mat-accordion {\\n display: grid;\\n gap: 10px;\\n}\\n\\n::ng-deep mat-expansion-panel {\\n margin-bottom: 16px;\\n}\\n\\n::ng-deep .mat-expansion-panel-body {\\n border-radius: 4px;\\n}\\n\\n:host .mat-tab-label-content {\\n font-size: 20px;\\n}\\n\\n.tabpanel {\\n height: auto;\\n max-height: 20vh;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n height: -moz-min-content;\\n height: min-content;\\n margin-top: 30px;\\n}\\n\\n.btn-edit {\\n display: flex !important;\\n justify-content: flex-end !important;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.primer-fila {\\n display: grid;\\n grid-template-columns: 30% 70%;\\n}\\n\\n.primer-componente {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n margin-right: 50px;\\n width: 100%;\\n gap: 20px;\\n}\\n\\n.imagen-container {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.imagen-principal {\\n width: 100%;\\n}\\n\\n.logo-container {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.logo-izquierdo {\\n max-width: 100%;\\n max-height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.reff-buttons {\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n gap: 10px;\\n margin-top: 10px;\\n}\\n\\n.buttons-dyp {\\n display: flex;\\n gap: 10px;\\n justify-content: center;\\n}\\n\\n.segundo-componente {\\n display: flex;\\n flex-direction: column;\\n flex: 1;\\n overflow: visible;\\n margin-left: 50px;\\n}\\n\\nform {\\n display: flex;\\n flex-direction: column;\\n}\\n\\nmat-form-field {\\n width: 100%;\\n margin-bottom: 16px;\\n}\\n\\n.mat-form-field-underline {\\n background-color: #3F48CC !important;\\n}\\n\\n:host ::ng-deep .mat-form-field-underline {\\n background-color: #3F48CC;\\n}\\n\\n:host ::ng-deep .mat-form-field-underline:hover {\\n background-color: #3F48CC;\\n}\\n\\n:host ::ng-deep .mat-form-field-underline.mat-focused {\\n background-color: #3F48CC;\\n}\\n\\n:host ::ng-deep .mat-form-field-ripple {\\n background-color: #3F48CC;\\n}\\n\\n.description-tabs {\\n height: 100%;\\n float: 1;\\n}\\n\\n.segunda-fila {\\n display: flex;\\n margin-top: 30px;\\n height: 120px;\\n}\\n\\n.tabs-segunda-fila {\\n align-items: center;\\n}\\n\\n.network-button-row {\\n display: flex;\\n flex-wrap: wrap;\\n flex-flow: column;\\n justify-content: center;\\n align-items: center;\\n gap: 5px;\\n width: 100%;\\n margin-top: 3px;\\n}\\n\\n.networks-buttons-col {\\n align-items: center;\\n justify-content: center;\\n display: flex;\\n width: 100%;\\n}\\n\\n::ng-deep .snackbar-info {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .snackbar-info .mat-simple-snackbar-action {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .error-snackbar {\\n color: white;\\n background-color: red;\\n}\\n\\n::ng-deep .error-snackbar .mat-simple-snackbar-action {\\n color: white;\\n background-color: red;\\n}\\n\\n.form-wrapper-interior {\\n min-height: 75px;\\n max-height: 75px;\\n margin-top: 10px;\\n}\\n\\n.module-select-container {\\n text-align: center;\\n margin-bottom: 15px;\\n}\\n\\n.select-container {\\n max-height: 420px;\\n width: 300px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n.app-networks .mat-cell {\\n padding-right: 0px;\\n}\\n\\n::ng-deep .localbrakes-table .mat-cell {\\n padding-left: 18px;\\n padding-right: 18px;\\n}\\n\\n:host ::ng-deep .mat-header-cell,\\n::ng-deep .mat-sort-header-container {\\n justify-content: center;\\n padding: 0 !important;\\n}\\n\\n:host ::ng-deep .mat-sort-header-arrow {\\n color: #5A63D4;\\n opacity: 1;\\n}\\n\\n::ng-deep button:focus {\\n outline: none !important;\\n}\\n\\n.feed-button {\\n color: #355CFE;\\n}\\n\\n.button-container {\\n text-align: center;\\n}\\n\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n text-align: center;\\n border: 1px solid white;\\n color: #000000;\\n background-color: #CECECE !important;\\n border-top: 0px;\\n}\\n\\n.row-height {\\n height: 35px !important;\\n}\\n\\n.mat-row:hover {\\n background: #b9b8b8 !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]),\\n.mat-row:not([class*=mat-elevation-z]) {\\n height: 30px;\\n background: white;\\n text-align: center;\\n}\\n\\n.mat-cell:not([class*=mat-elevation-z]),\\n.mat-footer-cell:not([class*=mat-elevation-z]),\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n border-bottom-width: 1px;\\n border-bottom-style: solid;\\n font-size: 9pt;\\n font-weight: normal;\\n font-family: Arial, sans-serif;\\n}\\n\\n.mat-cell {\\n padding-right: 0 !important;\\n}\\n\\n.file-icon-cell {\\n width: 100px;\\n}\\n\\n.title-contacts {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 14px;\\n font-weight: 500;\\n}\\n\\n.dailygrids_table {\\n margin-top: 1em;\\n}\\n\\n.dailygrids_description-column {\\n padding: 0 1em !important;\\n text-align: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tbmV0d29ya3MvZWRpdC1uZXR3b3JrL2VkaXQtbmV0d29yay5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQTtFQUNJLG9DQUFBO0VBQ0EsdUJBQUE7QUFSSjs7QUFXQTtFQUNJLHVCQUFBO0FBUko7O0FBWUE7RUFDSSx1QkFBQTtBQVRKOztBQWFBO0VBQ0ksYUFBQTtFQUNBLG1CQUFBO0VBQ0EseUJBQUE7RUFDQSxTQUFBO0FBVko7O0FBYUE7RUFDQyxxQkFBQTtFQUNBLFdBM0JTO0FBaUJWOztBQWFBO0VBQ0ksYUFBQTtFQUNBLHVCQUFBO0FBVko7O0FBYUE7RUFDSSxvQ0FBQTtFQUNBLFlBQUE7QUFWSjs7QUFhQTtFQUNJLFlBQUE7QUFWSjs7QUFhQTtFQUVJLG9CQUFBO0FBWEo7O0FBY0E7RUFDSSxhQUFBO0VBQ0EsdUJBQUE7RUFDQSxlQUFBO0FBWEo7O0FBY0E7RUFDSSxXQUFBO0VBQ0Esd0JBQUE7RUFBQSxtQkFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0EsdUJBQUE7QUFYSjs7QUFlQTtFQUNJLGFBQUE7RUFDQSx1QkFBQTtBQVpKOztBQWdCQTtFQUNJLGdCQUFBO0FBYko7O0FBZ0JBO0VBQ0ksY0FBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0FBYko7O0FBZ0JBO0VBQ0ksWUFBQTtFQUNBLGFBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUFiSjs7QUFnQkE7RUFDSSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0FBYko7O0FBaUJBO0VBQ0ksYUFBQTtBQWRKOztBQWlCQTtFQUNJLGVBQUE7RUFDQSxhQUFBO0VBQ0EsOEJBQUE7QUFkSjs7QUFpQkE7RUFDSSxpQkFBQTtBQWRKOztBQWtCQTtFQUNJLFdBQUE7RUFDQSxZQUFB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dUJBQUE7RUFDQSxjQUFBO0VBQ0Esb0NBQUE7RUFDQSxlQUFBO0FBcERKOztBQXVEQTtFQUNJLHVCQUFBO0FBcERKOztBQXVEQTtFQUNJLDhCQUFBO0FBcERKOztBQXVEQTs7RUFFSSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBQXBESjs7QUF1REE7OztFQUdJLHdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSw4QkFBQTtBQXBESjs7QUF1REE7RUFDSSwyQkFBQTtBQXBESjs7QUF1REE7RUFDSSxZQUFBO0FBcERKOztBQXdEQTtFQUNJLGlEQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FBckRKOztBQXdEQTtFQUNJLGVBQUE7QUFyREo7O0FBd0RBO0VBQ0kseUJBQUE7RUFDQSxrQkFBQTtBQXJESiIsImZpbGUiOiJzcmMvYXBwL2VwZy9hZG1pbi1jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9uLW5ldHdvcmtzL2VkaXQtbmV0d29yay9lZGl0LW5ldHdvcmsuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkY29sb3ItMTogIzVBNjNENDtcbiRjb2xvci0yOiAjM0Y0OENDO1xuJGNvbG9yLTM6ICNEN0Q3RDc7XG4kY29sb3ItNDogIzM1NUNGRTtcbiRjb2xvci01OiAjQ0VDRUNFO1xuJGNvbG9yLTY6ICNiOWI4Yjg7XG4kY29sb3ItNzogIzc3NztcblxuXG46Om5nLWRlZXAgLlN1Y2Nlc3NmdWxTbmFja2JhcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDM4NTY2IWltcG9ydGFudDtcbiAgICBjb2xvcjogd2hpdGUhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLlN1Y2Nlc3NmdWxTbmFja2JhciAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGNvbG9yOiB3aGl0ZSFpbXBvcnRhbnQ7XG59XG5cblxuOjpuZy1kZWVwIC5TdWNjZXNzZnVsU25hY2tiYXIgLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIGJ1dHRvbiB7XG4gICAgY29sb3I6IHdoaXRlIWltcG9ydGFudDtcbn1cblxuXG4uZm9ybS1idXR0b25zLWNvbnRhaW5lciB7IFxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyBcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5sb2dvLWxhYmVse1xuIG1hcmdpbjogMTBweCAwIDEwcHggMDtcbiBjb2xvcjogJGNvbG9yLTc7XG59XG5cbi5sb2FkaW5nLXNwaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jYW5jZWxlZGl0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREMzNTQ1ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAzMHB4O1xufVxuXG4uZWRpdGJ0biB7XG4gICAgaGVpZ2h0OiAzMHB4O1xufVxuXG4ubmV3cy1pbWFnZS1jb250YWluZXIge1xuXG4gICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG59XG5cbi5uZXdzLWlucHV0LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwLjVlbSAwO1xufVxuXG4ubmV3cy1sb2dvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzYzNjM2NmI7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbn1cblxuLm5ldC1pbWctY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5cbi5uZXdzLWltYWdlLWJ1dHRvbiB7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbn1cblxuLm5ld3MtaW1hZ2UtYnV0dG9uPnNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uZmVlZHMtaW1hZ2Uge1xuICAgIHdpZHRoOiAxODBweDtcbiAgICBoZWlnaHQ6IDI0MHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNjM2MzY2YjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLm5ld3MtaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vL3BhcmEgZWwgYm90b24gZGUgc3ViaXIgYXJjaGl2b3NcbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmV3cy1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwLjVlbSAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ubmV3cy1idXR0b25zLWNvbnRhaW5lciBidXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc3VibWl0bmV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDMwcHg7XG59XG5cbi5zdWJtaXRuZXQ6bm90KFtkaXNhYmxlZF0pIHtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzBweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTQgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLmNoZWNrYm94bmV0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDMwcHg7XG59XG5cbi5uZXRidXR0b24ge1xuICAgIHdpZHRoOiA0MDBweDtcbn1cblxuLmZ1bGwtd2lkdGgge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZWRpdGFibGUtaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYWN0aW9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5mb3JtLXJvdy1uZXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG59XG5cbi5sYWJlbC10ZXh0IHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAkY29sb3ItNztcbn1cblxuLmZvcm0taW5wdXRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTZweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uaW5wdXQtZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cblxuXG4ubWF0LW1kYy1mb3JtLWZpZWxkKy5tYXQtbWRjLWZvcm0tZmllbGQge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi8vIHBhcmEgZWwgY29udG9ybm8geSBlbCB0aXR1bG9cbi50aXRsZS1mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB0O1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4ubmV0d29yay1idXR0b24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItNCA7XG4gICAgaGVpZ2h0OiAyOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4ubWF0LXRhYi1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuXG5cbi5tYXQtYWNjb3JkaW9uIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBtaW4td2lkdGg6IDMwdmg7XG5cbn1cblxuLmN1c3RvbS1hY2NvcmRpb24gLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItNDtcbiAgICAvKiBDYW1iaWEgZWwgY29sb3IgZGVsIGVuY2FiZXphZG8gZGVsIHBhbmVsICovXG59XG5cbi5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10aXRsZSB7XG4gICAgY29sb3I6IHdoaXRlO1xufVxuXG46Om5nLWRlZXAgLm1hdC1leHBhbnNpb24taW5kaWNhdG9yOjphZnRlciB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3Ige1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uLFxuLm1hdC1leHBhbnNpb24taW5kaWNhdG9yOjphZnRlciB7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAubWF0LWFjY29yZGlvbiAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCksXG46Om5nLWRlZXAgLm1hdC1hY2NvcmRpb24gLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5zaW9uLXBhbmVsLXNwYWNpbmcpIDo6bmctZGVlcCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xufVxuXG5cbjpuZy1kZWVwIC5tYXQtYWNjb3JkaW9uIC5tYXQtZXhwYW5zaW9uLXBhbmVsOmZpcnN0LW9mLXR5cGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLm1hdC1leHBhbnNpb24tcGFuZWw6bm90KC5tYXQtZXhwYW5kZWQpIHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5jdXN0b20tYWNjb3JkaW9uIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTQ7XG4gICAgLyogQ2FtYmlhIGVsIGNvbG9yIGRlbCBlbmNhYmV6YWRvIGFsIGhhY2VyIGhvdmVyICovXG59XG5cblxuXG5cbjo6bmctZGVlcCBtYXQtYWNjb3JkaW9uIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMTBweDtcbn1cblxuOjpuZy1kZWVwIG1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbjo6bmctZGVlcCAubWF0LWV4cGFuc2lvbi1wYW5lbC1ib2R5IHtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbjpob3N0IC5tYXQtdGFiLWxhYmVsLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnRhYnBhbmVsIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMjB2aDtcbn1cblxuLyoqIFNvYnJlZXNjcmliZSBlbCBjb2xvciBwcmVkZXRlcm1pbmFkbyBkZWwgY2hlY2tib3ggKi9cbjo6bmctZGVlcCAubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci00O1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4uYnRuLWVkaXQge1xuZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhaW1wb3J0YW50O1xufVxuXG4uZm9ybS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBoZWlnaHQ6IDYwJTtcbn1cblxuLy8gcHJpbWVyIGNvbXBvbmVudGUgZGUgbGEgZmlsYSAxXG4ucHJpbWVyLWZpbGEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMCUgNzAlO1xufVxuXG4ucHJpbWVyLWNvbXBvbmVudGUge1xuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBnYXA6IDIwcHg7XG59XG5cbi5pbWFnZW4tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pbWFnZW4tcHJpbmNpcGFsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy8gaW1hZ2VuXG4ubG9nby1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5sb2dvLWl6cXVpZXJkbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8vIGJvdG9uZXMgcXVlIHJlZmVyZW5jaWFuXG4ucmVmZi1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYnV0dG9ucy1keXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vLyB0YWJzXG4uc2VndW5kby1jb21wb25lbnRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbn1cblxuZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG5tYXQtZm9ybS1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTIgIWltcG9ydGFudDtcbn1cblxuOmhvc3QgOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0yO1xufVxuXG46aG9zdCA6Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTI7XG59XG5cbjpob3N0IDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lLm1hdC1mb2N1c2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItMjtcbn1cblxuOmhvc3QgOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0yO1xufVxuXG5cblxuLmRlc2NyaXB0aW9uLXRhYnMge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbG9hdDogMTtcbn1cblxuLnNlZ3VuZGEtZmlsYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG59XG5cbi50YWJzLXNlZ3VuZGEtZmlsYSB7XG4gICAgLy8gZGlzcGxheTogZmxleDtcbiAgICAvLyB3aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5cbi5uZXR3b3JrLWJ1dHRvbi1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG4ubmV0d29ya3MtYnV0dG9ucy1jb2wge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy8gc25hY2tiYXJcbjo6bmctZGVlcCAuc25hY2tiYXItaW5mbyB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDI7XG59XG5cbjo6bmctZGVlcCAuc25hY2tiYXItaW5mbyAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQyO1xufVxuXG46Om5nLWRlZXAgLmVycm9yLXNuYWNrYmFyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xufVxuXG46Om5nLWRlZXAgLmVycm9yLXNuYWNrYmFyIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbn1cblxuLy9maWx0cm8gZGUgZmVjaGFcbi5mb3JtLXdyYXBwZXItaW50ZXJpb3Ige1xuICAgIG1pbi1oZWlnaHQ6IDc1cHg7XG4gICAgbWF4LWhlaWdodDogNzVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ubW9kdWxlLXNlbGVjdC1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogNDIwcHg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDElO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbn1cblxuXG4ubWF0LXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZpZWxkLXRleHQge1xuICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG59XG5cbi5hcHAtbmV0d29ya3MgLm1hdC1jZWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XG59XG5cbjo6bmctZGVlcCAubG9jYWxicmFrZXMtdGFibGUgLm1hdC1jZWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgcGFkZGluZy1yaWdodDogMThweDtcbn1cblxuOmhvc3QgOjpuZy1kZWVwIC5tYXQtaGVhZGVyLWNlbGwsXG46Om5nLWRlZXAgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gcGFyYSBsYXMgZmxlY2hhcyBkZSBvcmRlbmFtaWVudG9cbjpob3N0IDo6bmctZGVlcCAubWF0LXNvcnQtaGVhZGVyLWFycm93IHtcbiAgICBjb2xvcjogJGNvbG9yLTE7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLy9cbjo6bmctZGVlcCBidXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmZlZWQtYnV0dG9uIHtcbiAgICBjb2xvcjogJGNvbG9yLTQ7XG59XG5cbi5idXR0b24tY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbn1cblxuLy9kYXJsZSBjb2xvciBhbCBib3RvbiB2ZXIsIHNpbiBjbGFzcyBtYXQtZWxldmF0aW9uLXogeSBubyBkZXNhYmlsaXRhZG9zXG4vLyAubWF0LXJhaXNlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSk6bm90KFtkaXNhYmxlZF0pIHtcbi8vICAgICBjb2xvcjogd2hpdGU7XG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTQgIWltcG9ydGFudDtcbi8vICAgICBoZWlnaHQ6IDI0cHg7XG4vLyAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4vLyB9XG5cbi8vZGFybGUgY29sb3IgYSBsYSB0YWJsYVxuLm1hdC1oZWFkZXItY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci01ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMHB4O1xufVxuXG4ucm93LWhlaWdodCB7XG4gICAgaGVpZ2h0OiAzNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtcm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItNiAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWhlYWRlci1yb3c6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LXJvdzpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXQtY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxcbi5tYXQtZm9vdGVyLWNlbGw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LWhlYWRlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgZm9udC1zaXplOiA5cHQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5tYXQtY2VsbCB7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4uZmlsZS1pY29uLWNlbGwge1xuICAgIHdpZHRoOiAxMDBweDtcbn1cblxuXG4udGl0bGUtY29udGFjdHMge1xuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRhaWx5Z3JpZHNfdGFibGUge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLmRhaWx5Z3JpZHNfZGVzY3JpcHRpb24tY29sdW1uIHtcbiAgICBwYWRkaW5nOiAwIDFlbSAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy9zbGlkZXJcbiJdfQ== */\";","import { HttpClient } from '@angular/common/http';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Contact } from 'src/app/shared/model/contact';\nimport { Network } from 'src/app/shared/model/network';\nimport { NetworkContact } from 'src/app/shared/model/network-contact';\nimport { NetworkEpgFilesUpload } from 'src/app/shared/model/network-epg-model/network-epg-files-upload';\nimport { NewNetworkEpg } from 'src/app/shared/model/new-network-epg';\nimport { EpgDataService } from 'src/app/shared/service/epg-data.service';\nimport { NetworkContactService } from 'src/app/shared/service/network-contact.service';\nimport { NetworkEpgService } from 'src/app/shared/service/network-epg.service';\nimport { environment } from 'src/environments/environment';\nimport { DeleteNetworkDialogComponent } from './delete-network-dialog/delete-network-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-edit-network',\n templateUrl: './edit-network.component.html',\n styleUrls: ['./edit-network.component.scss']\n})\nexport class EditNetworkComponent implements OnInit {\n\n @Input() selectedNetworkCode: string | null = null;\n\n pressKitMessage: string;\n factSheetMessage: string;\n\n defaultLogoUrl: string;\n feedImageMessage: string;\n\n imageMessage: string;\n updateInProgress: string;\n networkReflectedImage: string;\n imageReflectedMessage: string;\n\n\n private unsubscription$: Subject = new Subject();\n networks: NewNetworkEpg[] = [];\n selectedNetwork: NewNetworkEpg | null = null;\n loadingSelectedNetwork = false;\n\n networkUrl: string;\n logoUrl: string;\n reflectedLogoUrl: string;\n networkForm: FormGroup;\n isEditing: boolean;\n\n networkImage: string = \"\";\n\n networkEpgLogoUpload: NetworkEpgFilesUpload;\n networkEpgReflectedLogoUpload: NetworkEpgFilesUpload;\n\n imageExtensions: string[] = [];\n maxWidthLogo: number = 240;\n maxHeightLogo: number = 120;\n maxWidthLogoRef: number = 97;\n maxHeightLogoRef: number = 96;\n networkUpdated: {\n id: number; active: boolean; code: string; factSheet: string; informationEn: string; informationEs: string; informationPt: string; logo: string; nameEn: string; nameEs: string; namePt: string; urlFacebookEn: string; urlFacebookEs: string; urlFacebookPt: string; urlTwitterEn: string; urlTwitterEs: string; urlTwitterPt: string; urlsEn: string; urlsEs: string; urlsPt: string; feedImage: string; feedText: string; feedHorarios: string; pressKit: string; //son varias fotos,\n visible: boolean; activepcm: boolean;\n };\n publicationFilesInProcessMessage: string;\n savingInProgress: boolean;\n allowedExtension: string = \".png\";\n\n errorMessage: string;\n\n listNetworks: NewNetworkEpg[] = [];\n successfulFilesPublicationMessage: string;\n errorDBMessage: string;\n\n ////// contacts\n\n currentNetworkContact: NetworkContact;\n networkContactForm: FormGroup;\n isAddingContact = false;\n contactTypes = ['PRESS', 'AFFILIATE', 'SALES', 'MARKETING', 'COORDINATE'];\n\n\n\n\n\n constructor(\n private networkEpgService: NetworkEpgService,\n private epgDataService: EpgDataService,\n private fb: FormBuilder,\n private snackBar: MatSnackBar,\n private translateService: TranslateService,\n public dialog: MatDialog\n ) {\n\n this.defaultLogoUrl = environment.bucketUrlImages + \"WBD_logo_news.png\";\n this.logoUrl = environment.bucketUrlImagesNetworksLogo;\n this.reflectedLogoUrl = environment.bucketUrlImagesNetworks;\n\n\n this.unsubscription$ = new Subject();\n this.networkEpgLogoUpload = new NetworkEpgFilesUpload();\n this.networkEpgReflectedLogoUpload = new NetworkEpgFilesUpload();\n\n }\n\n ngOnInit(): void {\n\n this.translateService.stream([\n 'epg.networks_upload.messages.errorUpload',\n 'epg.networks_upload.messages.errorUpload',\n 'epg.networks_upload.messages.successUpload'\n ])\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.mapperToMessages(translations));\n\n this.loadNetworks();\n\n\n // Escuchar cambios de selección desde el componente principal\n this.epgDataService.codeNetworkSubject$.pipe(\n takeUntil(this.unsubscription$)\n ).subscribe((result) => {\n\n let networkCode = result.codeNetwork\n this.updateSelectedNetwork(networkCode);\n });\n\n this.networkForm = this.fb.group({\n name_en: ['', Validators.required],\n name_es: ['', Validators.required],\n name_pt: ['', Validators.required],\n code: ['', Validators.required],\n information_en: ['', Validators.required],\n information_es: ['', Validators.required],\n information_pt: ['', Validators.required],\n url_en: ['', [Validators.required, Validators.pattern('https?://.+')]],\n url_es: ['', [Validators.required, Validators.pattern('https?://.+')]],\n url_pt: ['', [Validators.required, Validators.pattern('https?://.+')]],\n url_twitter_en: [''],\n url_twitter_es: [''],\n url_twitter_pt: [''],\n url_facebook_en: [''],\n url_facebook_es: [''],\n url_facebook_pt: [''],\n feeds: [''],\n horarios: [''],\n visible: [false],\n active: [false]\n });\n\n this.networkContactForm = this.fb.group({\n typeContacts: this.fb.array([])\n });\n\n\n\n }\n\n loadNetworks(): void {\n this.isEditing = false;\n this.loadingSelectedNetwork = true;\n\n\n this.networkEpgService.getAllNetwork().pipe(\n takeUntil(this.unsubscription$)\n ).subscribe({\n next: (networks: NewNetworkEpg[]) => {\n this.networks = networks;\n this.checkAndLoadSelectedNetwork();\n },\n error: (err) => {\n console.error('Error al cargar las networks', err);\n },\n complete: () => {\n this.loadingSelectedNetwork = false;\n }\n });\n }\n\n checkAndLoadSelectedNetwork(): void {\n if (this.selectedNetworkCode) { \n this.updateSelectedNetwork(this.selectedNetworkCode); \n this.selectedNetworkCode = null; \n }\n }\n\n\n loadSelectedNetworkData(): void {\n if (this.selectedNetwork) {\n this.networkForm.patchValue({\n name_en: this.selectedNetwork.nameEn || '',\n name_es: this.selectedNetwork.nameEs || '',\n name_pt: this.selectedNetwork.namePt || '',\n code: this.selectedNetwork.code || '',\n information_en: this.selectedNetwork.informationEn || '',\n information_es: this.selectedNetwork.informationEs || '',\n information_pt: this.selectedNetwork.informationPt || '',\n url_en: this.selectedNetwork.urlsEn || '',\n url_es: this.selectedNetwork.urlsEs || '',\n url_pt: this.selectedNetwork.urlsPt || '',\n url_twitter_en: this.selectedNetwork.urlTwitterEn || '',\n url_twitter_es: this.selectedNetwork.urlTwitterEs || '',\n url_twitter_pt: this.selectedNetwork.urlTwitterPt || '',\n url_facebook_en: this.selectedNetwork.urlFacebookEn || '',\n url_facebook_es: this.selectedNetwork.urlFacebookEs || '',\n url_facebook_pt: this.selectedNetwork.urlFacebookPt || '',\n feeds: this.selectedNetwork.feedText || '',\n horarios: this.selectedNetwork.feedHorarios || '',\n visible: this.selectedNetwork.visible || false,\n active: this.selectedNetwork.active || false\n });\n\n this.isEditing = false;\n\n this.networkImage = this.logoUrl + this.selectedNetwork.logo\n this.networkReflectedImage = this.reflectedLogoUrl + this.selectedNetwork.logo\n\n this.networkForm.disable();\n }\n }\n\n // Método para actualizar la network seleccionada\n updateSelectedNetwork(networkCode: string): void {\n this.selectedNetwork = this.networks.find(network => network.code === networkCode) || null;\n this.loadSelectedNetworkData();\n // this.loadingSelectedNetwork = false;\n\n }\n\n enableEditing(): void {\n this.networkForm.enable();\n this.isEditing = true;\n\n }\n\n save(): void {\n if (this.networkForm && this.networkForm.valid) {\n this.savingInProgress = true;\n\n this.uploadToS3(this.selectedNetwork.id);\n }\n\n\n this.isEditing = false;\n this.networkForm.disable();\n }\n\n\n uploadToS3(id) {\n\n\n this.networkEpgLogoUpload.fileName = (this.networkForm.value.code + this.allowedExtension).toLowerCase();\n this.networkEpgReflectedLogoUpload.fileName = (this.networkForm.value.code + this.allowedExtension).toLowerCase();\n\n let epgUpload = {\n logo: this.networkEpgLogoUpload,\n reflectedLogo: this.networkEpgReflectedLogoUpload\n }\n\n this.networkEpgService.uploadFilesToS3(epgUpload).subscribe({\n next: (res) => {\n this.registerInDB(id);\n },\n error: (e) => {\n this.showSnackbar(this.errorMessage, \"Ok\");\n this.savingInProgress = false;\n }\n });\n }\n\n // Para registrar los datos en la base de datos. DOMAIN\n registerInDB(id) {\n const formValues = this.networkForm.value;\n const selectedNetwork = this.listNetworks.find(network => network.code === formValues.network.code);\n this.networkUpdated = {\n id: id,\n active: formValues.active,\n code: formValues.code,\n factSheet: null,\n informationEn: formValues.information_en,\n informationEs: formValues.information_es,\n informationPt: formValues.information_pt,\n logo: this.networkEpgLogoUpload.fileName,\n nameEn: formValues.name_en,\n nameEs: formValues.name_es,\n namePt: formValues.name_pt,\n urlFacebookEn: formValues.url_facebook_en,\n urlFacebookEs: formValues.url_facebook_es,\n urlFacebookPt: formValues.urlFacebookEs,\n urlTwitterEn: formValues.url_twitter_en,\n urlTwitterEs: formValues.url_twitter_es,\n urlTwitterPt: formValues.url_twitter_pt,\n urlsEn: formValues.url_en,\n urlsEs: formValues.url_es,\n urlsPt: formValues.url_pt,\n feedImage: null,\n feedText: formValues.feeds,\n feedHorarios: formValues.feedHorarios,\n pressKit: null, //son varias fotos,\n visible: formValues.visible,\n activepcm: false\n };\n\n // Realiza la subida de datos a la base de datos\n this.networkEpgService.saveNetworkEpg(this.networkUpdated).subscribe({ // IMPORTANTE rxjs switch map o algo similar.\n next: (res) => {\n this.showSnackbar(this.successfulFilesPublicationMessage, \"Ok\");\n this.savingInProgress = false;\n\n this.isEditing = false;\n this.networkForm.disable();\n this.networkForm.patchValue(res);\n\n },\n error: (e) => {\n this.showErrorSnackbar(this.errorDBMessage, \"Ok\");\n this.savingInProgress = false;\n }\n });\n }\n\n\n\n // Para capturar la imagen y validar la extension.\n onImageSelected(event: any) {\n const selectedFile = event.target.files[0];\n\n if (!selectedFile) return;\n const fileName = selectedFile.name;\n const fileExtension = fileName.split('.').pop().toLowerCase();\n const reader = new FileReader();\n\n this.networkEpgLogoUpload.fileName = selectedFile;\n\n this.networkEpgLogoUpload.networkFile = selectedFile;\n\n if (!this.imageExtensions.includes(fileExtension)) {\n this.imageMessage = `El archivo ${fileName} no tiene una extensión válida.`;\n }\n else if (selectedFile.size === 0) {\n this.imageMessage = `El archivo ${fileName} se encuentra vacío.`;\n }\n\n\n reader.readAsDataURL(selectedFile);\n reader.onload = (e: any) => {\n\n const img = new Image();\n img.src = reader.result as string;\n img.onload = () => {\n const height = img.naturalHeight;\n const width = img.naturalWidth;\n if (height != 120 && width != 240) {\n this.imageMessage = `El archivo ${fileName} no tiene el tamaño adecuado \\ (${this.maxWidthLogo}px x ${this.maxHeightLogo}px).`;\n } else {\n this.imageMessage = fileName;\n this.networkImage = e.target.result;\n }\n };\n };\n }\n\n onImageReflectedSelected(event: any) {\n\n const selectedFile = event.target.files[0];\n\n if (!selectedFile) return;\n const fileName = selectedFile.name;\n const fileExtension = fileName.split('.').pop().toLowerCase();\n const reader = new FileReader();\n\n\n this.networkEpgReflectedLogoUpload.fileName = selectedFile;\n\n const networkCode = this.networkForm.value.code\n\n //le da al logo el nombre del codigo de la network\n this.networkEpgReflectedLogoUpload.fileName = (networkCode + \".\" + fileExtension).toLowerCase();\n this.networkEpgReflectedLogoUpload.networkFile = selectedFile;\n\n if (!this.imageExtensions.includes(fileExtension)) {\n this.imageReflectedMessage = `El archivo ${fileName} no tiene una extensión válida.`;\n }\n else if (selectedFile.size === 0) {\n this.imageReflectedMessage = `El archivo ${fileName} se encuentra vacío.`;\n }\n\n reader.readAsDataURL(selectedFile);\n reader.onload = (e: any) => {\n\n const img = new Image();\n img.src = reader.result as string;\n img.onload = () => {\n const height = img.naturalHeight;\n const width = img.naturalWidth;\n if (height != 96 && width != 97) {\n this.imageReflectedMessage = `El archivo ${fileName} no tiene el tamaño adecuado \\ (${this.maxWidthLogoRef}px x ${this.maxHeightLogoRef}px).`;\n } else {\n this.imageReflectedMessage = fileName;\n this.networkReflectedImage = e.target.result;\n }\n };\n };\n }\n\n\n\n toggleEdit(): void {\n this.isEditing = !this.isEditing;\n if (this.isEditing) {\n this.networkForm.enable();\n } else {\n this.networkForm.disable(); // Deshabilitar el formulario si se cancela la edición\n }\n }\n\n useDefaultImage(reflected: number): void {\n if (reflected) {\n this.networkReflectedImage = this.defaultLogoUrl;\n }\n this.networkImage = this.defaultLogoUrl;\n\n }\n\n deleteNetwork(){\n const dialogRef = this.dialog.open(DeleteNetworkDialogComponent, {\n width: '400px',\n data: { networkName: this.selectedNetwork.nameEn },\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result && result.confirmed) {\n console.log('la networks será eliminada el:', result.date);\n // llamar al servicio para eliminar la network pasando la fecha de baja\n } else {\n console.log('Eliminación cancelada');\n }\n });\n\n\n }\n\n\n // Snackbars\n showSnackbar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.duration = 3000;\n config.verticalPosition = \"top\";\n config.panelClass = ['SuccessfulSnackbar'];\n this.snackBar.open(message, action, config);\n }\n\n showErrorSnackbar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['error-snackbar'];\n this.snackBar.open(message, action, config);\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n getButtonLabel(): string {\n return this.isEditing ? 'epg.configurationNetworks.cancel' : 'epg.configurationNetworks.edit';\n}\n\n\n\n// Cancela la edición\ncancelEditing() {\n this.isEditing = false;\n}\n\nprivate mapperToMessages(translations: any): void {\n this.errorMessage = translations['epg.networks_upload.messages.errorUpload'];\n this.errorDBMessage = translations['epg.networks_upload.messages.errorUpload'];\n this.successfulFilesPublicationMessage = translations['epg.networks_upload.messages.successUpload'];\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2VwZy9hZG1pbi1jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9uLXJlZ2lzdGVyL2NhdGVnb3J5L2NhdGVnb3J5LWRpYWxvZy9jYXRlZ29yeS1kaWFsb2cuY29tcG9uZW50LmNzcyJ9 */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CategorySelect } from 'src/app/shared/model/categorySelect';\nimport { UtilService } from 'src/app/shared/service/util.service';\n\n@Component({\n selector: 'app-category-dialog',\n templateUrl: './category-dialog.component.html',\n styleUrls: ['./category-dialog.component.css']\n})\nexport class CategoryDialogComponent implements OnInit {\n categoryForm: FormGroup;\n isEditing: boolean;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { category: CategorySelect, isEditing: boolean },\n private fb: FormBuilder,\n private translateService: TranslateService,\n private utilService: UtilService\n ) {\n this.categoryForm = this.fb.group({\n name: ['', Validators.required],\n });\n this.isEditing = data.isEditing;\n }\n\n ngOnInit(): void {\n if (this.isEditing && this.data.category) {\n this.categoryForm.setValue({\n name: this.data.category.type,\n });\n }\n }\n\n async onSave() {\n if (this.categoryForm.valid) {\n let textConfirm = this.isEditing\n ? await this.translateService.get('epg.users.dialog.messageEditConfirm').toPromise()\n : await this.translateService.get('epg.users.dialog.messageAddConfirm').toPromise();\n\n let buttonConfirm = this.isEditing\n ? await this.translateService.get('epg.users.dialog.buttons.edit').toPromise()\n : await this.translateService.get('epg.users.dialog.buttons.add').toPromise();\n\n const dialogRef = this.utilService.openConfirmDialog({\n title: buttonConfirm,\n text: textConfirm,\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n\n var newCategory: CategorySelect = {\n type: this.categoryForm.value.name\n }\n this.dialogRef.close(newCategory);\n }\n });\n }\n }\n\n onCancel(): void {\n this.dialogRef.close();\n }\n\n}\n","export default \".column-code {\\n width: 15%;\\n }\\n\\n .column-name {\\n width: 65%;\\n }\\n\\n .column-actions {\\n width: 20%;\\n }\\n\\n .mat-elevation-z8 {\\n width: 100%;\\n }\\n\\n .header {\\n display: flex;\\n align-items: center;\\n justify-content:flex-end;\\n margin-bottom: 16px;\\n}\\n\\n .title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n .mat-mdc-form-field+.mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n\\n .form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n\\n}\\n\\n .container {\\n padding: 0 5% ;\\n}\\n\\n .mat-cell, .mat-header-cell {\\n text-align: center; /* Centra el texto horizontalmente */\\n}\\n\\n .mat-cell {\\n vertical-align: middle; /* Centra el texto verticalmente */\\n}\\n\\n \\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tcmVnaXN0ZXIvY2F0ZWdvcnkvY2F0ZWdvcnkuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFVBQVU7RUFDWjs7RUFFQTtJQUNFLFVBQVU7RUFDWjs7RUFFQTtJQUNFLFVBQVU7RUFDWjs7RUFFQTtJQUNFLFdBQVc7RUFDYjs7RUFHRjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjs7RUFFQTtFQUNFLGNBQWM7RUFDZCw4QkFBOEI7RUFDOUIsZUFBZTtFQUNmLFdBQVc7RUFDWCxXQUFXO0FBQ2I7O0VBR0E7RUFDRSxnQkFBZ0I7QUFDbEI7O0VBRUE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLGtCQUFrQjs7QUFFcEI7O0VBR0E7RUFDRSxjQUFjO0FBQ2hCOztFQUVBO0VBQ0Usa0JBQWtCLEVBQUUsb0NBQW9DO0FBQzFEOztFQUVBO0VBQ0Usc0JBQXNCLEVBQUUsa0NBQWtDO0FBQzVEIiwiZmlsZSI6InNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tcmVnaXN0ZXIvY2F0ZWdvcnkvY2F0ZWdvcnkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb2x1bW4tY29kZSB7XG4gICAgd2lkdGg6IDE1JTtcbiAgfVxuXG4gIC5jb2x1bW4tbmFtZSB7XG4gICAgd2lkdGg6IDY1JTtcbiAgfVxuXG4gIC5jb2x1bW4tYWN0aW9ucyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgfVxuXG4gIC5tYXQtZWxldmF0aW9uLXo4IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG5cbi5oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG59XG5cbi50aXRsZS1mb3JtIHtcbiAgcGFkZGluZzogMCA4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB0O1xuICBjb2xvcjogIzc3NztcbiAgd2lkdGg6IGF1dG87XG59XG5cblxuLm1hdC1tZGMtZm9ybS1maWVsZCsubWF0LW1kYy1mb3JtLWZpZWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbn1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuXG59XG5cblxuLmNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgNSUgO1xufVxuXG4ubWF0LWNlbGwsIC5tYXQtaGVhZGVyLWNlbGwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIENlbnRyYSBlbCB0ZXh0byBob3Jpem9udGFsbWVudGUgKi9cbn1cblxuLm1hdC1jZWxsIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogQ2VudHJhIGVsIHRleHRvIHZlcnRpY2FsbWVudGUgKi9cbn1cblxuICAiXX0= */\";","import { Component, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CategorySelect } from 'src/app/shared/model/categorySelect';\nimport { CategoryService } from 'src/app/shared/service/category.service';\nimport { UtilService } from 'src/app/shared/service/util.service';\nimport { CategoryDialogComponent } from './category-dialog/category-dialog.component';\n\n@Component({\n selector: 'app-category-options',\n templateUrl: './category.component.html',\n styleUrls: ['./category.component.css']\n})\nexport class CategoryComponent implements OnInit {\n\n\n categories: CategorySelect[] = [];\n displayedColumns: string[] = ['code', 'name', 'actions'];\n dataSource = new MatTableDataSource();\n categoryForm: FormGroup;\n isEditing: boolean = false;\n selectedCategoryId?: number;\n\n constructor(private categoryService: CategoryService,\n private dialog: MatDialog,\n private translateService: TranslateService,\n private utilService: UtilService\n) {\n\n }\n\n ngOnInit(): void {\n this.loadCategories();\n }\n\n\n loadCategories() {\n this.categoryService.getCategories().subscribe(\n (data) => {\n this.categories = data;\n this.dataSource.data = this.categories; // Asignar datos a la tabla\n },\n (error) => {\n console.error('Error al cargar los paises:', error);\n }\n );\n }\n\n openAddDialog() {\n const dialogRef = this.dialog.open(CategoryDialogComponent, {\n width: '400px',\n data: { category: null, isEditing: false }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.categoryService.addCategory(result).subscribe(() => this.loadCategories());\n }\n });\n }\n\n openEditDialog(category: CategorySelect) {\n const dialogRef = this.dialog.open(CategoryDialogComponent, {\n width: '400px',\n data: { category, isEditing: true }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.categoryService.updateCategory(category.id, result).subscribe(() => this.loadCategories());\n }\n });\n }\n\n async deleteCategory(id: number) {\n const textConfirm = await this.translateService.get('epg.users.dialog.messageDeleteConfirm').toPromise();\n const buttonConfirm = await this.translateService.get('epg.users.dialog.buttons.delete').toPromise();\n\n // Abrir el diálogo de confirmación\n const dialogRef = this.utilService.openConfirmDialog({\n title: buttonConfirm,\n text: textConfirm,\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n // Si el usuario confirma, proceder a eliminar el idioma\n this.categoryService.deleteCategory(id).subscribe(() => {\n this.loadCategories();\n });\n }\n });\n }\n resetForm() {\n this.categoryForm.reset();\n this.isEditing = false;\n this.selectedCategoryId = undefined;\n }\n}\n","export default \".mat-mdc-form-field + .mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.network-button {\\n color: white;\\n background-color: #355CFE;\\n height: 29px;\\n line-height: inherit;\\n}\\n\\n.mat-tab-group {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.mat-accordion .mat-expansion-panel {\\n min-width: 100vh;\\n}\\n\\n:host .mat-tab-label-content {\\n font-size: 20px;\\n}\\n\\n.tabpanel {\\n height: auto;\\n max-height: 20vh;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.imagen-container {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.imagen-principal {\\n width: 100%;\\n}\\n\\n.logo-container {\\n width: 240px;\\n height: 120px;\\n}\\n\\n.logo-izquierdo {\\n max-width: 100%;\\n max-height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.reff-buttons {\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n gap: 10px;\\n margin-top: 10px;\\n}\\n\\n.buttons-dyp {\\n display: flex;\\n gap: 10px;\\n justify-content: center;\\n}\\n\\n.description-tabs {\\n height: 100%;\\n float: 1;\\n}\\n\\n.segunda-fila {\\n display: flex;\\n margin-top: 30px;\\n height: 120px;\\n}\\n\\n.tabs-segunda-fila {\\n align-items: center;\\n}\\n\\n.network-button-table {\\n display: flex;\\n flex-flow: column;\\n align-items: center;\\n}\\n\\n.network-button-row {\\n display: flex;\\n flex-wrap: wrap;\\n flex-flow: row;\\n justify-content: center;\\n align-items: center;\\n width: 100%;\\n margin-top: 3px;\\n}\\n\\n.networks-buttons-col {\\n align-items: center;\\n justify-content: center;\\n display: flex;\\n width: 50%;\\n}\\n\\n::ng-deep .snackbar-info {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .snackbar-info .mat-simple-snackbar-action {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .error-snackbar {\\n color: white;\\n background-color: red;\\n}\\n\\n::ng-deep .error-snackbar .mat-simple-snackbar-action {\\n color: white;\\n background-color: red;\\n}\\n\\n.form-wrapper-interior {\\n min-height: 75px;\\n max-height: 75px;\\n margin-top: 10px;\\n}\\n\\n.module-select-container {\\n text-align: center;\\n margin-bottom: 15px;\\n}\\n\\n.select-container {\\n max-height: 420px;\\n width: 300px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n.button-container {\\n text-align: center;\\n}\\n\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n text-align: center;\\n border: 1px solid white;\\n color: #000000;\\n background-color: #CECECE !important;\\n border-top: 0px;\\n}\\n\\n.row-height {\\n height: 35px !important;\\n}\\n\\n.mat-row:hover {\\n background: #b9b8b8 !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]),\\n.mat-row:not([class*=mat-elevation-z]) {\\n height: 30px;\\n background: white;\\n text-align: center;\\n}\\n\\n.mat-cell:not([class*=mat-elevation-z]),\\n.mat-footer-cell:not([class*=mat-elevation-z]),\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n border-bottom-width: 1px;\\n border-bottom-style: solid;\\n font-size: 9pt;\\n font-weight: normal;\\n font-family: Arial, sans-serif;\\n}\\n\\n.mat-cell {\\n padding-right: 0 !important;\\n}\\n\\n.search-container {\\n padding: 8px 16px;\\n}\\n\\n.search-container input {\\n width: 100%;\\n margin-bottom: 8px;\\n margin-top: 8px;\\n}\\n\\n.aside {\\n min-width: -moz-min-content;\\n min-width: min-content;\\n}\\n\\n.bg-grey {\\n background-color: #CECECE;\\n}\\n\\n.bg-active {\\n background-color: #355CFE;\\n color: white;\\n}\\n\\n.bg-noactive {\\n background-color: transparent;\\n}\\n\\n.list-group-item {\\n height: 2rem;\\n padding: 0.25rem 1.25rem;\\n border: 1px solid #eee;\\n}\\n\\n.bg-hover:hover {\\n background-color: #355CFE;\\n color: white;\\n cursor: pointer;\\n}\\n\\n.navbutton {\\n background-color: #3f51b5 !important;\\n margin-bottom: 15px;\\n height: 30px;\\n padding-left: 4px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tcmVnaXN0ZXIvY29uZmlndXJhdGlvbi1yZWdpc3Rlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTtFQUNJLGdCQUFBO0FBUEo7O0FBV0E7RUFDSSxjQUFBO0VBQ0EsOEJBQUE7RUFDQSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7QUFSSjs7QUFZQTtFQUNJLFlBQUE7RUFDQSx5QkFyQlc7RUFzQlgsWUFBQTtFQUNBLG9CQUFBO0FBVEo7O0FBWUE7RUFDSSxhQUFBO0VBQ0EsdUJBQUE7QUFUSjs7QUFZQTtFQUNJLGdCQUFBO0FBVEo7O0FBWUE7RUFDSSxlQUFBO0FBVEo7O0FBWUE7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7QUFUSjs7QUFZQSx1REFBQTs7QUFDQTtFQUNJLHlCQTlDVztBQXFDZjs7QUFZQTtFQUNJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0FBVEo7O0FBWUE7RUFDSSxXQUFBO0FBVEo7O0FBY0E7RUFDSSxXQUFBO0VBQ0EsWUFBQTtBQVhKOztBQWNBO0VBQ0ksV0FBQTtBQVhKOztBQWVBO0VBQ0ksWUFBQTtFQUNBLGFBQUE7QUFaSjs7QUFlQTtFQUNJLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7QUFaSjs7QUFnQkE7RUFDSSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSwyQkFBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtBQWJKOztBQWdCQTtFQUNJLGFBQUE7RUFDQSxTQUFBO0VBQ0EsdUJBQUE7QUFiSjs7QUFpQkE7RUFDSSxZQUFBO0VBQ0EsUUFBQTtBQWRKOztBQWlCQTtFQUNJLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7QUFkSjs7QUFpQkE7RUFHSSxtQkFBQTtBQWhCSjs7QUFtQkE7RUFDSSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtBQWhCSjs7QUFtQkE7RUFDSSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7QUFoQko7O0FBbUJBO0VBQ0ksbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGFBQUE7RUFDQSxVQUFBO0FBaEJKOztBQW9CQTtFQUNJLFlBQUE7RUFDQSx5QkFBQTtBQWpCSjs7QUFtQkE7RUFDSSxZQUFBO0VBQ0EseUJBQUE7QUFoQko7O0FBa0JBO0VBQ0ksWUFBQTtFQUNBLHFCQUFBO0FBZko7O0FBaUJBO0VBQ0ksWUFBQTtFQUNBLHFCQUFBO0FBZEo7O0FBa0JBO0VBQ0ksZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0FBZko7O0FBa0JBO0VBQ0ksa0JBQUE7RUFDQSxtQkFBQTtBQWZKOztBQWtCQTtFQUNJLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7QUFmSjs7QUFxQ0E7RUFDSSxXQUFBO0FBbENKOztBQXFDQTtFQUNJLG1CQUFBO0FBbENKOztBQThDQTtFQUNJLGtCQUFBO0FBM0NKOztBQXVEQTtFQUNJLGtCQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0VBQ0Esb0NBQUE7RUFDQSxlQUFBO0FBcERKOztBQXVEQTtFQUNJLHVCQUFBO0FBcERKOztBQXVEQTtFQUNJLDhCQUFBO0FBcERKOztBQXVEQTs7RUFFSSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBQXBESjs7QUF1REE7OztFQUdJLHdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSw4QkFBQTtBQXBESjs7QUF1REE7RUFDSSwyQkFBQTtBQXBESjs7QUFrRUE7RUFDSSxpQkFBQTtBQS9ESjs7QUFrRUE7RUFDSSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0FBL0RKOztBQWtFQTtFQUNJLDJCQUFBO0VBQUEsc0JBQUE7QUEvREo7O0FBa0VBO0VBQ0kseUJBQUE7QUEvREo7O0FBa0VBO0VBQ0kseUJBdFNXO0VBdVNYLFlBQUE7QUEvREo7O0FBa0VBO0VBQ0ksNkJBQUE7QUEvREo7O0FBa0VBO0VBQ0ksWUFBQTtFQUNBLHdCQUFBO0VBQ0Esc0JBQUE7QUEvREo7O0FBa0VBO0VBQ0kseUJBclRXO0VBc1RYLFlBQUE7RUFDQSxlQUFBO0FBL0RKOztBQW1FQTtFQUNJLG9DQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7QUFoRUoiLCJmaWxlIjoic3JjL2FwcC9lcGcvYWRtaW4tY29uZmlndXJhdGlvbnMvY29uZmlndXJhdGlvbi1yZWdpc3Rlci9jb25maWd1cmF0aW9uLXJlZ2lzdGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLXByaW1hcnk6ICM1QTYzRDQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAjM0Y0OENDO1xuJGNvbG9yLXRyZXM6ICNEN0Q3RDc7XG4kY29sb3ItY3VhdHJvOiAjMzU1Q0ZFO1xuJGNvbG9yLWNpbmNvOiAjQ0VDRUNFO1xuJGNvbG9yLXNlaXM6ICNiOWI4Yjg7XG5cblxuLm1hdC1tZGMtZm9ybS1maWVsZCsubWF0LW1kYy1mb3JtLWZpZWxkIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4vLyBwYXJhIGVsIGNvbnRvcm5vIHkgZWwgdGl0dWxvXG4udGl0bGUtZm9ybSB7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRwdDtcbiAgICBjb2xvcjogIzc3NztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuXG4ubmV0d29yay1idXR0b24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItY3VhdHJvIDtcbiAgICBoZWlnaHQ6IDI5cHg7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5tYXQtdGFiLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubWF0LWFjY29yZGlvbiAubWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgbWluLXdpZHRoOiAxMDB2aDtcbn1cblxuOmhvc3QgLm1hdC10YWItbGFiZWwtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4udGFicGFuZWwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAyMHZoO1xufVxuXG4vKiogU29icmVlc2NyaWJlIGVsIGNvbG9yIHByZWRldGVybWluYWRvIGRlbCBjaGVja2JveCAqL1xuOjpuZy1kZWVwIC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybztcbn1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZm9ybS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG5cbi5pbWFnZW4tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pbWFnZW4tcHJpbmNpcGFsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy8gaW1hZ2VuXG4ubG9nby1jb250YWluZXIge1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4ubG9nby1penF1aWVyZG8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vLyBib3RvbmVzIHF1ZSByZWZlcmVuY2lhblxuLnJlZmYtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmJ1dHRvbnMtZHlwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuXG4uZGVzY3JpcHRpb24tdGFicyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsb2F0OiAxO1xufVxuXG4uc2VndW5kYS1maWxhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgaGVpZ2h0OiAxMjBweDtcbn1cblxuLnRhYnMtc2VndW5kYS1maWxhIHtcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uZXR3b3JrLWJ1dHRvbi10YWJsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubmV0d29yay1idXR0b24tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDNweDtcbn1cblxuLm5ldHdvcmtzLWJ1dHRvbnMtY29sIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDUwJTtcbn1cblxuLy8gc25hY2tiYXJcbjo6bmctZGVlcCAuc25hY2tiYXItaW5mb3tcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkMjtcbn1cbjo6bmctZGVlcCAuc25hY2tiYXItaW5mbyAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQyO1xufVxuOjpuZy1kZWVwIC5lcnJvci1zbmFja2JhciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbn1cbjo6bmctZGVlcCAuZXJyb3Itc25hY2tiYXIgLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xufVxuXG4vL2ZpbHRybyBkZSBmZWNoYVxuLmZvcm0td3JhcHBlci1pbnRlcmlvciB7XG4gICAgbWluLWhlaWdodDogNzVweDtcbiAgICBtYXgtaGVpZ2h0OiA3NXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5tb2R1bGUtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5zZWxlY3QtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiA0MjBweDtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMSU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xufVxuXG4vLyBsb2NhbGJyZWFrcyB0b2RvIGhhc3RhIGFiYWpvXG4vLyAubG9jYWxicmVha3MtbGlzdC1jb250YWluZXJ7XG4vLyAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbi8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8gICAgIHBhZGRpbmc6IDEwcHg7XG4vLyAgICAgbWFyZ2luOiAxMHB4O1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4vLyB9XG4vLyAubG9jYWxicmVha3MtbGlzdC1mZWVke1xuLy8gICAgIGZvbnQtc2l6ZTogMThweDtcbi8vICAgICBjb2xvcjogZ3JheTtcbi8vICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4vLyB9XG4vLyAubG9jYWxicmVha3MtbGlzdC1maWxle1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAgcGFkZGluZzogNXB4IDA7XG4vLyB9XG4ubWF0LXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZpZWxkLXRleHQge1xuICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG59XG5cbi8vIDo6bmctZGVlcCAubG9jYWxicmFrZXMtdGFibGUgdGQubWF0LWNlbGw6Zmlyc3Qtb2YtdHlwZXtcbi8vICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbi8vIH1cbi8vIDo6bmctZGVlcCAubG9jYWxicmFrZXMtdGFibGUgdGQubWF0LWNlbGw6bGFzdC1vZi10eXBle1xuLy8gICAgIHBhZGRpbmctcmlnaHQ6MHB4O1xuLy8gfVxuXG5cblxuLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxufVxuLy8gZGFybGUgY29sb3IgYWwgYm90b24gdmVyLCBzaW4gY2xhc3MgbWF0LWVsZXZhdGlvbi16IHkgbm8gZGVzYWJpbGl0YWRvc1xuLy8gLm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pOm5vdChbZGlzYWJsZWRdKSB7XG4vLyAgICAgY29sb3I6IHdoaXRlO1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jdWF0cm8gIWltcG9ydGFudDtcbi8vICAgICBoZWlnaHQ6IDI0cHg7XG4vLyAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4vLyB9XG5cbi8vZGFybGUgY29sb3IgYSBsYSB0YWJsYVxuLm1hdC1oZWFkZXItY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jaW5jbyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IDBweDtcbn1cblxuLnJvdy1oZWlnaHQge1xuICAgIGhlaWdodDogMzVweCAhaW1wb3J0YW50O1xufVxuXG4ubWF0LXJvdzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXNlaXMgIWltcG9ydGFudDtcbn1cblxuLm1hdC1oZWFkZXItcm93Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLFxuLm1hdC1yb3c6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWF0LWNlbGw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LWZvb3Rlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLFxuLm1hdC1oZWFkZXItY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGZvbnQtc2l6ZTogOXB0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ubWF0LWNlbGx7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIGFwcC1uZXdzbGV0dGVycyAubWF0LXRhYi1ib2R5LXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkIHtcbi8vICAgICBtaW4td2lkdGg6IDMwZW0gICFpbXBvcnRhbnQ7XG4vLyB9XG5cblxuXG5cblxuXG5cbi5zZWFyY2gtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbn1cblxuLnNlYXJjaC1jb250YWluZXIgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5hc2lkZXtcbiAgICBtaW4td2lkdGg6IG1pbi1jb250ZW50O1xufVxuXG4uYmctZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NFQ0VDRTtcbn1cblxuLmJnLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybztcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5iZy1ub2FjdGl2ZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmc6IC4yNXJlbSAxLjI1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG59XG5cbi5iZy1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi5uYXZidXR0b24geyBcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2Y1MWI1IWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbn1cblxuIl19 */\";","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-configuration-register',\n templateUrl: './configuration-register.component.html',\n styleUrls: ['./configuration-register.component.scss']\n})\nexport class ConfigurationRegisterComponent {\n activeSection: number = 1; // Por defecto, activamos la primera sección\n\n // Método para cambiar la sección activa\n changeSection(section: number): void {\n this.activeSection = section;\n }\n\n // Método para verificar si una sección está activa\n isActiveSection(section: number): boolean {\n return this.activeSection === section;\n }\n}\n\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2VwZy9hZG1pbi1jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9uLXJlZ2lzdGVyL2NvdW50cnkvY291bnRyeS1kaWFsb2cvY291bnRyeS1kaWFsb2cuY29tcG9uZW50LmNzcyJ9 */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CountrySelect } from 'src/app/shared/model/countrySelect';\nimport { UtilService } from 'src/app/shared/service/util.service';\n\n@Component({\n selector: 'app-country-dialog',\n templateUrl: './country-dialog.component.html',\n styleUrls: ['./country-dialog.component.css']\n})\nexport class CountryDialogComponent implements OnInit {\n countryForm: FormGroup;\n isEditing: boolean;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { country: CountrySelect, isEditing: boolean },\n private fb: FormBuilder,\n private translateService: TranslateService,\n private utilService: UtilService\n ) {\n this.countryForm = this.fb.group({\n name: ['', Validators.required],\n });\n this.isEditing = data.isEditing;\n }\n\n ngOnInit(): void {\n if (this.isEditing && this.data.country) {\n this.countryForm.setValue({\n name: this.data.country.country,\n });\n }\n }\n\n async onSave() {\n if (this.countryForm.valid) {\n let textConfirm = this.isEditing \n ? await this.translateService.get('epg.users.dialog.messageEditConfirm').toPromise()\n : await this.translateService.get('epg.users.dialog.messageAddConfirm').toPromise();\n \n let buttonConfirm = this.isEditing\n ? await this.translateService.get('epg.users.dialog.buttons.edit').toPromise()\n : await this.translateService.get('epg.users.dialog.buttons.add').toPromise();\n\n const dialogRef = this.utilService.openConfirmDialog({\n title: buttonConfirm,\n text: textConfirm,\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n\n var newCountry: CountrySelect = {\n country: this.countryForm.value.name\n }\n this.dialogRef.close(newCountry);\n }\n });\n }\n }\n \n onCancel(): void {\n this.dialogRef.close();\n }\n\n}\n","export default \".column-code {\\n width: 15%; \\n }\\n \\n .column-name {\\n width: 65%;\\n }\\n \\n .column-actions {\\n width: 20%;\\n }\\n \\n .mat-elevation-z8 {\\n width: 100%;\\n }\\n \\n .header {\\n display: flex;\\n align-items: center; \\n justify-content:flex-end;\\n margin-bottom: 16px;\\n}\\n \\n .title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n \\n .mat-mdc-form-field+.mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n \\n .form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n \\n}\\n \\n .container { \\n padding: 0 5% ;\\n}\\n \\n .mat-cell, .mat-header-cell {\\n text-align: center; /* Centra el texto horizontalmente */\\n}\\n \\n .mat-cell {\\n vertical-align: middle; /* Centra el texto verticalmente */\\n}\\n\\n \\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tcmVnaXN0ZXIvY291bnRyeS9jb3VudHJ5LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxVQUFVO0VBQ1o7O0VBRUE7SUFDRSxVQUFVO0VBQ1o7O0VBRUE7SUFDRSxVQUFVO0VBQ1o7O0VBRUE7SUFDRSxXQUFXO0VBQ2I7O0VBR0Y7RUFDRSxhQUFhO0VBQ2IsbUJBQW1CO0VBQ25CLHdCQUF3QjtFQUN4QixtQkFBbUI7QUFDckI7O0VBRUE7RUFDRSxjQUFjO0VBQ2QsOEJBQThCO0VBQzlCLGVBQWU7RUFDZixXQUFXO0VBQ1gsV0FBVztBQUNiOztFQUdBO0VBQ0UsZ0JBQWdCO0FBQ2xCOztFQUVBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtFQUN0QixrQkFBa0I7O0FBRXBCOztFQUdBO0VBQ0UsY0FBYztBQUNoQjs7RUFFQTtFQUNFLGtCQUFrQixFQUFFLG9DQUFvQztBQUMxRDs7RUFFQTtFQUNFLHNCQUFzQixFQUFFLGtDQUFrQztBQUM1RCIsImZpbGUiOiJzcmMvYXBwL2VwZy9hZG1pbi1jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9uLXJlZ2lzdGVyL2NvdW50cnkvY291bnRyeS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvbHVtbi1jb2RlIHtcbiAgICB3aWR0aDogMTUlOyBcbiAgfVxuICBcbiAgLmNvbHVtbi1uYW1lIHtcbiAgICB3aWR0aDogNjUlO1xuICB9XG4gIFxuICAuY29sdW1uLWFjdGlvbnMge1xuICAgIHdpZHRoOiAyMCU7XG4gIH1cblxuICAubWF0LWVsZXZhdGlvbi16OCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBcbi5oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyBcbiAganVzdGlmeS1jb250ZW50OmZsZXgtZW5kO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4udGl0bGUtZm9ybSB7XG4gIHBhZGRpbmc6IDAgOHB4O1xuICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRwdDtcbiAgY29sb3I6ICM3Nzc7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG5cbi5tYXQtbWRjLWZvcm0tZmllbGQrLm1hdC1tZGMtZm9ybS1maWVsZCB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi5mb3JtLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiBcbn1cblxuXG4uY29udGFpbmVyIHsgXG4gIHBhZGRpbmc6IDAgNSUgO1xufVxuXG4ubWF0LWNlbGwsIC5tYXQtaGVhZGVyLWNlbGwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IC8qIENlbnRyYSBlbCB0ZXh0byBob3Jpem9udGFsbWVudGUgKi9cbn1cblxuLm1hdC1jZWxsIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogQ2VudHJhIGVsIHRleHRvIHZlcnRpY2FsbWVudGUgKi9cbn1cblxuICAiXX0= */\";","import { Component, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CountrySelect } from 'src/app/shared/model/countrySelect';\nimport { CountryService } from 'src/app/shared/service/country.service';\nimport { UtilService } from 'src/app/shared/service/util.service';\nimport { CountryDialogComponent } from './country-dialog/country-dialog.component';\n\n@Component({\n selector: 'app-country-options',\n templateUrl: './country.component.html',\n styleUrls: ['./country.component.css']\n})\nexport class CountryComponent implements OnInit {\n\n\n countries: CountrySelect[] = [];\n displayedColumns: string[] = ['code', 'name', 'actions'];\n dataSource = new MatTableDataSource();\n countryForm: FormGroup;\n isEditing: boolean = false;\n selectedCountryId?: number;\n\n constructor(private countryService: CountryService,\n private dialog: MatDialog,\n private translateService: TranslateService,\n private utilService: UtilService\n) {\n\n }\n\n ngOnInit(): void {\n this.loadCountries();\n }\n\n\n loadCountries() {\n this.countryService.getCountries().subscribe(\n (data) => {\n this.countries = data;\n this.dataSource.data = this.countries; // Asignar datos a la tabla\n },\n (error) => {\n console.error('Error al cargar los paises:', error);\n }\n );\n }\n\n openAddDialog() {\n const dialogRef = this.dialog.open(CountryDialogComponent, {\n width: '400px',\n data: { country: null, isEditing: false }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.countryService.addCountry(result).subscribe(() => this.loadCountries());\n }\n });\n }\n\n openEditDialog(country: CountrySelect) {\n const dialogRef = this.dialog.open(CountryDialogComponent, {\n width: '400px',\n data: { country, isEditing: true }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.countryService.updateCountry(country.id, result).subscribe(() => this.loadCountries());\n }\n });\n }\n\n async deleteCountry(id: number) {\n const textConfirm = await this.translateService.get('epg.users.dialog.messageDeleteConfirm').toPromise();\n const buttonConfirm = await this.translateService.get('epg.users.dialog.buttons.delete').toPromise();\n\n // Abrir el diálogo de confirmación\n const dialogRef = this.utilService.openConfirmDialog({\n title: buttonConfirm,\n text: textConfirm,\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n // Si el usuario confirma, proceder a eliminar el idioma\n this.countryService.deleteCountry(id).subscribe(() => {\n this.loadCountries();\n });\n }\n });\n }\n resetForm() {\n this.countryForm.reset();\n this.isEditing = false;\n this.selectedCountryId = undefined;\n }\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2VwZy9hZG1pbi1jb25maWd1cmF0aW9ucy9jb25maWd1cmF0aW9uLXJlZ2lzdGVyL2xhbmd1YWdlL2xhbmd1YWdlLWRpYWxvZy9sYW5ndWFnZS1kaWFsb2cuY29tcG9uZW50LmNzcyJ9 */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { LanguageSelect } from 'src/app/shared/model/languageSelect';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UtilService } from 'src/app/shared/service/util.service';\n\n\n@Component({\n selector: 'app-language-dialog',\n templateUrl: './language-dialog.component.html',\n styleUrls: ['./language-dialog.component.css']\n})\nexport class LanguageDialogComponent implements OnInit {\n languageForm: FormGroup;\n isEditing: boolean;\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: { language: LanguageSelect, isEditing: boolean },\n private fb: FormBuilder,\n private translateService: TranslateService,\n private utilService: UtilService\n ) {\n this.languageForm = this.fb.group({\n name: ['', Validators.required],\n });\n this.isEditing = data.isEditing;\n }\n\n ngOnInit(): void {\n if (this.isEditing && this.data.language) {\n this.languageForm.setValue({\n name: this.data.language.language,\n });\n }\n }\n\n async onSave() {\n if (this.languageForm.valid) {\n let textConfirm = this.isEditing \n ? await this.translateService.get('epg.users.dialog.messageEditConfirm').toPromise()\n : await this.translateService.get('epg.users.dialog.messageAddConfirm').toPromise();\n \n let buttonConfirm = this.isEditing\n ? await this.translateService.get('epg.users.dialog.buttons.edit').toPromise()\n : await this.translateService.get('epg.users.dialog.buttons.add').toPromise();\n\n const dialogRef = this.utilService.openConfirmDialog({\n title: buttonConfirm,\n text: textConfirm,\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n\n var newLanguage: LanguageSelect = {\n language: this.languageForm.value.name\n }\n this.dialogRef.close(newLanguage);\n }\n });\n }\n }\n\n onCancel(): void {\n this.dialogRef.close();\n }\n}\n","export default \".column-code {\\n width: 15%; \\n }\\n \\n .column-name {\\n width: 65%;\\n }\\n \\n .column-actions {\\n width: 20%;\\n }\\n \\n .mat-elevation-z8 {\\n width: 100%;\\n }\\n \\n .header {\\n display: flex;\\n align-items: center; \\n justify-content:flex-end;\\n margin-bottom: 16px;\\n}\\n \\n .title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n \\n .mat-mdc-form-field+.mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n \\n .form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n \\n}\\n \\n .container { \\n padding: 0 5% ;\\n}\\n \\n .mat-cell, .mat-header-cell {\\n text-align: center; /* Centra el texto horizontalmente */\\n}\\n \\n .mat-cell {\\n vertical-align: middle; /* Centra el texto verticalmente */\\n}\\n\\n \\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tcmVnaXN0ZXIvbGFuZ3VhZ2UvbGFuZ3VhZ2UuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFVBQVU7RUFDWjs7RUFFQTtJQUNFLFVBQVU7RUFDWjs7RUFFQTtJQUNFLFVBQVU7RUFDWjs7RUFFQTtJQUNFLFdBQVc7RUFDYjs7RUFHRjtFQUNFLGFBQWE7RUFDYixtQkFBbUI7RUFDbkIsd0JBQXdCO0VBQ3hCLG1CQUFtQjtBQUNyQjs7RUFFQTtFQUNFLGNBQWM7RUFDZCw4QkFBOEI7RUFDOUIsZUFBZTtFQUNmLFdBQVc7RUFDWCxXQUFXO0FBQ2I7O0VBR0E7RUFDRSxnQkFBZ0I7QUFDbEI7O0VBRUE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0VBQ3RCLGtCQUFrQjs7QUFFcEI7O0VBR0E7RUFDRSxjQUFjO0FBQ2hCOztFQUVBO0VBQ0Usa0JBQWtCLEVBQUUsb0NBQW9DO0FBQzFEOztFQUVBO0VBQ0Usc0JBQXNCLEVBQUUsa0NBQWtDO0FBQzVEIiwiZmlsZSI6InNyYy9hcHAvZXBnL2FkbWluLWNvbmZpZ3VyYXRpb25zL2NvbmZpZ3VyYXRpb24tcmVnaXN0ZXIvbGFuZ3VhZ2UvbGFuZ3VhZ2UuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb2x1bW4tY29kZSB7XG4gICAgd2lkdGg6IDE1JTsgXG4gIH1cbiAgXG4gIC5jb2x1bW4tbmFtZSB7XG4gICAgd2lkdGg6IDY1JTtcbiAgfVxuICBcbiAgLmNvbHVtbi1hY3Rpb25zIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG5cbiAgLm1hdC1lbGV2YXRpb24tejgge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgXG4uaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgXG4gIGp1c3RpZnktY29udGVudDpmbGV4LWVuZDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbn1cblxuLnRpdGxlLWZvcm0ge1xuICBwYWRkaW5nOiAwIDhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHQ7XG4gIGNvbG9yOiAjNzc3O1xuICB3aWR0aDogYXV0bztcbn1cblxuXG4ubWF0LW1kYy1mb3JtLWZpZWxkKy5tYXQtbWRjLWZvcm0tZmllbGQge1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gXG59XG5cblxuLmNvbnRhaW5lciB7IFxuICBwYWRkaW5nOiAwIDUlIDtcbn1cblxuLm1hdC1jZWxsLCAubWF0LWhlYWRlci1jZWxsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyAvKiBDZW50cmEgZWwgdGV4dG8gaG9yaXpvbnRhbG1lbnRlICovXG59XG5cbi5tYXQtY2VsbCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIENlbnRyYSBlbCB0ZXh0byB2ZXJ0aWNhbG1lbnRlICovXG59XG5cbiAgIl19 */\";","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { LanguageSelect } from 'src/app/shared/model/languageSelect';\nimport { LanguageService } from 'src/app/shared/service/language.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { LanguageDialogComponent } from './language-dialog/language-dialog.component';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UtilService } from 'src/app/shared/service/util.service';\n\n\n@Component({\n selector: 'app-language-options',\n templateUrl: './language.component.html',\n styleUrls: ['./language.component.css']\n})\nexport class LanguageComponent implements OnInit {\n\n\n languages: LanguageSelect[] = [];\n displayedColumns: string[] = ['code', 'name', 'actions'];\n dataSource = new MatTableDataSource();\n languageForm: FormGroup;\n isEditing: boolean = false;\n selectedLanguageId?: number;\n\n constructor(private languageService: LanguageService, \n private dialog: MatDialog,\n private translateService: TranslateService,\n private utilService: UtilService\n) {\n \n }\n\n ngOnInit(): void {\n this.loadLanguages();\n }\n\n\n loadLanguages() {\n this.languageService.getLanguagesSelect().subscribe(\n (data) => {\n this.languages = data;\n this.dataSource.data = this.languages; // Asignar datos a la tabla\n },\n (error) => {\n console.error('Error al cargar los lenguajes:', error);\n }\n );\n }\n\n openAddDialog() {\n const dialogRef = this.dialog.open(LanguageDialogComponent, {\n width: '400px',\n data: { language: null, isEditing: false }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.languageService.addLanguage(result).subscribe(() => this.loadLanguages());\n }\n });\n }\n\n openEditDialog(language: LanguageSelect) {\n const dialogRef = this.dialog.open(LanguageDialogComponent, {\n width: '400px',\n data: { language, isEditing: true }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.languageService.updateLanguage(language.id, result).subscribe(() => this.loadLanguages());\n }\n });\n }\n\n async deleteLanguage(id: number) {\n const textConfirm = await this.translateService.get('epg.users.dialog.messageDeleteConfirm').toPromise();\n const buttonConfirm = await this.translateService.get('epg.users.dialog.buttons.delete').toPromise();\n\n // Abrir el diálogo de confirmación\n const dialogRef = this.utilService.openConfirmDialog({\n title: buttonConfirm,\n text: textConfirm,\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n // Si el usuario confirma, proceder a eliminar el idioma\n this.languageService.deleteLanguage(id).subscribe(() => {\n this.loadLanguages();\n });\n }\n });\n }\n resetForm() {\n this.languageForm.reset();\n this.isEditing = false;\n this.selectedLanguageId = undefined;\n }\n\n}\n","export default \".mat-mdc-form-field + .mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n\\n.ancine-tabs {\\n align-items: center;\\n}\\n\\n.ancine-button {\\n color: white;\\n background-color: #355CFE;\\n height: 29px;\\n line-height: inherit;\\n}\\n\\n.mat-tab-group {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.mat-accordion .mat-expansion-panel {\\n min-width: 100vh;\\n}\\n\\n.ancine-tabs-name {\\n font-size: 200px;\\n color: #b9b8b8;\\n}\\n\\n:host .mat-tab-label-content {\\n font-size: 20px;\\n}\\n\\n.tabpanel {\\n height: auto;\\n max-height: 20vh;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n\\n.row {\\n width: 100%;\\n padding-top: 12px;\\n}\\n\\n.button-container {\\n padding-left: 80px;\\n}\\n\\n.buttons-dyp {\\n justify-content: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FuY2luZS9hbmNpbmUtZmVlZC1ncmlkL2FuY2luZS1mZWVkLWdyaWQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7RUFDSSxnQkFBQTtBQU5KOztBQVVBO0VBQ0ksbUJBQUE7QUFQSjs7QUFVQTtFQUNJLFlBQUE7RUFDQSx5QkFmVztFQWdCWCxZQUFBO0VBQ0Esb0JBQUE7QUFQSjs7QUFVQTtFQUNJLGFBQUE7RUFDQSx1QkFBQTtBQVBKOztBQVVBO0VBQ0ksZ0JBQUE7QUFQSjs7QUFVQTtFQUNJLGdCQUFBO0VBQ0EsY0E3QlM7QUFzQmI7O0FBVUE7RUFDSSxlQUFBO0FBUEo7O0FBVUE7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7QUFQSjs7QUFTQSx1REFBQTs7QUFDQTtFQUNJLHlCQTVDVztBQXNDZjs7QUFVQTtFQUNJLFdBQUE7RUFDQSxpQkFBQTtBQVBKOztBQVVBO0VBQ0ksa0JBQUE7QUFQSjs7QUFVQTtFQUNJLHVCQUFBO0FBUEoiLCJmaWxlIjoic3JjL2FwcC9lcGcvYW5jaW5lL2FuY2luZS1mZWVkLWdyaWQvYW5jaW5lLWZlZWQtZ3JpZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiRjb2xvci1wcmltYXJ5OiAjNUE2M0Q0O1xuJGNvbG9yLXNlY29uZGFyeTogIzNGNDhDQztcbiRjb2xvci10cmVzOiAjRDdEN0Q3O1xuJGNvbG9yLWN1YXRybzogIzM1NUNGRTtcbiRjb2xvci1jaW5jbzogI0NFQ0VDRTtcbiRjb2xvci1zZWlzOiAjYjliOGI4O1xuXG4ubWF0LW1kYy1mb3JtLWZpZWxkKy5tYXQtbWRjLWZvcm0tZmllbGQge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG5cbn1cblxuLmFuY2luZS10YWJzIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYW5jaW5lLWJ1dHRvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jdWF0cm8gO1xuICAgIGhlaWdodDogMjlweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLm1hdC10YWItZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tYXQtYWNjb3JkaW9uIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBtaW4td2lkdGg6IDEwMHZoO1xufVxuXG4uYW5jaW5lLXRhYnMtbmFtZXtcbiAgICBmb250LXNpemU6IDIwMHB4IDtcbiAgICBjb2xvcjogJGNvbG9yLXNlaXM7XG59XG5cbjpob3N0IC5tYXQtdGFiLWxhYmVsLWNvbnRlbnR7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIFxufVxuLnRhYnBhbmVse1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAyMHZoO1xufVxuLyoqIFNvYnJlZXNjcmliZSBlbCBjb2xvciBwcmVkZXRlcm1pbmFkbyBkZWwgY2hlY2tib3ggKi9cbjo6bmctZGVlcCAubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jdWF0cm87XG59XG5cbi8vYm90b25lc1xuLnJvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG59XG5cbi5idXR0b24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG59XG5cbi5idXR0b25zLWR5cCB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59Il19 */\";","import { Component, OnInit, ViewChild, Input, ViewEncapsulation } from '@angular/core';\nimport { AncineGridsList } from 'src/app/shared/model/ancine-grids-model/ancine-grids-list';\nimport { FormGroup } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { AncineGirdsService } from 'src/app/shared/service/ancine-grids.service';\nimport { EpgComponent } from '../../epg.component';\nimport { takeUntil } from 'rxjs/operators';\nimport { AncineGridsFile } from 'src/app/shared/model/ancine-grids-model/ancine-grids-file';\nimport { MatDialog } from '@angular/material/dialog';\nimport { AncineUtilsDialogsComponentComponent } from './utils-dialogs/ancine-utils-dialogs-component/ancine-utils-dialogs-component.component';\nimport { Network } from 'src/app/shared/model/network';\nimport { AncineNetworksData } from 'src/app/shared/model/ancine-grids-model/ancine-grids-networks-data';\nimport { NgForOf } from '@angular/common';\n\n@Component({\n selector: 'app-ancine-feed-grid',\n templateUrl: './ancine-feed-grid.component.html',\n styleUrls: ['./ancine-feed-grid.component.scss']\n})\nexport class AncineGridComponent implements OnInit {\n\n panelOpenState = false;\n filterForm: FormGroup;\n ancineNetworksData: AncineNetworksData = {};\n selectedFiles: AncineGridsFile[] = [];\n network: string;\n //mostrarTab1: boolean = false;\n //mostrarTab2: boolean = false;\n mostrarTab3: boolean = false;\n\n private unsubscription$: Subject;\n\n //valores hardcodeados\n tab1: string = \"PUBLIC\";\n tab2: string = \"PUBLIC_DAILY\";\n tab3: string = \"RESTRICTED\";\n countSelected = 0;\n ancineFile: any;\n\n constructor(private _service: AncineGirdsService, private epgComponent: EpgComponent, private dialog: MatDialog) {\n this.unsubscription$ = new Subject();\n }\n\n ngOnInit(): void {\n this.epgComponent.selectedNetworkCode$.pipe(takeUntil(this.unsubscription$)).subscribe((codeNetwork) => {\n this.tabs(codeNetwork);\n })\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n tabs(codeNetwork: string): void {\n //this.mostrarTab1 = true;\n //this.mostrarTab2 = true;\n \n this.network = codeNetwork;\n if (this.ancineNetworksData[codeNetwork] == undefined) {\n this.mostrarTab3 = true;\n \n this.ancineNetworksData[codeNetwork] = {\n filesPublic: null,\n filesDaily: null,\n filesRestricted: null\n };\n this._service.getFileByNetwork(codeNetwork, this.tab1).subscribe(result => {\n this.ancineNetworksData[codeNetwork].filesPublic = result\n //this.mostrarTab1 = false;\n });\n this._service.getFileByNetwork(codeNetwork, this.tab2).subscribe(result => {\n this.ancineNetworksData[codeNetwork].filesDaily = result\n // this.mostrarTab2 = false;\n });\n this._service.getFileByNetwork(codeNetwork, this.tab3).subscribe(result => {\n this.ancineNetworksData[codeNetwork].filesRestricted = result\n this.mostrarTab3 = false;\n });\n \n }\n\n }\n\n updateSelectedCount(ancineFile: AncineGridsFile) {\n if (ancineFile.selected) {\n this.selectedFiles.push(ancineFile);\n } else {\n const index = this.selectedFiles.findIndex(file => file.id === ancineFile.id);\n if (index !== -1) {\n this.selectedFiles.splice(index, 1);\n }\n }\n }\n\n descargarfilesPublicSeleccionados() {\n this.dialog.open(AncineUtilsDialogsComponentComponent, {\n data: this.selectedFiles.sort((a, b) => a.channelId.code.localeCompare(b.channelId.code))\n });\n }\n\n deselectFiles(){\n for (const file of this.selectedFiles){\n file.selected=false;\n }\n this.selectedFiles = [];\n //this.selectedFiles.length=0;\n }\n}","export default \".botones .ancine-button {\\n width: 100px;\\n}\\n\\n.ancine-button {\\n color: white;\\n background-color: #355CFE;\\n line-height: inherit;\\n}\\n\\n.row {\\n width: 100%;\\n padding-top: 12px;\\n}\\n\\n.button-container {\\n padding-left: 80px;\\n}\\n\\n.ancine-code {\\n font-size: 20px;\\n color: #b9b8b8;\\n}\\n\\n.ancine-icon {\\n margin-right: 8px;\\n color: #355CFE;\\n margin-bottom: 8px;\\n}\\n\\n.checkbox-container {\\n display: flex;\\n align-items: center;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FuY2luZS9hbmNpbmUtZmVlZC1ncmlkL3V0aWxzLWRpYWxvZ3MvYW5jaW5lLXV0aWxzLWRpYWxvZ3MtY29tcG9uZW50L2FuY2luZS11dGlscy1kaWFsb2dzLWNvbXBvbmVudC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRSTtFQUNJLFlBQUE7QUFQUjs7QUFVQTtFQUNJLFlBQUE7RUFDQSx5QkFYVztFQVlYLG9CQUFBO0FBUEo7O0FBU0E7RUFDSSxXQUFBO0VBQ0EsaUJBQUE7QUFOSjs7QUFRQTtFQUNJLGtCQUFBO0FBTEo7O0FBT0E7RUFDSSxlQUFBO0VBQ0EsY0FyQlM7QUFpQmI7O0FBTUE7RUFDSSxpQkFBQTtFQUNBLGNBM0JXO0VBNEJYLGtCQUFBO0FBSEo7O0FBUUE7RUFDSSxhQUFBO0VBQ0EsbUJBQUE7QUFMSjs7QUFPQSx1REFBQTs7QUFDQTtFQUNJLHlCQXZDVztBQW1DZiIsImZpbGUiOiJzcmMvYXBwL2VwZy9hbmNpbmUvYW5jaW5lLWZlZWQtZ3JpZC91dGlscy1kaWFsb2dzL2FuY2luZS11dGlscy1kaWFsb2dzLWNvbXBvbmVudC9hbmNpbmUtdXRpbHMtZGlhbG9ncy1jb21wb25lbnQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkY29sb3ItcHJpbWFyeTogIzVBNjNENDtcbiRjb2xvci1zZWNvbmRhcnk6ICMzRjQ4Q0M7XG4kY29sb3ItdHJlczogI0Q3RDdENztcbiRjb2xvci1jdWF0cm86ICMzNTVDRkU7XG4kY29sb3ItY2luY286ICNDRUNFQ0U7XG4kY29sb3Itc2VpczogI2I5YjhiODtcblxuLmJvdG9uZXN7XG4gICAgLmFuY2luZS1idXR0b257XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICB9XG59XG4uYW5jaW5lLWJ1dHRvbntcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybyA7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG4ucm93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbn1cbi5idXR0b24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG59XG4uYW5jaW5lLWNvZGV7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAkY29sb3Itc2Vpcztcbn1cbi5hbmNpbmUtaWNvbntcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBjb2xvcjogJGNvbG9yLWN1YXRybztcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4uYW5jaW5lLWNoZWNrYm94e1xuICAgIC8vY29sb3I6ICRjb2xvci1zZWlzO1xufVxuLmNoZWNrYm94LWNvbnRhaW5lcntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4vKiogU29icmVlc2NyaWJlIGVsIGNvbG9yIHByZWRldGVybWluYWRvIGRlbCBjaGVja2JveCAqL1xuOjpuZy1kZWVwIC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybztcbn0iXX0= */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { AncineGridsFile } from 'src/app/shared/model/ancine-grids-model/ancine-grids-file';\nimport { AncineGirdsService } from 'src/app/shared/service/ancine-grids.service';\nimport { saveAs } from 'file-saver';\nimport { catchError } from 'rxjs/operators';\nimport { of } from 'rxjs';\n@Component({\n selector: 'app-ancine-utils-dialogs-component',\n templateUrl: './ancine-utils-dialogs-component.component.html',\n styleUrls: ['./ancine-utils-dialogs-component.component.scss']\n})\nexport class AncineUtilsDialogsComponentComponent implements OnInit {\n\n filesPublic: AncineGridsFile[] = [];\n // filesList: string[] = [\"PUB_31433592000169_WARNERCHANNELHD_4040330030_202301_20230207.csv\",\n // \"PUB_31433592000169_TRUTVSD_4040330009_202001_20200214.csv\",\n // \"33015827000128_WARNERCHANNELHD_2239630002_202001_20200215.csv\"];\n\n fileName: string = \"TurnerTapkit-EPG-Ancine.zip\";\n filesLists: string[] = [];\n descargando: boolean = false;\n deshabilitar: boolean = false;\n showErrorMessage: boolean = false;\n constructor(private _service: AncineGirdsService, @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef) {\n this.filesPublic = data;\n\n }\n\n ngOnInit(): void {\n }\n\n download(): void {\n this.filesLists = this.filesPublic.map(file => file.name);\n this.descargando = true;\n this._service.getDownloadedFiles(this.filesLists)\n .pipe(\n catchError(error => {\n console.error('Error al descargar los archivos:', error);\n this.descargando = false;\n this.showErrorMessage = true;\n setTimeout(() => {\n this.showErrorMessage = false;\n }, 3000);\n return of(null);\n })\n ).subscribe((arrayBuffer) => {\n if (arrayBuffer) {\n this.arrayBufferToFile(arrayBuffer);\n }\n this.descargando = false;\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n arrayBufferToFile(arrayBuffer: ArrayBuffer) {\n const blob = new Blob([arrayBuffer]);\n saveAs(blob, this.fileName);\n }\n\n removeFileFromList(file: any) {\n console.log(\"item\", file);\n const index = this.filesPublic.findIndex(item => item === file);\n console.log(\"index\", index);\n if (index !== -1) {\n this.filesPublic.splice(index, 1);\n console.log(\"filesPublic\", this.filesPublic);\n }\n if (this.filesPublic.length == 0) {\n this.deshabilitar = true;\n }\n }\n\n deselectFiles() {\n for (const file of this.filesPublic) {\n file.selected = false;\n }\n this.filesPublic.splice(0, this.filesPublic.length);\n this.filesLists = [];\n this.deshabilitar = true;\n }\n}\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #b9b8b8;\\n width: auto;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #b9b8b8;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.mat-raised-button:not([class*=mat-elevation-z]) {\\n color: white;\\n background-color: #125846 !important;\\n height: 28px;\\n line-height: inherit;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2FuY2luZS9hbmNpbmUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7RUFDSSxjQUFBO0VBQ0EsOEJBQUE7RUFDQSxlQUFBO0VBQ0EsY0FOUztFQU9ULFdBQUE7QUFOSjs7QUFTQTtFQUNJLGFBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0FBTko7O0FBU0E7RUFDSSxXQUFBO0FBTko7O0FBU0E7RUFDSSxZQUFBO0VBQ0Esb0NBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7QUFOSiIsImZpbGUiOiJzcmMvYXBwL2VwZy9hbmNpbmUvYW5jaW5lLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLXByaW1hcnk6ICM1QTYzRDQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAjM0Y0OENDO1xuJGNvbG9yLXRyZXM6ICNEN0Q3RDc7XG4kY29sb3ItY3VhdHJvOiAjMzU1Q0ZFO1xuJGNvbG9yLWNpbmNvOiAjQ0VDRUNFO1xuJGNvbG9yLXNlaXM6ICNiOWI4Yjg7XG5cbi50aXRsZS1mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOjE0cHQ7XG4gICAgY29sb3I6ICRjb2xvci1zZWlzO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXNlaXM7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZm9ybS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjU4NDYgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG4iXX0= */\";","\nimport { Component, OnInit } from '@angular/core';\n\n\n@Component({\n selector: 'app-ancine',\n templateUrl: './ancine.component.html',\n styleUrls: ['./ancine.component.scss']\n})\n\nexport class AncineComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n \n }\n \n }","export default \".button-container {\\n text-align: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2NvbmZpZ3VyYXRpb24tZ3JpZC9jb25maWctY29uZmlybS9jb25maWctY29uZmlybS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksa0JBQWtCO0FBQ3RCIiwiZmlsZSI6InNyYy9hcHAvZXBnL2NvbmZpZ3VyYXRpb24tZ3JpZC9jb25maWctY29uZmlybS9jb25maWctY29uZmlybS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn0iXX0= */\";","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Subject, Observable } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Feed } from 'src/app/shared/model/feed';\nimport { AlertService } from 'src/app/shared/service/alert.service';\nimport { DialogConfigComponent } from './dialog-config/dialog-config.component';\nimport { ConfigGridAlias } from 'src/app/shared/model/config-grid-alias';\nimport { ConfigurationsRequest } from 'src/app/shared/request/configurations.request';\nimport { ConfigService } from 'src/app/shared/service/config.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Module } from 'src/app/shared/model/module';\n\n@Component({\n selector: 'app-config-confirm',\n templateUrl: './config-confirm.component.html',\n styleUrls: ['./config-confirm.component.css']\n})\nexport class ConfigConfirmComponent implements OnDestroy {\n\n @Input()\n module: Module;\n\n @Input()\n selection: SelectionModel;\n\n @Input()\n configSelected$: Observable;\n\n loadingConfirm = false;\n\n private unsubscription$: Subject;\n private request: ConfigurationsRequest;\n private message: string;\n\n constructor(\n public dialog: MatDialog,\n private alertService: AlertService,\n private configService: ConfigService,\n private translateService: TranslateService,\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer) {\n\n iconRegistry.addSvgIcon('download',\n sanitizer.bypassSecurityTrustResourceUrl('../../../../assets/icons/cloud-download-24px.svg')\n );\n iconRegistry.addSvgIcon('confirm',\n sanitizer.bypassSecurityTrustResourceUrl('../../../../assets/icons/done-24px.svg')\n );\n this.unsubscription$ = new Subject();\n this.request = new ConfigurationsRequest();\n\n this.translateService\n .stream(['epg.config.setting-response'])\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.message = translations['epg.config.setting-response']);\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n mapperRequest(): void {\n this.loadingConfirm = true;\n this.request.module = this.module;\n this.request.feeds = this.selection.selected;\n if (this.request.feeds.length > 0) {\n this.configSelected$\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(fields => this.request.fields = fields)\n .add(() => this.openDialog());\n } else {\n this.alertService.warning(this.message);\n this.loadingConfirm = false;\n }\n }\n\n private openDialog(): void {\n const settings = {\n height: '190px',\n width: '356px',\n disableClose: true,\n autoFocus: true,\n data: this.request\n };\n\n this.dialog\n .open(DialogConfigComponent, settings)\n .afterClosed()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(result => this.acceptDialog(result))\n .add(() => this.loadingConfirm = false);\n }\n\n private acceptDialog(result: ConfigurationsRequest): void {\n this.alertService.clear();\n if (result) {\n this.configService\n .postConfigurations$(result)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(\n data => this.alertService.success(data.message),\n error => this.alertService.error(error));\n }\n }\n\n}\n","export default \"::ng-deep .mat-dialog-container {\\n padding: 2px;\\n overflow: hidden;\\n background-color: #eee;\\n}\\n\\n.row {\\n height: 30px;\\n}\\n\\n.mat-dialog-title {\\n color: white;\\n background-color: #007bff;\\n border-top-left-radius: 4px;\\n border-top-right-radius: 4px;\\n font-family: Arial, sans-serif;\\n font-size: 10pt;\\n font-weight: 600;\\n}\\n\\n.dialog-title {\\n margin-left: 20px;\\n}\\n\\n.mat-icon-button {\\n height: 30px;\\n}\\n\\n.mat-icon {\\n margin-top: -15px;\\n}\\n\\n::ng-deep .mat-dialog-content {\\n margin: 20px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2NvbmZpZ3VyYXRpb24tZ3JpZC9jb25maWctY29uZmlybS9kaWFsb2ctY29uZmlnL2RpYWxvZy1jb25maWcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1Qiw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCIiwiZmlsZSI6InNyYy9hcHAvZXBnL2NvbmZpZ3VyYXRpb24tZ3JpZC9jb25maWctY29uZmlybS9kaWFsb2ctY29uZmlnL2RpYWxvZy1jb25maWcuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjo6bmctZGVlcCAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG5cbi5yb3cge1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuLm1hdC1kaWFsb2ctdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YmZmO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmRpYWxvZy10aXRsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbi5tYXQtaWNvbi1idXR0b24ge1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuLm1hdC1pY29uIHtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtZGlhbG9nLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMjBweDtcbn0iXX0= */\";","import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { ConfigurationsRequest } from 'src/app/shared/request/configurations.request';\n\n@Component({\n selector: 'app-dialog-config',\n templateUrl: './dialog-config.component.html',\n styleUrls: ['./dialog-config.component.css']\n})\nexport class DialogConfigComponent {\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: ConfigurationsRequest,\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer) {\n\n iconRegistry.addSvgIcon(\n 'close',\n sanitizer.bypassSecurityTrustResourceUrl('../../../../../assets/icons/twotone-close-24px.svg')\n );\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n onOkClick(): void {\n this.dialogRef.close(this.data);\n }\n\n}\n","export default \".mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n::ng-deep .mat-header-cell, ::ng-deep .mat-sort-header-container {\\n justify-content: center;\\n}\\n\\n::ng-deep .mat-sort-header-arrow {\\n color: gray;\\n opacity: 1;\\n}\\n\\n/** Ubica el checkbox en el centro de la celda */\\n\\n::ng-deep .mat-checkbox-layout {\\n margin-top: 3px;\\n height: 11px;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #5B5B5B;\\n}\\n\\n::ng-deep .mat-paginator .mat-paginator-outer-container .mat-paginator-container {\\n min-height: 30px;\\n height: 30px;\\n background-color: #bbb;\\n}\\n\\n::ng-deep .mat-paginator-page-size {\\n height: 44px !important;\\n}\\n\\n::ng-deep .mat-paginator-range-label {\\n margin: 0 32px -12px 32px !important;\\n}\\n\\n::ng-deep .mat-paginator-navigation-first, ::ng-deep .mat-paginator-navigation-previous, ::ng-deep .mat-paginator-navigation-next, ::ng-deep .mat-paginator-navigation-last {\\n height: 30px !important;\\n}\\n\\n::ng-deep button:focus {\\n outline: none !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2NvbmZpZ3VyYXRpb24tZ3JpZC9jb25maWctZmVlZC1ncmlkL2NvbmZpZy1mZWVkLWdyaWQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxVQUFVO0FBQ2Q7O0FBRUEsZ0RBQWdEOztBQUVoRDtJQUNJLGVBQWU7SUFDZixZQUFZO0FBQ2hCOztBQUVBLHVEQUF1RDs7QUFFdkQ7SUFDSSx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLG9DQUFvQztBQUN4Qzs7QUFFQTtJQUNJLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL2VwZy9jb25maWd1cmF0aW9uLWdyaWQvY29uZmlnLWZlZWQtZ3JpZC9jb25maWctZmVlZC1ncmlkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubWF0LXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZpZWxkLXRleHQge1xuICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG59XG5cbjo6bmctZGVlcCAubWF0LWhlYWRlci1jZWxsLCA6Om5nLWRlZXAgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG46Om5nLWRlZXAgLm1hdC1zb3J0LWhlYWRlci1hcnJvdyB7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyoqIFViaWNhIGVsIGNoZWNrYm94IGVuIGVsIGNlbnRybyBkZSBsYSBjZWxkYSAqL1xuXG46Om5nLWRlZXAgLm1hdC1jaGVja2JveC1sYXlvdXQge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBoZWlnaHQ6IDExcHg7XG59XG5cbi8qKiBTb2JyZWVzY3JpYmUgZWwgY29sb3IgcHJlZGV0ZXJtaW5hZG8gZGVsIGNoZWNrYm94ICovXG5cbjo6bmctZGVlcCAubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1QjVCNUI7XG59XG5cbjo6bmctZGVlcCAubWF0LXBhZ2luYXRvciAubWF0LXBhZ2luYXRvci1vdXRlci1jb250YWluZXIgLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiO1xufVxuXG46Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIHtcbiAgICBoZWlnaHQ6IDQ0cHggIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLXJhbmdlLWxhYmVsIHtcbiAgICBtYXJnaW46IDAgMzJweCAtMTJweCAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLWZpcnN0LCA6Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1wcmV2aW91cywgOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbmV4dCwgOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbGFzdCB7XG4gICAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCBidXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn0iXX0= */\";","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { MatCheckboxChange } from '@angular/material/checkbox';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Feed } from 'src/app/shared/model/feed';\nimport { Module } from 'src/app/shared/model/module';\n\n@Component({\n selector: 'app-config-feed-grid',\n templateUrl: './config-feed-grid.component.html',\n styleUrls: ['./config-feed-grid.component.css']\n})\nexport class ConfigFeedGridComponent implements OnInit {\n\n @Input()\n module: Module;\n\n @Input()\n dataSource = new MatTableDataSource();\n\n displayedColumns: string[];\n\n @Input()\n selection: SelectionModel;\n\n @Input()\n loadingDatasource: boolean;\n\n @Output()\n public loadFieldToSelect = new EventEmitter();\n\n @ViewChild(MatSort, { static: true })\n sort: MatSort;\n\n @ViewChild(MatPaginator, { static: true })\n paginator: MatPaginator;\n\n ngOnInit() {\n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator;\n this.displayedColumns = [\n 'code',\n 'name',\n 'selected'\n ];\n }\n\n change(event: MatCheckboxChange, row: Feed) {\n this.loadFieldToSelect.emit();\n if (event) {\n return this.selection.toggle(row);\n } else {\n return null;\n }\n }\n\n /** Selecciona/Deselecciona un Feed */\n checkboxLabel(row?: Feed): string {\n const isSelected: boolean = this.selection.isSelected(row);\n this.dataSource\n .data\n .find(feed => feed.id === row.id)\n .selected = isSelected;\n\n if (isSelected) {\n return `deselect row ${row.id}`;\n } else {\n return `select row ${row.id}`;\n }\n }\n\n}\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2NvbmZpZ3VyYXRpb24tZ3JpZC9jb25maWd1cmF0aW9uLWdyaWQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGNBQWM7SUFDZCw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLFdBQVc7SUFDWCxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFdBQVc7QUFDZiIsImZpbGUiOiJzcmMvYXBwL2VwZy9jb25maWd1cmF0aW9uLWdyaWQvY29uZmlndXJhdGlvbi1ncmlkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGl0bGUtZm9ybSB7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRwdDtcbiAgICBjb2xvcjogIzc3NztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZm9ybS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbiJdfQ== */\";","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, OnDestroy, OnInit } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Observable, of, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { ConfigGridAlias } from 'src/app/shared/model/config-grid-alias';\nimport { ConfigGridField } from 'src/app/shared/model/config-grid-field';\nimport { DataNetwork } from 'src/app/shared/model/data-network';\nimport { Feed } from 'src/app/shared/model/feed';\nimport { ConfigService } from 'src/app/shared/service/config.service';\nimport { EpgDataService } from 'src/app/shared/service/epg-data.service';\nimport { FeedService } from 'src/app/shared/service/feed.service';\nimport { ArrayHelper } from 'src/app/shared/utils/array-helper';\nimport { ConfigGridMaster } from 'src/app/shared/model/config-grid-master';\nimport { AlertService } from 'src/app/shared/service/alert.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ModuleService } from 'src/app/shared/service/module.service';\nimport { Module } from 'src/app/shared/model/module';\n\n@Component({\n selector: 'app-configuration-grid',\n templateUrl: './configuration-grid.component.html',\n styleUrls: ['./configuration-grid.component.css']\n})\nexport class ConfigurationGridComponent implements OnInit, OnDestroy {\n\n feeds: Feed[];\n selection: SelectionModel;\n modules: Module[];\n module: Module;\n\n loadingAlias = false;\n loadingSelected = false;\n loadingDatasource = false;\n\n feedsSelected = new Array();\n dataSource = new MatTableDataSource();\n configAlias$ = new Observable();\n configSelected$ = new Observable();\n\n private configAlias = new Array();\n private configSelected = new Array();\n private configField = new Array();\n private unsubscription$ = new Subject();\n private message: string;\n\n constructor(\n private configService: ConfigService,\n private epgDataService: EpgDataService,\n private alertService: AlertService,\n private translateService: TranslateService,\n private feedService: FeedService,\n private moduleService: ModuleService) {\n\n this.translateService\n .stream(['epg.config.conflicts'])\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.message = translations['epg.config.conflicts']);\n }\n\n ngOnInit() {\n this.configSelected$ = of(this.configSelected);\n this.loadModules();\n this.loadFeedsGrid();\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n private loadModules(): void {\n this.moduleService\n .getModules$()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(modules => this.modules = modules);\n }\n\n private loadFeedsGrid(): void {\n this.loadingDatasource = true;\n this.feedService\n .getFeeds$()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(feeds => this.mapperFeeds(feeds))\n .add(() => this.loadingDatasource = false);\n }\n\n private mapperFeeds(feeds: Feed[]) {\n this.feeds = feeds;\n this.dataSource.data = this.feeds;\n this.filterNetworkSetup();\n this.selection = new SelectionModel(true, this.dataSource.data.filter(row => row.selected));\n this.epgDataService\n .codeNetwork$\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(dataNetwork => this.filterNetwork(dataNetwork));\n }\n\n loadFieldToSelect(): void {\n this.loadingAlias = true;\n this.configService\n .getConfigAlias$()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(aliasList => this.mapperFieldToSelect(aliasList))\n .add(() => this.loadingAlias = false);\n }\n\n private mapperFieldToSelect(aliasList: ConfigGridAlias[]) {\n this.configAlias$ = of(aliasList);\n this.configAlias = aliasList;\n ArrayHelper.orderBy(aliasList, 'field');\n\n this.configField.length = 0;\n this.configSelected.length = 0;\n\n if (!this.module) {\n return;\n }\n this.loadingSelected = true;\n\n this.configService\n .getConfigurations$(this.module.id)\n .pipe(\n takeUntil(this.unsubscription$),\n map(configs => configs.filter(config => ArrayHelper.contains(this.selection.selected, config.feed))))\n .subscribe(configs => this.validateStructure(configs))\n .add(() => this.loadingSelected = false);\n }\n\n private validateStructure(configs: ConfigGridMaster[]): void {\n let list1: string;\n let list2: string;\n let isValid = true;\n\n for (const config of configs) {\n config.fields.forEach(field => delete field.id);\n ArrayHelper.orderBy(config.fields, 'ordered');\n list1 = JSON.stringify(config.fields);\n if (!list2) {\n isValid = true;\n } else if (list1 === list2) {\n isValid = true;\n } else {\n isValid = false;\n break;\n }\n list2 = list1;\n }\n\n this.alertService.clear();\n if (!isValid) {\n const lastIndex = this.selection.selected.length - 1;\n const lastFeedSelected = this.selection.selected[lastIndex];\n this.dataSource.data.forEach(feed => {\n if (feed.alias === lastFeedSelected.alias) {\n feed.selected = false;\n }\n });\n configs = configs.filter(config => config.feed.alias !== lastFeedSelected.alias);\n this.selection = new SelectionModel(true, this.dataSource.data.filter(row => row.selected));\n this.alertService.error(this.message);\n }\n configs.forEach(config => this.mapperFieldSelected(config.fields));\n }\n\n private mapperFieldSelected(fields: ConfigGridField[]) {\n this.configField = fields;\n this.configField.forEach(field => {\n if (!ArrayHelper.contains(this.configSelected, field.alias)) {\n this.configSelected.push(field.alias);\n }\n });\n this.configAlias = this.configAlias.filter(alias => !ArrayHelper.contains(this.configSelected, alias));\n this.configAlias$ = of(this.configAlias);\n this.configSelected$ = of(this.configSelected);\n }\n\n private filterNetwork(dataNetwork: DataNetwork): void {\n this.dataSource.data = this.feeds;\n const codeNetwork = dataNetwork.codeNetwork.trim();\n\n if (dataNetwork.isClicked) { // Si la NETWORK esta seleccionada\n this.dataSource.filter = null;\n this.dataSource\n .data\n .forEach(feed => feed.selected = false);\n\n } else if (codeNetwork.length > 0) {\n this.dataSource.filter = codeNetwork;\n this.dataSource.data = this.dataSource.filteredData;\n }\n this.selection = new SelectionModel(true, this.dataSource.data.filter(row => row.selected));\n this.loadFieldToSelect();\n }\n\n /**\n * Setea el filtro por defecto, para que solo filtre por el campo 'feed.network'\n */\n private filterNetworkSetup() {\n this.dataSource.filterPredicate = (feed: Feed, networkCode: string) => {\n return feed.network.code === networkCode.trim().toUpperCase();\n };\n }\n\n moduleEmit(module: Module): void {\n this.selection.clear();\n this.loadFieldToSelect();\n this.module = module;\n }\n\n}\n","export default \".field-title {\\n height: 30px;\\n width: 440px;\\n color: black;\\n background-color: #CECECE;\\n padding-top: 4px;\\n font-family: Arial, sans-serif;\\n font-size: 11.5pt;\\n font-weight: 549;\\n margin-bottom: 0px;\\n}\\n\\n.container-alias {\\n padding: 174px;\\n}\\n\\n.selector-container {\\n text-align: center;\\n margin-top: 35px;\\n}\\n\\n.field-selector-container {\\n max-height: 420px;\\n width: 440px;\\n margin-bottom: 3%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.field-selector-list {\\n max-height: 385px;\\n border: solid 1px #ccc;\\n min-height: 385px;\\n background: whitesmoke;\\n overflow: auto;\\n display: block;\\n}\\n\\n.field-alias {\\n width: 50%;\\n text-align: left;\\n margin-bottom: 0px;\\n}\\n\\n.field-field {\\n width: 50%;\\n text-align: left;\\n font-style: italic;\\n margin-bottom: 0px;\\n}\\n\\n.field-selector-box {\\n padding: 5px 20px;\\n border-bottom: solid 1px #ccc;\\n color: rgba(0, 0, 0, 0.87);\\n display: flex;\\n flex-direction: row;\\n align-items: center;\\n justify-content: space-between;\\n box-sizing: border-box;\\n cursor: move;\\n background: white;\\n font-size: 14px;\\n}\\n\\n.cdk-drag-preview {\\n box-sizing: border-box;\\n border-radius: 4px;\\n box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2), \\n 0 8px 10px 1px rgba(0, 0, 0, 0.14), \\n 0 3px 14px 2px rgba(0, 0, 0, 0.12);\\n}\\n\\n.cdk-drag-placeholder {\\n opacity: 0;\\n}\\n\\n.cdk-drag-animating {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n}\\n\\n.field-selector-box:last-child {\\n border: none;\\n}\\n\\n.field-selector-list.cdk-drop-list-dragging .field-selector-box:not(.cdk-drag-placeholder) {\\n transition: transform 250ms cubic-bezier(0, 0, 0.2, 1);\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2NvbmZpZ3VyYXRpb24tZ3JpZC9maWVsZC1zZWxlY3Rvci9maWVsZC1zZWxlY3Rvci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLGdCQUFnQjtJQUNoQiw4QkFBOEI7SUFDOUIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixzQkFBc0I7SUFDdEIsaUJBQWlCO0lBQ2pCLHNCQUFzQjtJQUN0QixjQUFjO0lBQ2QsY0FBYztBQUNsQjs7QUFFQTtJQUNJLFVBQVU7SUFDVixnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixrQkFBa0I7SUFDbEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLDZCQUE2QjtJQUM3QiwwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsOEJBQThCO0lBQzlCLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsa0JBQWtCO0lBQ2xCOztrREFFOEM7QUFDbEQ7O0FBRUE7SUFDSSxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxzREFBc0Q7QUFDMUQ7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksc0RBQXNEO0FBQzFEIiwiZmlsZSI6InNyYy9hcHAvZXBnL2NvbmZpZ3VyYXRpb24tZ3JpZC9maWVsZC1zZWxlY3Rvci9maWVsZC1zZWxlY3Rvci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZpZWxkLXRpdGxlIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgd2lkdGg6IDQ0MHB4O1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQ0VDRUNFO1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTEuNXB0O1xuICAgIGZvbnQtd2VpZ2h0OiA1NDk7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xufVxuXG4uY29udGFpbmVyLWFsaWFzIHtcbiAgICBwYWRkaW5nOiAxNzRweDtcbn1cblxuLnNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG59XG5cbi5maWVsZC1zZWxlY3Rvci1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDQyMHB4O1xuICAgIHdpZHRoOiA0NDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG59XG5cbi5maWVsZC1zZWxlY3Rvci1saXN0IHtcbiAgICBtYXgtaGVpZ2h0OiAzODVweDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjO1xuICAgIG1pbi1oZWlnaHQ6IDM4NXB4O1xuICAgIGJhY2tncm91bmQ6IHdoaXRlc21va2U7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5maWVsZC1hbGlhcyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuLmZpZWxkLWZpZWxkIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbi1ib3R0b206IDBweDtcbn1cblxuLmZpZWxkLXNlbGVjdG9yLWJveCB7XG4gICAgcGFkZGluZzogNXB4IDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjY2M7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNkay1kcmFnLXByZXZpZXcge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgXG4gICAgICAgICAgICAgICAgMCA4cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgXG4gICAgICAgICAgICAgICAgMCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLmNkay1kcmFnLXBsYWNlaG9sZGVyIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uY2RrLWRyYWctYW5pbWF0aW5nIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5cbi5maWVsZC1zZWxlY3Rvci1ib3g6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyOiBub25lO1xufVxuXG4uZmllbGQtc2VsZWN0b3ItbGlzdC5jZGstZHJvcC1saXN0LWRyYWdnaW5nIC5maWVsZC1zZWxlY3Rvci1ib3g6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbn0iXX0= */\";","import { SelectionModel } from '@angular/cdk/collections';\nimport { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\nimport { Component, Input } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { ConfigGridAlias } from 'src/app/shared/model/config-grid-alias';\nimport { Feed } from 'src/app/shared/model/feed';\nimport { ArrayHelper } from 'src/app/shared/utils/array-helper';\n\n@Component({\n selector: 'app-field-selector',\n templateUrl: './field-selector.component.html',\n styleUrls: ['./field-selector.component.css']\n})\nexport class FieldSelectorComponent {\n\n @Input()\n selection: SelectionModel;\n\n @Input()\n loadingAlias: boolean;\n\n @Input()\n loadingSelected: boolean;\n\n @Input()\n configAlias$: Observable;\n\n @Input()\n configSelected$: Observable;\n\n drop(event: CdkDragDrop) {\n if (this.selection.selected.length === 0) {\n return;\n }\n if (event.previousContainer === event.container) {\n moveItemInArray(\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n } else {\n transferArrayItem(\n event.previousContainer.data,\n event.container.data,\n event.previousIndex,\n event.currentIndex\n );\n if (event.container.id === 'containerToSelect') {\n ArrayHelper.orderBy(event.container.data, 'field');\n }\n }\n }\n\n}\n","export default \".module-select-container {\\n text-align: center;\\n margin-bottom: 15px;\\n}\\n\\n.select-container {\\n max-height: 420px;\\n width: 300px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.mat-select {\\n text-align: center;\\n font-size: 13px;\\n font-weight: bold;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2NvbmZpZ3VyYXRpb24tZ3JpZC9tb2R1bGUtc2VsZWN0L21vZHVsZS1zZWxlY3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGtCQUFrQjtJQUNsQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGlCQUFpQjtBQUNyQiIsImZpbGUiOiJzcmMvYXBwL2VwZy9jb25maWd1cmF0aW9uLWdyaWQvbW9kdWxlLXNlbGVjdC9tb2R1bGUtc2VsZWN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubW9kdWxlLXNlbGVjdC1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogNDIwcHg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDElO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbn1cblxuLm1hdC1zZWxlY3Qge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59Il19 */\";","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { MatSelectChange } from '@angular/material/select';\nimport { Module } from 'src/app/shared/model/module';\n\n@Component({\n selector: 'app-module-select',\n templateUrl: './module-select.component.html',\n styleUrls: ['./module-select.component.css']\n})\nexport class ModuleSelectComponent {\n\n @Input()\n modules: Module[];\n\n @Output()\n public moduleEmit = new EventEmitter();\n\n moduleCtrl = new FormControl('', Validators.required);\n\n onModuleChange(event: MatSelectChange) {\n this.moduleEmit.emit(event.value);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { Role } from '../shared/model/role';\nimport { EpgGuard } from '../shared/utils/auth.guard';\nimport { ConfigurationGridComponent } from './configuration-grid/configuration-grid.component';\nimport { EpgSubscriptionComponent } from './epg-subscription/epg-subscription.component';\nimport { RedirectAuthenticationComponent } from '../login/redirect-authentication/redirect-authentication.component';\nimport { EpgComponent } from './epg.component';\nimport { LegalComponent } from './legal/legal.component';\nimport { MonthlyComponent } from './monthly-grids/monthly/monthly.component';\nimport { VisualLogsComponent } from './visual-logs/visual-logs.component';\nimport { AncineComponent } from './ancine/ancine.component';\nimport { NetworksComponent } from './networks/networks/networks.component';\nimport { NetworksUploadComponent } from './networks-upload/networks-upload.component';\nimport { UsersComponent } from './users/users.component';\nimport { NewsComponent } from './news/news/news.component';\nimport { NewslettersComponent } from './newsletters/newsletters.component';\nimport { NetworkSubscriptionComponent } from './network-subscription/network-subscription.component';\nimport { ProfileComponent } from './profile/profile.component';\nimport { ConfigurationRegisterComponent } from './admin-configurations/configuration-register/configuration-register.component';\nimport { AdminConfigurationsComponent } from './admin-configurations/admin-configurations.component';\nimport { ConfigurationNetworksComponent } from './admin-configurations/configuration-networks/configuration-networks.component';\nimport { ConfigurationContactsComponent } from './admin-configurations/configuration-contacts/configuration-contacts/configuration-contacts.component';\n\n\n\nconst routes: Routes = [\n {\n path: 'epg',\n component: EpgComponent,\n children: [\n {\n path: 'subscription',\n component: EpgSubscriptionComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin, Role.Microservices] }\n },\n {\n path: 'subscription/:locale/:refresh_token',\n component: RedirectAuthenticationComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin, Role.User] }\n },\n {\n path: 'configuration',\n component: ConfigurationGridComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin] }\n },\n {\n path: 'legal',\n component: LegalComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin, Role.Legal] }\n },\n {\n path: 'ancine',\n component: AncineComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin, Role.Ancine], isAncine: true }\n },\n {\n path: 'networks',\n component: NetworksComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin, Role.User, Role.Localbreaks] }\n },\n {\n path: 'news',\n component: NewsComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin, Role.AdminContent] }\n }\n ]\n },\n {\n\n path: 'monthly',\n component: MonthlyComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin, Role.AdminContent] }\n\n },\n {\n path: 'visual-logs',\n component: VisualLogsComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin, Role.Logs] }\n },\n {\n path: 'upload-networks',\n component: NetworksUploadComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin, Role.AdminContent] }\n },\n {\n path: 'users',\n component: UsersComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.User, Role.SuperAdmin ] }\n },\n {\n path: 'newsletters',\n component: NewslettersComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin, Role.AdminPress, Role.AdminContent] }\n },\n {\n path: 'profile',\n component: ProfileComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.User, Role.SuperAdmin ] }\n },\n {\n path: 'configuration-register',\n component: ConfigurationRegisterComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin ] }\n },\n {\n path: 'admin-configurations',\n component: AdminConfigurationsComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin ] }\n },\n {\n path: 'network-subscription',\n component: NetworkSubscriptionComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin ] }\n\n },\n {\n path: 'configuration-networks',\n component: ConfigurationNetworksComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin ] }\n\n },\n {\n path: 'configuration-contacts',\n component: ConfigurationContactsComponent,\n canActivate: [EpgGuard],\n data: { allowedRoles: [Role.SuperAdmin ] }\n\n }\n\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class EpgRoutingModule { }\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size:14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.mat-raised-button:not([class*=mat-elevation-z]) {\\n color: white;\\n background-color: #125846 !important;\\n height: 28px;\\n line-height: inherit;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2VwZy1zdWJzY3JpcHRpb24vZXBnLXN1YnNjcmlwdGlvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksY0FBYztJQUNkLDhCQUE4QjtJQUM5QixjQUFjO0lBQ2QsV0FBVztJQUNYLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksWUFBWTtJQUNaLG9DQUFvQztJQUNwQyxZQUFZO0lBQ1osb0JBQW9CO0FBQ3hCIiwiZmlsZSI6InNyYy9hcHAvZXBnL2VwZy1zdWJzY3JpcHRpb24vZXBnLXN1YnNjcmlwdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRpdGxlLWZvcm0ge1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6MTRwdDtcbiAgICBjb2xvcjogIzc3NztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZm9ybS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyNTg0NiAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbiJdfQ== */\";","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, DoCheck, OnDestroy, OnInit } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DataNetwork } from 'src/app/shared/model/data-network';\nimport { Feed } from 'src/app/shared/model/feed';\nimport { EpgDataService } from 'src/app/shared/service/epg-data.service';\nimport { FeedService } from 'src/app/shared/service/feed.service';\nimport { UserService } from 'src/app/shared/service/user.service';\nimport { ShowService } from '../../shared/service/show.service';\n\n@Component({\n selector: 'app-epg-subscription',\n templateUrl: './epg-subscription.component.html',\n styleUrls: ['./epg-subscription.component.css']\n})\nexport class EpgSubscriptionComponent implements OnInit, DoCheck, OnDestroy {\n\n feeds: Feed[];\n feedsFiltered: Feed[];\n dataSource = new MatTableDataSource();\n selection: SelectionModel;\n filterAllField: any;\n loadingDatasource = false;\n labelButton: string;\n selectAll: string;\n deselectAll: string;\n\n private unsubscription$: Subject;\n\n constructor(\n private epgDataService: EpgDataService,\n private translateService: TranslateService,\n private userService: UserService,\n private showService: ShowService,\n private feedService: FeedService) {\n\n this.unsubscription$ = new Subject();\n this.translateButtton();\n }\n\n ngOnInit() {\n this.loadingDatasource = true;\n this.feedService\n .getFeeds$()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(feeds => this.mapperFeeds(feeds))\n .add(() => this.loadingDatasource = false);\n }\n\n private mapperFeeds(feeds: Feed[]): void {\n this.feeds = feeds;\n this.feedsFiltered = this.feeds;\n this.dataSource.data = this.feeds;\n this.filterAllField = this.dataSource.filterPredicate;\n this.selection = new SelectionModel(true, this.dataSource.data.filter(row => row.selected));\n this.updateTableVersion();\n this.userService\n .getUser$()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(user => this.updateTableSelected(user.feeds));\n }\n\n private updateTableSelected(feeds: Feed[]): void {\n this.dataSource.data.forEach(row => {\n feeds.forEach(feed => {\n if (feed.alias === row.alias) {\n this.selection.select(row);\n row.selected = true;\n }\n });\n });\n\n this.epgDataService\n .codeNetwork$\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(dataNetwork => this.filterNetwork(dataNetwork));\n }\n\n private filterNetwork(dataNetwork: DataNetwork): void {\n this.dataSource.data = this.feeds;\n\n if (dataNetwork.isClicked) { // Si la NETWORK esta seleccionada\n this.feedsFiltered = this.feeds;\n this.dataSource.filter = null;\n } else {\n this.filterNetworkSetup();\n this.dataSource.filter = dataNetwork.codeNetwork.trim().toLowerCase();\n this.feedsFiltered = this.dataSource.filteredData;\n this.dataSource.data = this.feedsFiltered;\n }\n this.selection = new SelectionModel(true, this.dataSource.data.filter(row => row.selected));\n this.labelButton = this.isAllSelected() ? this.deselectAll : this.selectAll;\n }\n\n ngDoCheck() {\n this.labelButton = this.isAllSelected() ? this.deselectAll : this.selectAll;\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n private updateTableVersion(): void {\n this.dataSource.data.forEach(row => {\n this.showService\n .getLogVersion$(row.code)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(logVersion => row.version = (logVersion != null) ? logVersion.version : 0);\n });\n }\n\n private translateButtton(): void {\n this.translateService\n .stream(['epg.feed.selectAll', 'epg.feed.deselectAll'])\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => {\n this.selectAll = translations['epg.feed.selectAll'];\n this.deselectAll = translations['epg.feed.deselectAll'];\n });\n }\n\n keyupSearch(charSearch: string) {\n this.dataSource.data = this.feedsFiltered;\n this.dataSource.filterPredicate = this.filterAllField;\n this.dataSource.filter = charSearch.trim().toLowerCase();\n }\n\n /**\n * Setea el filtro por defecto, para que solo filtre por el campo 'feed.network'\n */\n private filterNetworkSetup() {\n this.dataSource.filterPredicate = (feed: Feed, networkCode: string) => {\n return feed.network.code === networkCode.trim().toUpperCase();\n };\n }\n\n /** Si el numero de elementos seleccionados coincide con el numero total de filas. */\n private isAllSelected() {\n let allSelected = false;\n if (this.selection && this.dataSource) {\n allSelected = this.selection.selected.length === this.dataSource.data.length;\n }\n return allSelected;\n }\n\n /** Selecciona todas las filas si no estan todas seleccionadas, de lo contrario, limpia la seleccion */\n selectOrDeselectAll() {\n if (this.isAllSelected()) {\n this.selection.clear();\n this.labelButton = this.selectAll;\n this.dataSource\n .data\n .forEach(row => row.selected = false);\n } else {\n this.labelButton = this.deselectAll;\n this.dataSource\n .data\n .forEach(row => {\n this.selection.select(row);\n row.selected = true;\n });\n }\n }\n\n}\n","export default \"::ng-deep .mat-dialog-container {\\n padding: 2px;\\n overflow: hidden;\\n background-color: #eee;\\n}\\n\\n.row {\\n height: 30px;\\n}\\n\\n.mat-dialog-title {\\n color: white;\\n background-color: #007bff;\\n border-top-left-radius: 4px;\\n border-top-right-radius: 4px;\\n font-family: Arial, sans-serif;\\n font-size: 10pt;\\n font-weight: 600;\\n}\\n\\n.dialog-title {\\n margin-left: 20px;\\n}\\n\\n.mat-icon-button {\\n height: 30px;\\n}\\n\\n.mat-icon {\\n margin-top: -15px;\\n}\\n\\n::ng-deep .mat-dialog-content {\\n margin: 20px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2VwZy1zdWJzY3JpcHRpb24vZmVlZC1jb25maXJtL2RpYWxvZy1jb25maXJtL2RpYWxvZy1jb25maXJtLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQiw0QkFBNEI7SUFDNUIsOEJBQThCO0lBQzlCLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQiIsImZpbGUiOiJzcmMvYXBwL2VwZy9lcGctc3Vic2NyaXB0aW9uL2ZlZWQtY29uZmlybS9kaWFsb2ctY29uZmlybS9kaWFsb2ctY29uZmlybS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOjpuZy1kZWVwIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbn1cblxuLnJvdyB7XG4gICAgaGVpZ2h0OiAzMHB4O1xufVxuXG4ubWF0LWRpYWxvZy10aXRsZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTBwdDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uZGlhbG9nLXRpdGxlIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbn1cblxuLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAzMHB4O1xufVxuXG4ubWF0LWljb24ge1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xufVxuXG46Om5nLWRlZXAgLm1hdC1kaWFsb2ctY29udGVudCB7XG4gICAgbWFyZ2luOiAyMHB4O1xufVxuIl19 */\";","import { Component, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Feed } from 'src/app/shared/model/feed';\n\n@Component({\n selector: 'app-dialog-confirm',\n templateUrl: './dialog-confirm.component.html',\n styleUrls: ['./dialog-confirm.component.css']\n})\nexport class DialogConfirmComponent {\n\n constructor(\n public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: Feed[],\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer) {\n\n iconRegistry.addSvgIcon(\n 'close',\n sanitizer.bypassSecurityTrustResourceUrl('../../../../../assets/icons/twotone-close-24px.svg')\n );\n }\n\n onNoClick(): void {\n this.dialogRef.close();\n }\n\n onOkClick(): void {\n this.dialogRef.close(this.data);\n }\n\n}\n","export default \".row {\\n width: 100%;\\n padding-top: 12px;\\n}\\n\\n.button-container {\\n padding-left: 80px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2VwZy1zdWJzY3JpcHRpb24vZmVlZC1jb25maXJtL2ZlZWQtY29uZmlybS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0QiIsImZpbGUiOiJzcmMvYXBwL2VwZy9lcGctc3Vic2NyaXB0aW9uL2ZlZWQtY29uZmlybS9mZWVkLWNvbmZpcm0uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xufSJdfQ== */\";","import { SelectionModel } from '@angular/cdk/collections';\nimport { HttpHeaders, HttpResponse } from '@angular/common/http';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Feed } from 'src/app/shared/model/feed';\nimport { AlertService } from 'src/app/shared/service/alert.service';\nimport { UserService } from 'src/app/shared/service/user.service';\nimport { ShowService } from '../../../shared/service/show.service';\nimport { DialogConfirmComponent } from './dialog-confirm/dialog-confirm.component';\n\n@Component({\n selector: 'app-feed-confirm',\n templateUrl: './feed-confirm.component.html',\n styleUrls: ['./feed-confirm.component.css']\n})\nexport class FeedConfirmComponent implements OnDestroy {\n\n @Input()\n selection: SelectionModel;\n\n loadingConfirm = false;\n loadingDownload = false;\n alertMessageDownload: string;\n\n private unsubscription$: Subject;\n\n constructor(\n public dialog: MatDialog,\n private userService: UserService,\n private showService: ShowService,\n private alertService: AlertService,\n private translateService: TranslateService,\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer) {\n\n iconRegistry.addSvgIcon('download',\n sanitizer.bypassSecurityTrustResourceUrl('../../../../assets/icons/cloud-download-24px.svg')\n );\n iconRegistry.addSvgIcon('confirm',\n sanitizer.bypassSecurityTrustResourceUrl('../../../../assets/icons/done-24px.svg')\n );\n this.unsubscription$ = new Subject();\n this.translateService\n .stream(['epg.feed.alertMessageDownload'])\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.alertMessageDownload = translations['epg.feed.alertMessageDownload']);\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n download(): void {\n this.alertService.clear();\n this.loadingDownload = true;\n this.userService\n .getUser$()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(\n data => this.downloadByFeed(data.feeds),\n () => this.loadingDownload = false);\n }\n\n private downloadByFeed(feeds: Feed[]): void {\n const feedsTotal = feeds.length;\n let feedsCounter = 0;\n feeds.forEach(feed => {\n this.showService\n .download$(feed.alias)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe((response: HttpResponse) => this.downloadFile(response))\n .add(() => this.loadingDownload = (++feedsCounter !== feedsTotal));\n });\n if (feedsTotal === 0) {\n this.alertService.error(this.alertMessageDownload);\n this.loadingDownload = false;\n }\n }\n\n private downloadFile(response: HttpResponse): void {\n if (response.body === null) {\n this.alertService.error(\n this.getContentDispositionValue(response.headers)\n );\n } else {\n const url = window.URL.createObjectURL(response.body);\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.href = url;\n // Nombre del archivo\n a.download = this.getContentDispositionValue(response.headers);\n a.click();\n }\n }\n\n /**\n * Devuelve el valor de la cabecera Content-Disposition\n *\n * @param headers cabeceras http\n */\n private getContentDispositionValue(headers: HttpHeaders): string {\n return headers.get('Content-Disposition')\n .split('=')[1]\n .replace('\"', '')\n .replace('\"', '');\n }\n\n openDialog(): void {\n const settings = {\n height: '210px',\n width: '356px',\n disableClose: true,\n autoFocus: true,\n data: this.selection.selected\n };\n\n this.dialog\n .open(DialogConfirmComponent, settings)\n .afterClosed()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(result => this.acceptDialog(result));\n }\n\n private acceptDialog(result: any): void {\n this.alertService.clear();\n this.loadingConfirm = true;\n if (result) {\n this.userService\n .subscribeToEPG$(result)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(\n data => this.alertService.success(data.message, false, 10),\n error => this.alertService.error(error))\n .add(() => this.loadingConfirm = false);\n } else {\n this.loadingConfirm = false;\n }\n }\n\n}\n","export default \".table-container {\\n margin-top: 15px;\\n}\\n\\n.mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n::ng-deep .mat-header-cell,\\n::ng-deep .mat-sort-header-container {\\n justify-content: center;\\n}\\n\\n::ng-deep .mat-sort-header-arrow {\\n color: gray;\\n opacity: 1;\\n}\\n\\n/** Ubica el checkbox en el centro de la celda */\\n\\n::ng-deep .mat-checkbox-layout {\\n margin-top: 3px;\\n height: 11px;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #5B5B5B;\\n}\\n\\n::ng-deep .mat-paginator .mat-paginator-outer-container .mat-paginator-container {\\n min-height: 30px;\\n height: 30px;\\n background-color: #bbb;\\n}\\n\\n::ng-deep .mat-paginator-page-size {\\n height: 44px !important;\\n}\\n\\n::ng-deep .mat-paginator-range-label {\\n margin: 0 32px -12px 32px !important;\\n}\\n\\n::ng-deep .mat-paginator-navigation-first,\\n::ng-deep .mat-paginator-navigation-previous,\\n::ng-deep .mat-paginator-navigation-next,\\n::ng-deep .mat-paginator-navigation-last {\\n height: 30px !important;\\n}\\n\\n::ng-deep button:focus {\\n outline: none !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2VwZy1zdWJzY3JpcHRpb24vZmVlZC1ncmlkL2ZlZWQtZ3JpZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBOztJQUVJLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxVQUFVO0FBQ2Q7O0FBRUEsZ0RBQWdEOztBQUNoRDtJQUNJLGVBQWU7SUFDZixZQUFZO0FBQ2hCOztBQUVBLHVEQUF1RDs7QUFDdkQ7SUFDSSx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHVCQUF1QjtBQUMzQjs7QUFHQTtJQUNJLG9DQUFvQztBQUN4Qzs7QUFFQTs7OztJQUlJLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1QiIsImZpbGUiOiJzcmMvYXBwL2VwZy9lcGctc3Vic2NyaXB0aW9uL2ZlZWQtZ3JpZC9mZWVkLWdyaWQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50YWJsZS1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG59XG5cbi5tYXQtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZmllbGQtdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtaGVhZGVyLWNlbGwsXG46Om5nLWRlZXAgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG46Om5nLWRlZXAgLm1hdC1zb3J0LWhlYWRlci1hcnJvdyB7XG4gICAgY29sb3I6IGdyYXk7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyoqIFViaWNhIGVsIGNoZWNrYm94IGVuIGVsIGNlbnRybyBkZSBsYSBjZWxkYSAqL1xuOjpuZy1kZWVwIC5tYXQtY2hlY2tib3gtbGF5b3V0IHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xufVxuXG4vKiogU29icmVlc2NyaWJlIGVsIGNvbG9yIHByZWRldGVybWluYWRvIGRlbCBjaGVja2JveCAqL1xuOjpuZy1kZWVwIC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVCNUI1Qjtcbn1cblxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yIC5tYXQtcGFnaW5hdG9yLW91dGVyLWNvbnRhaW5lciAubWF0LXBhZ2luYXRvci1jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmI7XG59XG5cbjo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemUge1xuICAgIGhlaWdodDogNDRweCAhaW1wb3J0YW50O1xufVxuXG5cbjo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1yYW5nZS1sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDMycHggLTEycHggMzJweCAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1maXJzdCxcbjo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLXByZXZpb3VzLFxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbmV4dCxcbjo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLWxhc3Qge1xuICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG4iXX0= */\";","import { Component, OnInit, ViewChild, Input } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { Feed } from 'src/app/shared/model/feed';\n\n@Component({\n selector: 'app-feed-grid',\n templateUrl: './feed-grid.component.html',\n styleUrls: ['./feed-grid.component.css']\n})\nexport class FeedGridComponent implements OnInit {\n\n @Input()\n dataSource = new MatTableDataSource();\n\n displayedColumns: string[];\n\n @Input()\n selection: SelectionModel;\n\n @Input()\n loadingDatasource: boolean;\n\n @ViewChild(MatSort, { static: true })\n sort: MatSort;\n\n @ViewChild(MatPaginator, { static: true })\n paginator: MatPaginator;\n\n constructor() { }\n\n ngOnInit() {\n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator;\n this.displayedColumns = [\n 'code',\n 'name',\n 'version',\n 'selected'\n ];\n }\n\n /** Selecciona/Deselecciona un Feed */\n checkboxLabel(row?: Feed): string {\n const isSelected: boolean = this.selection.isSelected(row);\n this.dataSource\n .data\n .find(feed => feed.id === row.id)\n .selected = isSelected;\n\n if (isSelected) {\n return `deselect row ${row.id}`;\n } else {\n return `select row ${row.id}`;\n }\n }\n\n}\n","export default \".row {\\n width: 100%;\\n}\\n\\n.button-container {\\n padding-left: 30px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2VwZy1zdWJzY3JpcHRpb24vZmVlZC1zZWFyY2gvZmVlZC1zZWFyY2guY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0QiIsImZpbGUiOiJzcmMvYXBwL2VwZy9lcGctc3Vic2NyaXB0aW9uL2ZlZWQtc2VhcmNoL2ZlZWQtc2VhcmNoLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIucm93IHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogMzBweDtcbn0iXX0= */\";","import { Component, Output, EventEmitter, Input } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-feed-search',\n templateUrl: './feed-search.component.html',\n styleUrls: ['./feed-search.component.css']\n})\nexport class FeedSearchComponent {\n\n @Output()\n public keyupSearch = new EventEmitter();\n\n @Output()\n public selectOrDeselectAll = new EventEmitter();\n\n @Input()\n labelButton: string;\n\n constructor(\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer) {\n\n iconRegistry.addSvgIcon(\n 'search',\n sanitizer.bypassSecurityTrustResourceUrl('../../../../assets/icons/twotone-search-24px.svg')\n );\n }\n\n}\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { map, takeUntil } from 'rxjs/operators';\nimport { DataNetwork } from '../shared/model/data-network';\nimport { Network } from '../shared/model/network';\nimport { EpgDataService } from '../shared/service/epg-data.service';\nimport { NetworkService } from '../shared/service/network.service';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-epg',\n templateUrl: './epg.component.html'\n})\nexport class EpgComponent implements OnInit, OnDestroy {\n\n private dataNetwork: DataNetwork;\n private unsubscription$: Subject;\n\n networks: Network[];\n loadingNetworks = false;\n networks$: Observable;\n style: any = {};\n\n activateStyle: any = {\n opacity: '1',\n filter: 'grayscale(0%)',\n clicked: false\n };\n deactivateStyle: any = {\n opacity: '.5',\n filter: 'grayscale(100%)',\n clicked: false\n };\n //network code para pasar a ancine\n \n selectedNetwork$ = new Subject();\n selectedNetworkCode$ = this.selectedNetwork$.pipe(map(n => n.code));//new Subject();\n private showingAncine: boolean;\n\n constructor(\n private networkService: NetworkService,\n private epgDataService: EpgDataService,\n private route: ActivatedRoute\n ) {\n\n this.dataNetwork = new DataNetwork();\n this.unsubscription$ = new Subject();\n }\n\n ngOnInit() {\n this.loadingNetworks = true;\n \n this.route.url.subscribe(() =>\n {\n this.loadNetworks();\n })\n\n this.loadNetworks();\n }\n\n private loadNetworks(){\n let nets: Observable;\n\n let dataUrl = this.route.snapshot.firstChild.data \n let isAncine = dataUrl?.isAncine ?? false;\n if(this.loadingNetworks === false && this.showingAncine!=undefined){\n console.log(\"Networks loaded, ShowingAncine is defined\")\n if( this.showingAncine===isAncine){\n console.log(this.showingAncine,isAncine);\n return;\n }\n this.networks = null;\n this.loadingNetworks = true;\n }\n\n if( isAncine === true){\n nets = this.networkService\n .getNetworksAncine$()\n this.showingAncine=true;\n }\n else\n {\n nets = this.networkService\n .getNetworks$()\n this.showingAncine=false;\n }\n \n nets.pipe(takeUntil(this.unsubscription$))\n .subscribe(networks => this.mapperNetworks(networks))\n .add(() => this.loadingNetworks = false);\n }\n\n private mapperNetworks(networks: Network[]): void {\n this.networks = networks;\n this.networks.forEach(network => this.style[network.code] = { ...this.deactivateStyle });\n this.networks$ = of(this.networks);\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n /**\n * Filtra por Network\n *\n * @param codeNetwork Codigo de Network\n */\n clickNetwork(network: Network) {\n let codeNetwork: string = network.code;\n this.dataNetwork.codeNetwork = codeNetwork;\n this.dataNetwork.isClicked = this.style[codeNetwork].clicked;\n this.epgDataService.codeNetworkSubject$.next(this.dataNetwork);\n //para pasar el network code a ancine\n this.selectedNetwork$.next(network);\n\n if (this.style[codeNetwork].clicked) { // Si la NETWORK esta seleccionada\n this.style[codeNetwork] = {...this.deactivateStyle};\n } else {\n this.networks.forEach(network => this.style[network.code] = {...this.deactivateStyle});\n this.style[codeNetwork] = {...this.activateStyle};\n this.style[codeNetwork].clicked = true;\n }\n }\n\n}\n","/** Modulos del Framework */\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatNativeDateModule } from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { DragDropModule } from '@angular/cdk/drag-drop';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { QuillModule } from 'ngx-quill';\n\n/** Componentes propios */\nimport { EpgSubscriptionComponent } from './epg-subscription/epg-subscription.component';\nimport { NetworkListComponent } from '../shared/network-list/network-list.component';\nimport { FeedSearchComponent } from './epg-subscription/feed-search/feed-search.component';\nimport { FeedGridComponent } from './epg-subscription/feed-grid/feed-grid.component';\nimport { FeedConfirmComponent } from './epg-subscription/feed-confirm/feed-confirm.component';\nimport { DialogConfirmComponent } from './epg-subscription/feed-confirm/dialog-confirm/dialog-confirm.component';\nimport { ConfigurationGridComponent } from './configuration-grid/configuration-grid.component';\nimport { FieldSelectorComponent } from './configuration-grid/field-selector/field-selector.component';\nimport { ConfigConfirmComponent } from './configuration-grid/config-confirm/config-confirm.component';\nimport { EpgComponent } from './epg.component';\nimport { EpgRoutingModule } from './epg-routing.module';\nimport { ConfigFeedGridComponent } from './configuration-grid/config-feed-grid/config-feed-grid.component';\nimport { DialogConfigComponent } from './configuration-grid/config-confirm/dialog-config/dialog-config.component';\nimport { LegalComponent } from './legal/legal.component';\nimport { LegalFeedGridComponent } from './legal/legal-feed-grid/legal-feed-grid.component';\nimport { FeedDownloadComponent } from './legal/feed-download/feed-download.component';\nimport { LegalFeedSearchComponent } from './legal/legal-feed-search/legal-feed-search.component';\nimport { FilterReportComponent } from './legal/filter-report/filter-report.component';\nimport { ModuleSelectComponent } from './configuration-grid/module-select/module-select.component';\nimport { MonthlyComponent } from './monthly-grids/monthly/monthly.component';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatMomentDateModule, MomentDateModule } from '@angular/material-moment-adapter';\nimport { VisualLogsComponent } from './visual-logs/visual-logs.component';\nimport { MatCardModule } from '@angular/material/card';\nimport { AncineComponent } from './ancine/ancine.component';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatChipsModule } from '@angular/material/chips';\nimport {MatExpansionModule} from '@angular/material/expansion';\nimport { AncineGridComponent } from './ancine/ancine-feed-grid/ancine-feed-grid.component';\nimport { AncineUtilsDialogsComponentComponent } from './ancine/ancine-feed-grid/utils-dialogs/ancine-utils-dialogs-component/ancine-utils-dialogs-component.component';\nimport { MonthlyUtilsDialogsComponentComponentComponent } from './monthly-grids/monthly/utils-dialog/monthly-utils-dialogs-component-component/monthly-utils-dialogs-component-component.component';\nimport { NetworksComponent } from './networks/networks/networks.component';\nimport { NetworkUtilsDialogComponent } from './networks/networks/utils-dialog/network-utils-dialog/network-utils-dialog.component';\nimport { NetworksUploadComponent } from './networks-upload/networks-upload.component';\nimport { WebsitesUtilsDialogComponent } from './networks/networks/utils-dialog/websites-utils-dialog/websites-utils-dialog.component';\nimport { FeedsUtilsDialogComponent } from './networks/networks/utils-dialog/feeds-utils-dialog/feeds-utils-dialog.component';\nimport { UsersComponent } from './users/users.component';\nimport { UsersDialogComponent } from './users/users-dialog/users-dialog.component';\nimport { MatAutocomplete, MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { NetworksUploadUtilsDialogComponent } from './networks-upload/utils-dialog/networks-upload-utils-dialog/networks-upload-utils-dialog.component';\nimport { NewsComponent } from './news/news/news.component';\nimport { NewsDialogsComponent } from './news/news/utils-dialog/news-dialogs/news-dialogs.component';\nimport { NewslettersComponent } from './newsletters/newsletters.component';\nimport { NewsletterEditorComponent } from './newsletters/newsletter-editor/newsletter-editor.component';\nimport { NewsletterSentTableComponent } from './newsletters/newsletter-sent-table/newsletter-sent-table.component';\nimport { NewsletterDraftTableComponent } from './newsletters/newsletter-draft-table/newsletter-draft-table.component';\nimport { NetworkSubscriptionComponent } from './network-subscription/network-subscription.component';\nimport { ProfileComponent } from './profile/profile.component';\nimport { AccountComponent } from './profile/account/account.component';\nimport { PersonalDataComponent } from './profile/personal-data/personal-data.component';\nimport { ChangePasswordComponent } from './profile/change-password/change-password.component';\nimport { LanguageComponent } from './admin-configurations/configuration-register/language/language.component';\nimport { ConfigurationRegisterComponent } from './admin-configurations/configuration-register/configuration-register.component';\nimport { LanguageDialogComponent } from './admin-configurations/configuration-register/language/language-dialog/language-dialog.component';\nimport { CountryComponent } from './admin-configurations/configuration-register/country/country.component';\nimport { CountryDialogComponent } from './admin-configurations/configuration-register/country/country-dialog/country-dialog.component';\nimport { CategoryComponent } from './admin-configurations/configuration-register/category/category.component';\nimport { CategoryDialogComponent } from './admin-configurations/configuration-register/category/category-dialog/category-dialog.component';\nimport { AdminConfigurationsComponent } from './admin-configurations/admin-configurations.component';\nimport { ConfigurationNetworksComponent } from './admin-configurations/configuration-networks/configuration-networks.component';\nimport { CreateNetworkComponent } from './admin-configurations/configuration-networks/create-network/create-network.component';\nimport { EditNetworkComponent } from './admin-configurations/configuration-networks/edit-network/edit-network.component';\nimport { ConfigurationContactsComponent } from './admin-configurations/configuration-contacts/configuration-contacts/configuration-contacts.component';\nimport { ContactDialogComponent } from './admin-configurations/configuration-contacts/configuration-contacts/contact-dialog/contact-dialog.component';\n\nimport { DeleteNetworkDialogComponent } from './admin-configurations/configuration-networks/edit-network/delete-network-dialog/delete-network-dialog.component';\n\n@NgModule({\n declarations: [\n EpgSubscriptionComponent,\n NetworkListComponent,\n FeedSearchComponent,\n FeedGridComponent,\n FeedConfirmComponent,\n DialogConfirmComponent,\n ConfigurationGridComponent,\n FieldSelectorComponent,\n ConfigConfirmComponent,\n EpgComponent,\n ConfigFeedGridComponent,\n DialogConfigComponent,\n LegalComponent,\n LegalFeedGridComponent,\n FeedDownloadComponent,\n LegalFeedSearchComponent,\n FilterReportComponent,\n DialogConfirmComponent,\n NewsComponent,\n MonthlyComponent,\n ModuleSelectComponent,\n VisualLogsComponent,\n AncineComponent,\n AncineGridComponent,\n AncineUtilsDialogsComponentComponent,\n MonthlyUtilsDialogsComponentComponentComponent,\n NetworksComponent,\n NetworkUtilsDialogComponent,\n NetworksUploadComponent,\n WebsitesUtilsDialogComponent,\n FeedsUtilsDialogComponent,\n UsersComponent,\n UsersDialogComponent,\n NetworksUploadUtilsDialogComponent,\n NewsDialogsComponent,\n NewslettersComponent,\n NewsletterEditorComponent,\n NewsletterSentTableComponent,\n NewsletterDraftTableComponent,\n NetworkSubscriptionComponent,\n NetworkSubscriptionComponent,\n ProfileComponent,\n AccountComponent,\n PersonalDataComponent,\n ChangePasswordComponent,\n ConfigurationRegisterComponent,\n LanguageComponent,\n LanguageDialogComponent,\n CountryComponent,\n CountryDialogComponent,\n CategoryComponent,\n CategoryDialogComponent,\n AdminConfigurationsComponent,\n ConfigurationNetworksComponent,\n CreateNetworkComponent,\n EditNetworkComponent,\n ConfigurationContactsComponent,\n ContactDialogComponent,\n DeleteNetworkDialogComponent\n ],\n entryComponents: [\n DialogConfirmComponent,\n DialogConfigComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule,\n MatButtonModule,\n MatAutocompleteModule,\n MatCheckboxModule,\n MatTableModule,\n MatSortModule,\n MatPaginatorModule,\n MatIconModule,\n MatTooltipModule,\n MatDialogModule,\n MatListModule,\n MatSlideToggleModule,\n MatProgressBarModule,\n MatSelectModule,\n MatDatepickerModule,\n MatNativeDateModule,\n DragDropModule,\n BrowserAnimationsModule,\n TranslateModule,\n MatSnackBarModule,\n MatChipsModule,\n MomentDateModule,\n EpgRoutingModule,\n MatCardModule,\n MatIconModule,\n MatMomentDateModule,\n MatTabsModule,\n MatExpansionModule,\n QuillModule.forRoot()\n ]\n})\nexport class EpgModule { }\n","export default \".button-container {\\n text-align: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2xlZ2FsL2ZlZWQtZG93bmxvYWQvZmVlZC1kb3dubG9hZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksa0JBQWtCO0FBQ3RCIiwiZmlsZSI6InNyYy9hcHAvZXBnL2xlZ2FsL2ZlZWQtZG93bmxvYWQvZmVlZC1kb3dubG9hZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn0iXX0= */\";","import { HttpHeaders, HttpResponse } from '@angular/common/http';\nimport { Component, Input, OnDestroy } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Feed } from 'src/app/shared/model/feed';\nimport { AlertService } from 'src/app/shared/service/alert.service';\nimport { ShowService } from 'src/app/shared/service/show.service';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Module } from 'src/app/shared/model/module';\n\n@Component({\n selector: 'app-feed-download',\n templateUrl: './feed-download.component.html',\n styleUrls: ['./feed-download.component.css']\n})\nexport class FeedDownloadComponent implements OnDestroy {\n\n @Input()\n reportType: Module;\n\n @Input()\n selection: SelectionModel;\n\n @Input()\n dateFrom: Date;\n\n @Input()\n dateTo: Date;\n\n validateReportMessage: string;\n validateRangeMessage: string;\n alertMessageDownload: string;\n\n loadingDownload = false;\n\n private unsubscription$: Subject;\n\n constructor(\n private showService: ShowService,\n private alertService: AlertService,\n private translateService: TranslateService,\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer) {\n\n iconRegistry.addSvgIcon('download',\n sanitizer.bypassSecurityTrustResourceUrl('../../../../assets/icons/cloud-download-24px.svg')\n );\n this.unsubscription$ = new Subject();\n this.translations();\n }\n\n private translations(): void {\n const keys = [\n 'epg.legal.validateReportMessage',\n 'epg.legal.validateRangeMessage',\n 'epg.legal.alertMessageDownload'\n ];\n this.translateService\n .stream(keys)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.mapperToMessages(translations));\n }\n\n private mapperToMessages(translations: any): void {\n this.validateReportMessage = translations['epg.legal.validateReportMessage'];\n this.validateRangeMessage = translations['epg.legal.validateRangeMessage'];\n this.alertMessageDownload = translations['epg.legal.alertMessageDownload'];\n }\n\n ngOnDestroy() {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n download(): void {\n this.alertService.clear();\n if (!this.validateParams()) {\n return;\n }\n\n this.loadingDownload = true;\n const selecteds = this.selection.selected;\n const feedsTotal = selecteds.length;\n let feedsCounter = 0;\n\n selecteds.forEach(feed => {\n this.showService\n .legalDownload$(\n this.reportType.id,\n feed.alias,\n this.dateFrom,\n this.dateTo)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe((response: HttpResponse) => this.downloadFile(response))\n .add(() => this.loadingDownload = (++feedsCounter !== feedsTotal));\n });\n if (feedsTotal === 0) {\n this.alertService.error(this.alertMessageDownload);\n this.loadingDownload = false;\n }\n }\n\n private validateParams(): boolean {\n if (!this.reportType) {\n this.alertService.error(this.validateReportMessage);\n return false;\n }\n if (!this.dateFrom || !this.dateTo) {\n this.alertService.error(this.validateRangeMessage);\n return false;\n }\n return true;\n }\n\n private downloadFile(response: HttpResponse): void {\n if (response.body === null) {\n this.alertService.error(\n this.getContentDispositionValue(response.headers)\n );\n } else {\n const url = window.URL.createObjectURL(response.body);\n const a = document.createElement('a');\n a.setAttribute('style', 'display:none;');\n document.body.appendChild(a);\n a.href = url;\n // Nombre del archivo\n a.download = this.getContentDispositionValue(response.headers);\n a.click();\n }\n }\n\n /**\n * Devuelve el valor de la cabecera Content-Disposition\n *\n * @param headers cabeceras http\n */\n private getContentDispositionValue(headers: HttpHeaders): string {\n return headers.get('Content-Disposition')\n .split('=')[1]\n .replace('\"', '')\n .replace('\"', '');\n }\n\n}\n","export default \".filter-report-container {\\n text-align: center;\\n margin-top: 35px;\\n}\\n\\n.filter-container {\\n max-height: 420px;\\n width: 300px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.mat-select {\\n font-size: 13px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2xlZ2FsL2ZpbHRlci1yZXBvcnQvZmlsdGVyLXJlcG9ydC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksa0JBQWtCO0lBQ2xCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGVBQWU7QUFDbkIiLCJmaWxlIjoic3JjL2FwcC9lcGcvbGVnYWwvZmlsdGVyLXJlcG9ydC9maWx0ZXItcmVwb3J0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZmlsdGVyLXJlcG9ydC1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xufVxuXG4uZmlsdGVyLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogNDIwcHg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDElO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbn1cblxuLm1hdC1zZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbn1cbiJdfQ== */\";","import { Component, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { FormControl, Validators, FormGroup } from '@angular/forms';\nimport { ModuleService } from 'src/app/shared/service/module.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Module } from 'src/app/shared/model/module';\nimport { MatSelectChange } from '@angular/material/select';\n\n\n@Component({\n selector: 'app-filter-report',\n templateUrl: './filter-report.component.html',\n styleUrls: ['./filter-report.component.css']\n})\nexport class FilterReportComponent implements OnInit, OnDestroy {\n\n @Output()\n public reportTypeEmit = new EventEmitter();\n\n @Output()\n public dateFromEmit = new EventEmitter();\n\n @Output()\n public dateToEmit = new EventEmitter();\n\n private readonly MIN_DATE_IN_DAYS = new Date().getDate() - 30;\n private readonly MAX_DATE_IN_DAYS = new Date().getDate() + 60;\n private readonly START_LEGAL_ID = 'LEG';\n\n reportTypes: Module[];\n\n minDate = new Date();\n maxDate = new Date();\n reportTypeCtrl = new FormControl('', Validators.required);\n range = new FormGroup({\n start: new FormControl('', Validators.required),\n end: new FormControl('', Validators.required)\n });\n private unsubscription$ = new Subject();\n\n constructor(private moduleService: ModuleService) {}\n\n ngOnInit(): void {\n this.minDate.setDate(this.MIN_DATE_IN_DAYS);\n this.maxDate.setDate(this.MAX_DATE_IN_DAYS);\n this.loadModules();\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n private loadModules(): void {\n this.moduleService\n .getModules$()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(modules => this.reportTypes = modules.filter(module => module.id.startsWith(this.START_LEGAL_ID)));\n }\n\n onReportTypeChange(event: MatSelectChange) {\n this.reportTypeEmit.emit(event.value);\n }\n\n addEventFrom(event: MatDatepickerInputEvent) {\n this.dateFromEmit.emit(event.value);\n }\n\n addEventTo(event: MatDatepickerInputEvent) {\n this.dateToEmit.emit(event.value);\n }\n\n}\n","export default \".table-container {\\n margin-top: 15px;\\n}\\n\\n.mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n::ng-deep .mat-header-cell,\\n::ng-deep .mat-sort-header-container {\\n justify-content: center;\\n}\\n\\n::ng-deep .mat-sort-header-arrow {\\n color: gray;\\n opacity: 1;\\n}\\n\\n/** Ubica el checkbox en el centro de la celda */\\n\\n::ng-deep .mat-checkbox-layout {\\n margin-top: 3px;\\n height: 11px;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #5B5B5B;\\n}\\n\\n::ng-deep .mat-paginator .mat-paginator-outer-container .mat-paginator-container {\\n min-height: 30px;\\n height: 30px;\\n background-color: #bbb;\\n}\\n\\n::ng-deep .mat-paginator-page-size {\\n height: 44px !important;\\n}\\n\\n::ng-deep .mat-paginator-range-label {\\n margin: 0 32px -12px 32px !important;\\n}\\n\\n::ng-deep .mat-paginator-navigation-first,\\n::ng-deep .mat-paginator-navigation-previous,\\n::ng-deep .mat-paginator-navigation-next,\\n::ng-deep .mat-paginator-navigation-last {\\n height: 30px !important;\\n}\\n\\n::ng-deep button:focus {\\n outline: none !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2xlZ2FsL2xlZ2FsLWZlZWQtZ3JpZC9sZWdhbC1mZWVkLWdyaWQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTs7SUFFSSx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsVUFBVTtBQUNkOztBQUVBLGdEQUFnRDs7QUFDaEQ7SUFDSSxlQUFlO0lBQ2YsWUFBWTtBQUNoQjs7QUFFQSx1REFBdUQ7O0FBQ3ZEO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSx1QkFBdUI7QUFDM0I7O0FBR0E7SUFDSSxvQ0FBb0M7QUFDeEM7O0FBRUE7Ozs7SUFJSSx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC9lcGcvbGVnYWwvbGVnYWwtZmVlZC1ncmlkL2xlZ2FsLWZlZWQtZ3JpZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLm1hdC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5maWVsZC10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xufVxuXG46Om5nLWRlZXAgLm1hdC1oZWFkZXItY2VsbCxcbjo6bmctZGVlcCAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbjo6bmctZGVlcCAubWF0LXNvcnQtaGVhZGVyLWFycm93IHtcbiAgICBjb2xvcjogZ3JheTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vKiogVWJpY2EgZWwgY2hlY2tib3ggZW4gZWwgY2VudHJvIGRlIGxhIGNlbGRhICovXG46Om5nLWRlZXAgLm1hdC1jaGVja2JveC1sYXlvdXQge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgICBoZWlnaHQ6IDExcHg7XG59XG5cbi8qKiBTb2JyZWVzY3JpYmUgZWwgY29sb3IgcHJlZGV0ZXJtaW5hZG8gZGVsIGNoZWNrYm94ICovXG46Om5nLWRlZXAgLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNUI1QjVCO1xufVxuXG46Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3IgLm1hdC1wYWdpbmF0b3Itb3V0ZXItY29udGFpbmVyIC5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYjtcbn1cblxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSB7XG4gICAgaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XG59XG5cblxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLXJhbmdlLWxhYmVsIHtcbiAgICBtYXJnaW46IDAgMzJweCAtMTJweCAzMnB4ICFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLWZpcnN0LFxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tcHJldmlvdXMsXG46Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1uZXh0LFxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbGFzdCB7XG4gICAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCBidXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cbiJdfQ== */\";","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Feed } from 'src/app/shared/model/feed';\n\n@Component({\n selector: 'app-legal-feed-grid',\n templateUrl: './legal-feed-grid.component.html',\n styleUrls: ['./legal-feed-grid.component.css']\n})\nexport class LegalFeedGridComponent implements OnInit {\n\n @Input()\n dataSource = new MatTableDataSource();\n\n displayedColumns: string[];\n\n @Input()\n selection: SelectionModel;\n\n @Input()\n loadingDatasource: boolean;\n\n @ViewChild(MatSort, { static: true })\n sort: MatSort;\n\n @ViewChild(MatPaginator, { static: true })\n paginator: MatPaginator;\n\n constructor() { }\n\n ngOnInit() {\n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator;\n this.displayedColumns = [\n 'code',\n 'name',\n 'selected'\n ];\n }\n\n /** Selecciona/Deselecciona un Feed */\n checkboxLabel(row?: Feed): string {\n const isSelected: boolean = this.selection.isSelected(row);\n this.dataSource\n .data\n .find(feed => feed.id === row.id)\n .selected = isSelected;\n\n if (isSelected) {\n return `deselect row ${row.id}`;\n } else {\n return `select row ${row.id}`;\n }\n }\n\n}\n","export default \".row {\\n width: 100%;\\n}\\n\\n.button-container {\\n padding-left: 30px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2xlZ2FsL2xlZ2FsLWZlZWQtc2VhcmNoL2xlZ2FsLWZlZWQtc2VhcmNoLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEIiLCJmaWxlIjoic3JjL2FwcC9lcGcvbGVnYWwvbGVnYWwtZmVlZC1zZWFyY2gvbGVnYWwtZmVlZC1zZWFyY2guY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xufSJdfQ== */\";","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-legal-feed-search',\n templateUrl: './legal-feed-search.component.html',\n styleUrls: ['./legal-feed-search.component.css']\n})\nexport class LegalFeedSearchComponent {\n\n @Output()\n public keyupSearch = new EventEmitter();\n\n @Output()\n public selectOrDeselectAll = new EventEmitter();\n\n @Input()\n labelButton: string;\n\n constructor(\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer) {\n\n iconRegistry.addSvgIcon(\n 'search',\n sanitizer.bypassSecurityTrustResourceUrl('../../../../assets/icons/twotone-search-24px.svg')\n );\n }\n\n}\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL2xlZ2FsL2xlZ2FsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxjQUFjO0lBQ2QsOEJBQThCO0lBQzlCLGVBQWU7SUFDZixXQUFXO0lBQ1gsV0FBVztBQUNmOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0QixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2YiLCJmaWxlIjoic3JjL2FwcC9lcGcvbGVnYWwvbGVnYWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50aXRsZS1mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB0O1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5mb3JtLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufSJdfQ== */\";","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, DoCheck, OnDestroy, OnInit } from '@angular/core';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { DataNetwork } from 'src/app/shared/model/data-network';\nimport { Feed } from 'src/app/shared/model/feed';\nimport { EpgDataService } from 'src/app/shared/service/epg-data.service';\nimport { FeedService } from 'src/app/shared/service/feed.service';\nimport { Module } from 'src/app/shared/model/module';\n\n@Component({\n selector: 'app-legal',\n templateUrl: './legal.component.html',\n styleUrls: ['./legal.component.css']\n})\nexport class LegalComponent implements OnInit, DoCheck, OnDestroy {\n\n feeds: Feed[];\n feedsFiltered: Feed[];\n dataSource = new MatTableDataSource();\n selection: SelectionModel;\n filterAllField: any;\n loadingDatasource = false;\n labelButton: string;\n selectAll: string;\n deselectAll: string;\n reportType: Module;\n dateFrom: Date;\n dateTo: Date;\n\n private unsubscription$: Subject;\n\n constructor(\n private epgDataService: EpgDataService,\n private translateService: TranslateService,\n private feedService: FeedService) {\n\n this.unsubscription$ = new Subject();\n this.translateButtton();\n }\n\n ngOnInit() {\n this.loadingDatasource = true;\n this.feedService\n .getFeeds$()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(feeds => this.mapperFeeds(feeds))\n .add(() => this.loadingDatasource = false);\n }\n\n private mapperFeeds(feeds: Feed[]): void {\n this.feeds = feeds;\n this.feedsFiltered = this.feeds;\n this.dataSource.data = this.feeds;\n this.filterAllField = this.dataSource.filterPredicate;\n this.selection = new SelectionModel(true, this.dataSource.data.filter(row => row.selected));\n this.epgDataService\n .codeNetwork$\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(dataNetwork => this.filterNetwork(dataNetwork));\n }\n\n private filterNetwork(dataNetwork: DataNetwork): void {\n this.dataSource.data = this.feeds;\n\n if (dataNetwork.isClicked) {\n this.feedsFiltered = this.feeds;\n this.dataSource.filter = null;\n } else {\n this.filterNetworkSetup();\n this.dataSource.filter = dataNetwork.codeNetwork.trim().toLowerCase();\n this.feedsFiltered = this.dataSource.filteredData;\n this.dataSource.data = this.feedsFiltered;\n }\n this.selection = new SelectionModel(true, this.dataSource.data.filter(row => row.selected));\n this.labelButton = this.isAllSelected() ? this.deselectAll : this.selectAll;\n }\n\n ngDoCheck() {\n this.labelButton = this.isAllSelected() ? this.deselectAll : this.selectAll;\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n private translateButtton(): void {\n this.translateService\n .stream(['epg.feed.selectAll', 'epg.feed.deselectAll'])\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => {\n this.selectAll = translations['epg.feed.selectAll'];\n this.deselectAll = translations['epg.feed.deselectAll'];\n });\n }\n\n keyupSearch(charSearch: string) {\n this.dataSource.data = this.feedsFiltered;\n this.dataSource.filterPredicate = this.filterAllField;\n this.dataSource.filter = charSearch.trim().toLowerCase();\n }\n\n /**\n * Setea el filtro por defecto, para que solo filtre por el campo 'feed.network'\n */\n private filterNetworkSetup() {\n this.dataSource.filterPredicate = (feed: Feed, networkCode: string) => {\n return feed.network.code === networkCode.trim().toUpperCase();\n };\n }\n\n /** Si el numero de elementos seleccionados coincide con el numero total de filas. */\n private isAllSelected() {\n let allSelected = false;\n if (this.selection && this.dataSource) {\n allSelected = this.selection.selected.length === this.dataSource.data.length;\n }\n return allSelected;\n }\n\n /** Selecciona todas las filas si no estan todas seleccionadas, de lo contrario, limpia la seleccion */\n selectOrDeselectAll() {\n if (this.isAllSelected()) {\n this.selection.clear();\n this.labelButton = this.selectAll;\n this.dataSource\n .data\n .forEach(row => row.selected = false);\n } else {\n this.labelButton = this.deselectAll;\n this.dataSource\n .data\n .forEach(row => {\n this.selection.select(row);\n row.selected = true;\n });\n }\n }\n\n reportTypeEmit(reportType: Module): void {\n this.reportType = reportType;\n }\n\n dateFromEmit(dateFrom: Date): void {\n this.dateFrom = dateFrom;\n }\n\n dateToEmit(dateTo: Date): void {\n this.dateTo = dateTo;\n }\n\n}\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.module-select-container {\\n text-align: center;\\n margin-bottom: 15px;\\n}\\n\\n.select-container {\\n max-height: 420px;\\n width: 300px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.mat-select {\\n text-align: center;\\n font-size: 13px;\\n font-weight: bold;\\n}\\n\\n.row {\\n width: 100%;\\n padding-top: 12px;\\n}\\n\\n.button-container {\\n padding-left: 80px;\\n}\\n\\n.buttons-dyp {\\n justify-content: center;\\n}\\n\\n.toggle-move {\\n padding-left: 250px;\\n}\\n\\n.example-month-picker .mat-calendar-period-button {\\n pointer-events: none;\\n}\\n\\n.example-month-picker .mat-calendar-arrow {\\n display: none;\\n}\\n\\n.filtros-container {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-around;\\n}\\n\\n::ng-deep .error-snackbar {\\n color: white;\\n background-color: red;\\n}\\n\\n::ng-deep .error-snackbar .mat-simple-snackbar-action {\\n color: white;\\n background-color: red;\\n}\\n\\n::ng-deep .SuccessfulSnackbar {\\n background-color: #038566 !important;\\n color: white !important;\\n}\\n\\n::ng-deep .SuccessfulSnackbar .mat-simple-snackbar-action {\\n color: white !important;\\n}\\n\\n.selector-container {\\n text-align: center;\\n margin-top: 35px;\\n}\\n\\n.field-selector-container {\\n max-height: 420px;\\n width: 440px;\\n margin-bottom: 3%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.lista-archivos {\\n min-height: 140px;\\n max-height: 140px;\\n overflow-y: auto;\\n}\\n\\n.form-wrapper-interior {\\n min-height: 150px;\\n max-height: 150px;\\n}\\n\\n.file-input {\\n display: none;\\n}\\n\\n.error-message {\\n text-align: left;\\n}\\n\\n.cancel-button {\\n color: #355CFE;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL21vbnRobHktZ3JpZHMvbW9udGhseS9tb250aGx5LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BO0VBQ0ksY0FBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0FBTko7O0FBU0E7RUFDSSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtBQU5KOztBQVNBO0VBQ0ksV0FBQTtBQU5KOztBQVNBO0VBQ0ksa0JBQUE7RUFDQSxtQkFBQTtBQU5KOztBQVNBO0VBQ0ksaUJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtBQU5KOztBQVNBO0VBQ0ksa0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7QUFOSjs7QUFTQTtFQUNJLFdBQUE7RUFDQSxpQkFBQTtBQU5KOztBQVNBO0VBQ0ksa0JBQUE7QUFOSjs7QUFTQTtFQUNJLHVCQUFBO0FBTko7O0FBU0E7RUFDSSxtQkFBQTtBQU5KOztBQVNBO0VBRUksb0JBQUE7QUFQSjs7QUFVQTtFQUVJLGFBQUE7QUFSSjs7QUFXQTtFQUNJLGFBQUE7RUFDQSxtQkFBQTtFQUNBLDZCQUFBO0FBUko7O0FBWUE7RUFDSSxZQUFBO0VBQ0EscUJBQUE7QUFUSjs7QUFZQTtFQUNJLFlBQUE7RUFDQSxxQkFBQTtBQVRKOztBQVlBO0VBQ0ksb0NBQUE7RUFDQSx1QkFBQTtBQVRKOztBQVlBO0VBQ0ksdUJBQUE7QUFUSjs7QUFZQTtFQUNJLGtCQUFBO0VBQ0EsZ0JBQUE7QUFUSjs7QUFZQTtFQUNJLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7QUFUSjs7QUFZQTtFQUNJLGlCQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtBQVRKOztBQVlBO0VBQ0ksaUJBQUE7RUFDQSxpQkFBQTtBQVRKOztBQVlBO0VBQ0ksYUFBQTtBQVRKOztBQVlBO0VBQ0ksZ0JBQUE7QUFUSjs7QUFZQTtFQUNJLGNBbklXO0FBMEhmIiwiZmlsZSI6InNyYy9hcHAvZXBnL21vbnRobHktZ3JpZHMvbW9udGhseS9tb250aGx5LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLXByaW1hcnk6ICM1QTYzRDQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAjM0Y0OENDO1xuJGNvbG9yLXRyZXM6ICNEN0Q3RDc7XG4kY29sb3ItY3VhdHJvOiAjMzU1Q0ZFO1xuJGNvbG9yLWNpbmNvOiAjQ0VDRUNFO1xuJGNvbG9yLXNlaXM6ICNiOWI4Yjg7XG5cbi50aXRsZS1mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB0O1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5mb3JtLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubW9kdWxlLXNlbGVjdC1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogNDIwcHg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDElO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbn1cblxuLm1hdC1zZWxlY3Qge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xufVxuXG4uYnV0dG9ucy1keXAge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4udG9nZ2xlLW1vdmUge1xuICAgIHBhZGRpbmctbGVmdDogMjUwcHg7XG59XG5cbi5leGFtcGxlLW1vbnRoLXBpY2tlciAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgIFxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIFxuLmV4YW1wbGUtbW9udGgtcGlja2VyIC5tYXQtY2FsZW5kYXItYXJyb3cge1xuXG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmZpbHRyb3MtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIH1cblxuXG46Om5nLWRlZXAgLmVycm9yLXNuYWNrYmFyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xufVxuXG46Om5nLWRlZXAgLmVycm9yLXNuYWNrYmFyIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbn1cblxuOjpuZy1kZWVwIC5TdWNjZXNzZnVsU25hY2tiYXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAzODU2NiFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHdoaXRlIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwIC5TdWNjZXNzZnVsU25hY2tiYXIgLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcbiAgICBjb2xvcjogd2hpdGUhaW1wb3J0YW50O1xufVxuXG4uc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzVweDtcbn1cblxuLmZpZWxkLXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogNDIwcHg7XG4gICAgd2lkdGg6IDQ0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbn1cblxuLmxpc3RhLWFyY2hpdm9ze1xuICAgIG1pbi1oZWlnaHQ6IDE0MHB4O1xuICAgIG1heC1oZWlnaHQ6IDE0MHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi5mb3JtLXdyYXBwZXItaW50ZXJpb3J7XG4gICAgbWluLWhlaWdodDogMTUwcHg7XG4gICAgbWF4LWhlaWdodDogMTUwcHg7XG59XG5cbi5maWxlLWlucHV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZXJyb3ItbWVzc2FnZXtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2FuY2VsLWJ1dHRvbntcbiAgICBjb2xvcjogJGNvbG9yLWN1YXRybztcbn0iXX0= */\";","import { ChangeDetectorRef, Component, EventEmitter, OnInit, Output } from '@angular/core';\nimport { MonthlyService } from 'src/app/shared/service/monthly.service';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\nimport { FormControl } from '@angular/forms';\nimport * as moment from 'moment/moment';\nimport { MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\nimport { Moment } from 'moment/moment';\nimport { Feed } from 'src/app/shared/model/feed';\nimport { FeedService } from 'src/app/shared/service/feed.service';\nimport { Monthly } from 'src/app/shared/model/monthly';\nimport { TranslateService } from '@ngx-translate/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport { MonthlyUploadError } from 'src/app/shared/model/monthly-upload-model/MonthlyUploadError';\nimport { MonthlyUploadResponse } from 'src/app/shared/model/monthly-upload-model/MonthlyUploadResponse';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MonthlyUtilsDialogsComponentComponentComponent } from './utils-dialog/monthly-utils-dialogs-component-component/monthly-utils-dialogs-component-component.component';\nimport { FileExtensionsConfigurationsService } from 'src/app/shared/service/file-extensions-configurations.service';\nimport { FileConfigurationsService } from 'src/app/shared/service/file-configurations.service';\nimport { FileConfigurations } from 'src/app/shared/model/file-configurations';\nimport { FileExtensionsConfigurations } from 'src/app/shared/model/file-extensions-configurations';\n\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'MM/YYYY',\n },\n display: {\n dateInput: 'MM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Component({\n selector: 'app-monthly',\n templateUrl: './monthly.component.html',\n styleUrls: ['./monthly.component.scss'],\n providers: [\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\n ]\n})\nexport class MonthlyComponent implements OnInit {\n\n itemLista: Monthly[] = [];\n private feedId: string;\n private networkCode: string;\n feedSelected: boolean = false;\n filesSelected: boolean = false;\n monthly: Monthly;\n loadingConfirm: boolean = false;\n date = new FormControl(moment());\n dateFrom: string;\n dateTo: string;\n month: string;\n year: string;\n private readonly MIN_DATE_IN_DAYS = new Date().getDate() - 365;\n private readonly MAX_DATE_IN_DAYS = new Date().getDate() + 365;\n minDate = new Date();\n maxDate = new Date();\n processingDownloadMessage: string;\n processingPublishMessage: string;\n successfulDownloadMessage: string;\n successfulPublishMessage: string;\n noDataFeedErrorMessage: string;\n monthlyErrorMessage: string;\n monthlyErrorUploadMessage: string;\n monthlySuccessUploadMessage: string;\n monthlyFileConfiguration: FileConfigurations;\n monthlyFileExtensionsConfigurations: FileExtensionsConfigurations[];\n extensions: string[] = [];\n searchTerm: string = '';\n filteredItems: any[];\n\n actionGridProgress: number = 0;\n\n private unsubscription$: Subject;\n\n //para subir archivos al bucket\n files: File[] = [];\n newfiles: File[] = [];\n archivosSeleccionados: String[] = [];\n errorMessage: string = '';\n subiendoArchivos: boolean = false;\n errorResponse: MonthlyUploadResponse[] = [];\n\n @Output()\n public dateFromEmit = new EventEmitter();\n\n @Output()\n public dateToEmit = new EventEmitter();\n\n constructor(private monthlyService: MonthlyService,\n private snackBar: MatSnackBar,\n private fileExtensionsConfigurationsService: FileExtensionsConfigurationsService,\n private fileConfigurationsService: FileConfigurationsService,\n private feedService: FeedService,\n private translateService: TranslateService,\n private dialog: MatDialog) {\n this.unsubscription$ = new Subject();\n this.translations();\n }\n\n ngOnInit(): void {\n this.minDate.setDate(this.MIN_DATE_IN_DAYS);\n this.maxDate.setDate(this.MAX_DATE_IN_DAYS);\n\n this.monthlyService.getMonthly$().subscribe(result => {\n this.itemLista = result.sort((a, b) => a.feedtimezoneId.name.localeCompare(b.feedtimezoneId.name));\n this.filteredItems = result; // Inicialmente muestra todos los ítems\n })\n\n\n \n\n let inputDate: Moment = moment();\n inputDate.month(moment().month());\n inputDate.year(moment().year());\n\n inputDate.date(moment().date() - (moment().date() - 1));\n\n this.year = inputDate.year() + '';\n let monthReal = inputDate.month() + 1;\n this.month = ((monthReal < 10) ? '0' + monthReal.toString() : monthReal.toString()); //this.month = inputDate.month()+1+'';\n\n this.dateFrom = inputDate.clone().date(1).format('DD-MM-YYYY');\n this.dateTo = inputDate.add(1, 'M').format('DD-MM-YYYY');\n\n this.fileConfigurationsService.getAllFilesConfByFileType(\"GRIDS\").subscribe(result => {\n this.monthlyFileConfiguration = result;\n this.getExtensions();\n });\n\n\n }\n\n private translations(): void {\n const keys = [\n 'epg.monthly.processingDownloadMessage',\n 'epg.monthly.processingPublishMessage',\n 'epg.monthly.successfulDownload',\n 'epg.monthly.successfulPublish',\n 'epg.monthly.noDataFeedError',\n 'epg.monthly.monthlyError',\n 'epg.monthly.monthlyErrorUploadMessage',\n 'epg.monthly.monthlySuccessUploadMessage'\n ];\n this.translateService\n .stream(keys)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.mapperToMessages(translations));\n }\n\n private mapperToMessages(translations: any): void {\n this.processingDownloadMessage = translations['epg.monthly.processingDownloadMessage'];\n this.processingPublishMessage = translations['epg.monthly.processingPublishMessage'];\n this.successfulDownloadMessage = translations['epg.monthly.successfulDownload'];\n this.successfulPublishMessage = translations['epg.monthly.successfulPublish'];\n this.noDataFeedErrorMessage = translations['epg.monthly.noDataFeedError'];\n this.monthlyErrorMessage = translations['epg.monthly.monthlyError'];\n this.monthlyErrorUploadMessage = translations['epg.monthly.monthlyErrorUploadMessage'];\n this.monthlySuccessUploadMessage = translations['epg.monthly.monthlySuccessUploadMessage'];\n }\n\n // llamado desde el html\n setMonthAndYear(normalizedMonthAndYear: Moment, datepicker: MatDatepicker) {\n this.actionGridProgress = 0;\n\n let inputDate: Moment = moment();\n inputDate.month(normalizedMonthAndYear.month());\n inputDate.year(normalizedMonthAndYear.year());\n inputDate.date(normalizedMonthAndYear.date());\n //update ui date\n this.date.setValue(inputDate);\n datepicker.close();\n\n\n this.year = inputDate.year() + '';\n let monthReal = inputDate.month() + 1;\n this.month = ((monthReal < 10) ? '0' + monthReal.toString() : monthReal.toString()); //this.month = inputDate.month()+1+'';\n\n this.dateFrom = inputDate.clone().date(1).format('DD-MM-YYYY');\n\n this.dateTo = inputDate.add(1, 'M').format('DD-MM-YYYY');\n\n }\n\n onselectfeed(monthly: Monthly) {\n this.actionGridProgress = 0;\n this.monthly = monthly;\n this.feedSelected = true;\n }\n\n openSucessSnackBar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.duration = 3000;\n config.verticalPosition = \"top\";\n config.panelClass = ['SuccessfulSnackbar'];\n this.snackBar.open(message, action, config);\n }\n\n openErrorSnackBar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['error-snackbar'];\n this.snackBar.open(message, action, config);\n }\n\n descargarGrillaMensual() {\n this.actionGridProgress = 0;\n this.feedId = this.monthly.feedtimezoneId.id;\n this.networkCode = this.monthly.feedtimezoneId.network.code;\n //let filename = this.feedId.split('_')[0] + \"_\" + this.year + \"_\" + this.month + \"_grids_SPA_ARG.xls\";\n let filename = this.networkCode + \"_\" + this.year + \"_\" + this.month + \"_grids_\" + this.monthly.language_id.code + \"_\" + this.monthly.country_id.code;\n console.log(this.monthly.feedtimezoneId.network.code);\n const date = new Date('01-' + this.month + \"-\" + this.year)\n let fileLanguage = this.monthly.language_id.code;\n\n //this.openSnackBar(this.processingDownloadMessage, \"Ok\"); //translations['epg.monthly.processingDownload'] //\"Procesando descarga\"\n this.actionGridProgress = 50;\n\n this.monthlyService.downloadMonthlyGrid(this.feedId, filename, this.dateFrom, this.dateTo, fileLanguage)\n .subscribe({\n next: (res) => {\n console.log(res);\n this.actionGridProgress = 100;\n this.manageExcelFile(res, filename);\n this.openSucessSnackBar(this.successfulDownloadMessage, \"Ok\");\n },\n error: (e) => { //async\n console.error(\"Monthlygrids API Error: \", e);\n if (e === 404)\n this.openErrorSnackBar(this.noDataFeedErrorMessage, \"Ok\");\n else\n this.openErrorSnackBar(this.monthlyErrorMessage, \"Ok\");\n this.actionGridProgress = 0;\n },\n complete: () => {\n console.info('completed request');\n }\n });\n\n }\n\n publicarGrillaMensual() {\n this.actionGridProgress = 0;\n this.feedId = this.monthly.feedtimezoneId.id;\n this.networkCode = this.monthly.feedtimezoneId.network.code;\n //let filename = this.feedId.split('_')[0] + \"_\" + this.year + \"_\" + this.month + \"_grids_SPA_ARG.xls\";\n let filename = this.networkCode + \"_\" + this.year + \"_\" + this.month + \"_grids_\" + this.monthly.language_id.code + \"_\" + this.monthly.country_id.code;\n const date = new Date('01-' + this.month + \"-\" + this.year)\n let fileLanguage = this.monthly.language_id.code;\n\n //this.openSnackBar(this.processingPublishMessage, \"Ok\");\n this.actionGridProgress = 50;\n\n this.monthlyService.publishMonthlyGrid(this.feedId, filename, this.dateFrom, this.dateTo, fileLanguage)\n .subscribe({\n next: (res) => {\n console.log(res);\n this.actionGridProgress = 100;\n this.openSucessSnackBar(this.successfulPublishMessage, \"Ok\"); //\"La publicacion se realizara en los proximos minutos\"\n },\n error: (e) => {\n console.error(\"Monthlygrids API Error: \", e);\n if (e === 404)\n this.openErrorSnackBar(this.noDataFeedErrorMessage, \"Ok\");\n else\n this.openErrorSnackBar(this.monthlyErrorMessage, \"Ok\");\n this.actionGridProgress = 0;\n },\n complete: () => {\n console.info('completed request');\n }\n });\n\n }\n\n manageExcelFile(response: any, filename: string): void {\n const dataType = response.type;\n const binaryData = [];\n\n binaryData.push(response);\n\n const filePath = window.URL.createObjectURL(new Blob(binaryData, { type: dataType }))\n const downloadLink = document.createElement('a')\n downloadLink.href = filePath\n downloadLink.setAttribute('download', filename)\n document.body.appendChild(downloadLink)\n downloadLink.click()\n\n }\n\n addEventFrom(event: MatDatepickerInputEvent) {\n this.dateFromEmit.emit(event.value);\n }\n\n addEventTo(event: MatDatepickerInputEvent) {\n this.dateToEmit.emit(event.value);\n }\n\n getExtensions() {\n //traigo las extensiones para validar\n this.fileExtensionsConfigurationsService.getAllFilesExtConfByConfId(this.monthlyFileConfiguration.id).subscribe(result => {\n this.monthlyFileExtensionsConfigurations = result;\n this.extensions = this.monthlyFileExtensionsConfigurations.map(data => data.fileExtensionId.fileExtension);\n })\n }\n\n onFileSelected(event: any) {\n this.files = [];\n this.files = event.target.files;\n this.errorMessage = '';\n const invalidFiles: string[] = [];\n\n //valido extencion, tamaño y cantidad.\n Array.from(this.files).forEach(file => {\n if (!this.extensions.some(extension => file.name.toLowerCase().endsWith(extension))) {\n invalidFiles.push(`Archivo: ${file.name}, no tiene una extensión válida.`);\n // }\n // if (!file.name.toLowerCase().endsWith('.xls')) {\n // invalidFiles.push(`Archivo: ${file.name}, no es .xls`);\n } else if (file.size === 0) {\n invalidFiles.push(`Archivo: ${file.name}, se encuentra vacío`);\n }\n });\n if (this.files.length + this.newfiles.length > 10) {\n invalidFiles.push(`Se han seleccionado mas de 10 archivos`);\n }\n //si hay algun archivo erroneo, muestro mensaje y no lo agrego\n if (invalidFiles.length > 0) {\n this.filesSelected = false;\n this.dialog.open(MonthlyUtilsDialogsComponentComponentComponent, {\n data: invalidFiles\n });\n }\n else {\n //agrego los archivos a la lista\n for (const file of this.files) {\n this.newfiles.push(file);\n }\n this.updateFilesSelected();\n }\n if (this.archivosSeleccionados.length > 0) {\n this.filesSelected = true;\n }\n this.archivosSeleccionados = Array.from(this.newfiles).map(file => file.name);\n\n event.target.value = '';\n\n }\n\n removeFile(archivo: string) {\n const index = this.newfiles.findIndex(file => file.name === archivo);\n if (index !== -1) {\n this.newfiles.splice(index, 1);\n this.archivosSeleccionados = this.newfiles.map(file => file.name);\n this.updateFilesSelected();\n }\n\n }\n\n updateFilesSelected() {\n this.filesSelected = this.newfiles.length > 0;\n }\n\n subirGrillas() {\n this.subiendoArchivos = true;\n this.monthlyService.uploadFilesToBucket(this.newfiles).subscribe(\n (response: MonthlyUploadResponse) => {\n this.subiendoArchivos = false;\n this.archivosSeleccionados = [];\n this.newfiles = [];\n //si viene vacio, se subieron bien\n if (response.uploadErrors && response.uploadErrors.length === 0) {\n this.filesSelected = false;\n this.openSucessSnackBar(this.monthlySuccessUploadMessage, \"Ok\");\n } else {//si viene con datos, algun archivo era invalido\n const messages = response.uploadErrors.map((error) => `${error.fileName}: ${error.errorMessage}`);\n this.dialog.open(MonthlyUtilsDialogsComponentComponentComponent, {\n data: messages\n });\n }\n },\n (error) => {\n this.subiendoArchivos = false;\n this.archivosSeleccionados = [];\n this.newfiles = [];\n this.openErrorSnackBar(this.monthlyErrorUploadMessage, \"Ok\");\n }\n );\n }\n\n //Funcion para filtrar los feed de Monthlygrids\n filterItems() {\n const filterValue = this.searchTerm.toLowerCase().trim();\n \n const cleanString = (str: string) => str?.toLowerCase().trim() || '';\n \n if (this.searchTerm) {\n // Filtrar elementos que empiezan con el término de búsqueda\n const startsWithFilter = this.itemLista.filter(item =>\n cleanString(item.feedtimezoneId.name).startsWith(filterValue) ||\n cleanString(item.language_id.code).startsWith(filterValue) ||\n cleanString(item.country_id.code).startsWith(filterValue)\n );\n \n // Filtrar elementos que contienen el término de búsqueda pero no empiezan con él\n const includesFilter = this.itemLista.filter(item =>\n !startsWithFilter.includes(item) && (\n cleanString(item.feedtimezoneId.name).includes(filterValue) ||\n cleanString(item.language_id.code).includes(filterValue) ||\n cleanString(item.country_id.code).includes(filterValue)\n )\n );\n \n // Ordenar ambas listas\n this.filteredItems = startsWithFilter\n .sort((a, b) => cleanString(a.feedtimezoneId.name).localeCompare(cleanString(b.feedtimezoneId.name)))\n .concat(\n includesFilter.sort((a, b) => cleanString(a.feedtimezoneId.name).localeCompare(cleanString(b.feedtimezoneId.name)))\n );\n } else {\n // Si no hay un término de búsqueda, ordenar la lista completa\n this.filteredItems = this.itemLista.slice()\n .sort((a, b) => cleanString(a.feedtimezoneId.name).localeCompare(cleanString(b.feedtimezoneId.name)));\n }\n }\n} \n","export default \".botones .monthly-button {\\n width: 100px;\\n}\\n\\n.monthly-button {\\n color: white;\\n background-color: #355CFE;\\n line-height: inherit;\\n}\\n\\n.row {\\n width: 100%;\\n padding-top: 12px;\\n}\\n\\n.button-container {\\n padding-left: 80px;\\n}\\n\\n.monthly-error {\\n font-size: 20px;\\n color: #b9b8b8;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL21vbnRobHktZ3JpZHMvbW9udGhseS91dGlscy1kaWFsb2cvbW9udGhseS11dGlscy1kaWFsb2dzLWNvbXBvbmVudC1jb21wb25lbnQvbW9udGhseS11dGlscy1kaWFsb2dzLWNvbXBvbmVudC1jb21wb25lbnQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUk7RUFDSSxZQUFBO0FBUFI7O0FBVUE7RUFDSSxZQUFBO0VBQ0EseUJBWFc7RUFZWCxvQkFBQTtBQVBKOztBQVNBO0VBQ0ksV0FBQTtFQUNBLGlCQUFBO0FBTko7O0FBUUE7RUFDSSxrQkFBQTtBQUxKOztBQU9BO0VBQ0ksZUFBQTtFQUNBLGNBckJTO0FBaUJiIiwiZmlsZSI6InNyYy9hcHAvZXBnL21vbnRobHktZ3JpZHMvbW9udGhseS91dGlscy1kaWFsb2cvbW9udGhseS11dGlscy1kaWFsb2dzLWNvbXBvbmVudC1jb21wb25lbnQvbW9udGhseS11dGlscy1kaWFsb2dzLWNvbXBvbmVudC1jb21wb25lbnQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkY29sb3ItcHJpbWFyeTogIzVBNjNENDtcbiRjb2xvci1zZWNvbmRhcnk6ICMzRjQ4Q0M7XG4kY29sb3ItdHJlczogI0Q3RDdENztcbiRjb2xvci1jdWF0cm86ICMzNTVDRkU7XG4kY29sb3ItY2luY286ICNDRUNFQ0U7XG4kY29sb3Itc2VpczogI2I5YjhiODtcblxuLmJvdG9uZXN7XG4gICAgLm1vbnRobHktYnV0dG9ue1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxufVxuLm1vbnRobHktYnV0dG9ue1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItY3VhdHJvIDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbi5yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbn1cbi5tb250aGx5LWVycm9ye1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogJGNvbG9yLXNlaXM7XG59Il19 */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-monthly-utils-dialogs-component-component',\n templateUrl: './monthly-utils-dialogs-component-component.component.html',\n styleUrls: ['./monthly-utils-dialogs-component-component.component.scss']\n})\nexport class MonthlyUtilsDialogsComponentComponentComponent implements OnInit {\n\n filesErrors: string[] = [];\n\n constructor( @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef) {\n this.filesErrors = data;\n }\n\n ngOnInit(): void {\n }\n\n close(): void {\n this.dialogRef.close();\n }\n \n}\n","export default \".d-flex {\\n align-items: center;\\n gap: 10px;\\n}\\n\\n.filter-container,\\n.languageFormField {\\n flex: 1 1 auto;\\n min-width: 200px;\\n}\\n\\n.net-up-button-container {\\n flex-shrink: 0;\\n margin-left: 10px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ldHdvcmstc3Vic2NyaXB0aW9uL25ldHdvcmstc3Vic2NyaXB0aW9uLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBRUksbUJBQUE7RUFHQSxTQUFBO0FBRko7O0FBS0E7O0VBR0ksY0FBQTtFQUNBLGdCQUFBO0FBSEo7O0FBTUE7RUFFSSxjQUFBO0VBR0EsaUJBQUE7QUFOSiIsImZpbGUiOiJzcmMvYXBwL2VwZy9uZXR3b3JrLXN1YnNjcmlwdGlvbi9uZXR3b3JrLXN1YnNjcmlwdGlvbi5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5kLWZsZXgge1xuICAgIC8vIEFzZWd1cmEgcXVlIGxvcyBlbGVtZW50b3MgZXN0w6FuIGVuIGxhIG1pc21hIGzDrW5lYVxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAvLyBBanVzdGEgZWwgZXNwYWNpbyBlbnRyZSBsb3MgZWxlbWVudG9zXG4gICAgZ2FwOiAxMHB4OyAvLyBQdWVkZXMgY2FtYmlhciBlc3RlIHZhbG9yIHNlZ8O6biB0dXMgbmVjZXNpZGFkZXNcbn1cblxuLmZpbHRlci1jb250YWluZXIsXG4ubGFuZ3VhZ2VGb3JtRmllbGQge1xuICAgIC8vIE9wY2lvbmFsbWVudGUsIGFqdXN0YSBlbCB0YW1hw7FvIGRlIGxvcyBjYW1wb3MgcGFyYSBxdWUgc2VhbiBtw6FzIHBlcXVlw7FvcyB5IGVuY2FqZW4gbWVqb3JcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDIwMHB4OyAvLyBBanVzdGEgZWwgYW5jaG8gbcOtbmltbyBzaSBlcyBuZWNlc2FyaW9cbn1cblxuLm5ldC11cC1idXR0b24tY29udGFpbmVyIHtcbiAgICAvLyBBc2VndXJhIHF1ZSBlbCBib3TDs24gb2N1cGUgZWwgZXNwYWNpbyBuZWNlc2FyaW9cbiAgICBmbGV4LXNocmluazogMDtcblxuICAgIC8vIEFqdXN0YSBlbCBlc3BhY2lvIGVudHJlIGVsIGJvdMOzbiB5IGxvcyBzZWxlY3RvcmVzXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IC8vIEFqdXN0YSBlc3RlIHZhbG9yIHNlZ8O6biBuZWNlc2l0ZXNcbn1cblxuXG5cbiJdfQ== */\";","import { Component, OnInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { map } from 'rxjs/operators';\nimport { NetworkEpg } from 'src/app/shared/model/network-epg-model/network-epg';\nimport { User } from 'src/app/shared/model/user';\nimport { AuthenticationService } from 'src/app/shared/service/authentication.service';\nimport { NetworkEpgService } from 'src/app/shared/service/network-epg.service';\nimport { NetworkService } from 'src/app/shared/service/network.service';\n\n@Component({\n selector: 'app-network-subscription',\n templateUrl: './network-subscription.component.html',\n styleUrls: ['./network-subscription.component.scss']\n})\nexport class NetworkSubscriptionComponent implements OnInit {\n\n networkList: NetworkEpg[] = [];\n selectedNetworks: NetworkEpg[] = [];\n selectedPeriod: string;\n periods: string[] = ['Daily', 'Weekly', 'Monthly']\n networkCrtl = new FormControl('', Validators.required);\n periodCrtl = new FormControl('', Validators.required);\n filteredNetworkList = this.networkList;\n allNetworksSelected = false;\n\n currentUser: User;\n\n constructor(private networkEpgService: NetworkEpgService,\n private authenticationService: AuthenticationService,\n private networkService: NetworkService) { }\n\n ngOnInit(): void {\n\n this.networkEpgService.getActiveNetworks().pipe(\n map(result => result.sort((a, b) => a.nameEn.toLowerCase().localeCompare(b.nameEn.toLowerCase())))\n ).subscribe(sortedResult => {\n this.networkList = sortedResult;\n this.filteredNetworkList = this.networkList\n });\n\n this.networkCrtl.valueChanges.subscribe(selectedValues => {\n this.selectedNetworks = this.getSelectedNetworks(selectedValues);\n });\n\n this.periodCrtl.valueChanges.subscribe(selectedValues => {\n this.selectedPeriod = selectedValues;\n });\n\n this.currentUser = this.authenticationService.currentUserValue;\n }\n\n getNetworkById(id: number): string {\n let network = this.networkList.find(network => network.id === id);\n if (network)\n return network.nameEn\n else\n return '';\n }\n\n filterNetworks(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value.toLowerCase();\n\n if (!filterValue) {\n this.filteredNetworkList = this.networkList;\n return;\n }\n\n this.filteredNetworkList = this.networkList.filter(network => network.nameEn.toLowerCase().includes(filterValue));\n }\n\n toggleSelectAllNetworks() {\n this.allNetworksSelected = !this.allNetworksSelected;\n\n if (!this.allNetworksSelected) {\n this.networkCrtl.setValue([]);\n } else {\n let netwoksIds = this.networkList.map(network => network.id);\n netwoksIds.push(0);\n this.networkCrtl.setValue(netwoksIds);\n }\n\n }\n\n private getSelectedNetworks(selectedIds: number[]): NetworkEpg[] {\n return this.filteredNetworkList.filter(network => selectedIds.includes(network.id));\n }\n\n subscribe() {\n\n const requestBody = {\n networks: this.selectedNetworks,\n period: this.selectedPeriod,\n username: this.currentUser.username\n };\n\n this.networkService.subscribeNetworks(requestBody).subscribe(result => {\n });\n\n }\n\n}\n","export default \".form-container {\\n padding: 20px;\\n border: 2px solid #b9b8b8;\\n border-radius: 4px;\\n}\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.page-description {\\n margin-left: 8px;\\n text-align: left;\\n margin-top: -5px;\\n}\\n\\n.networks_upload-table {\\n margin-top: 20px;\\n width: 100%;\\n}\\n\\n::ng-deep .networks_upload-table .mat-sort-header-container {\\n justify-content: center;\\n}\\n\\n::ng-deep .networks_upload-table .mat-sort-header-content {\\n padding-left: 14px;\\n}\\n\\n.mat-row:hover {\\n background: none;\\n}\\n\\n.networks_upload-delete {\\n margin: 4px auto;\\n padding: 0.3em 0.7em;\\n background: none;\\n border: 1px solid #777;\\n border-radius: 5px;\\n outline: none;\\n}\\n\\n.networks_upload-delete:hover {\\n background: #777;\\n color: #D7D7D7;\\n}\\n\\n::ng-deep .SuccessfulSnackbar {\\n background-color: #5A63D4 !important;\\n color: white !important;\\n}\\n\\n::ng-deep .SuccessfulSnackbar .mat-simple-snackbar-action {\\n color: white !important;\\n}\\n\\n:host ::ng-deep .mat-sort-header-arrow {\\n color: #5A63D4;\\n opacity: 1;\\n}\\n\\n:host ::ng-deep .mat-paginator .mat-paginator-outer-container .mat-paginator-container {\\n min-height: 30px;\\n height: 30px;\\n background-color: #CECECE;\\n}\\n\\n:host ::ng-deep .mat-paginator-page-size {\\n height: 44px !important;\\n}\\n\\n:host ::ng-deep .mat-paginator-range-label {\\n margin: 0 32px -12px 32px !important;\\n}\\n\\n:host ::ng-deep .mat-paginator-navigation-first,\\n::ng-deep .mat-paginator-navigation-previous,\\n::ng-deep .mat-paginator-navigation-next,\\n::ng-deep .mat-paginator-navigation-last {\\n height: 30px !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ldHdvcmtzLXVwbG9hZC9uZXR3b3Jrcy11cGxvYWQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0E7RUFDSSxhQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtBQVJKOztBQVlBO0VBQ0ksY0FBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLFdBZE07RUFlTixXQUFBO0FBVEo7O0FBWUE7RUFDSSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7QUFUSjs7QUFhQTtFQUNJLGdCQUFBO0VBQ0EsV0FBQTtBQVZKOztBQWFBO0VBQ0ksdUJBQUE7QUFWSjs7QUFhQTtFQUNJLGtCQUFBO0FBVko7O0FBYUE7RUFDSSxnQkFBQTtBQVZKOztBQWFBO0VBQ0ksZ0JBQUE7RUFDQSxvQkFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtFQUNBLGFBQUE7QUFWSjs7QUFhQTtFQUNJLGdCQXBETTtFQXFETixjQXpETTtBQStDVjs7QUFhQTtFQUNJLG9DQUFBO0VBQ0EsdUJBQUE7QUFWSjs7QUFhQTtFQUNJLHVCQUFBO0FBVko7O0FBY0E7RUFDSSxjQXpFTTtFQTBFTixVQUFBO0FBWEo7O0FBZUE7RUFDSSxnQkFBQTtFQUNBLFlBQUE7RUFDQSx5QkE3RU07QUFpRVY7O0FBZUE7RUFDSSx1QkFBQTtBQVpKOztBQWVBO0VBQ0ksb0NBQUE7QUFaSjs7QUFlQTs7OztFQUlJLHVCQUFBO0FBWkoiLCJmaWxlIjoic3JjL2FwcC9lcGcvbmV0d29ya3MtdXBsb2FkL25ldHdvcmtzLXVwbG9hZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiRjb2xvci0xOiAjNUE2M0Q0O1xuJGNvbG9yLTI6ICMzRjQ4Q0M7XG4kY29sb3ItMzogI0Q3RDdENztcbiRjb2xvci00OiAjMzU1Q0ZFO1xuJGNvbG9yLTU6ICNDRUNFQ0U7XG4kY29sb3ItNjogI2I5YjhiODtcbiRjb2xvci03OiAjNzc3O1xuXG4vLyBjb250b3JubyBkZWwgdGl0dWxvXG4uZm9ybS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLTY7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4vLyBwYXJhIGVsIHRpdHVsb1xuLnRpdGxlLWZvcm0ge1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHQ7XG4gICAgY29sb3I6ICRjb2xvci03O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4ucGFnZS1kZXNjcmlwdGlvbntcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcbn1cblxuLy9UQUJMRVxuLm5ldHdvcmtzX3VwbG9hZC10YWJsZXtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG46Om5nLWRlZXAgLm5ldHdvcmtzX3VwbG9hZC10YWJsZSAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lcntcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuOjpuZy1kZWVwIC5uZXR3b3Jrc191cGxvYWQtdGFibGUgLm1hdC1zb3J0LWhlYWRlci1jb250ZW50e1xuICAgIHBhZGRpbmctbGVmdDogMTRweDtcbn1cblxuLm1hdC1yb3c6aG92ZXJ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLm5ldHdvcmtzX3VwbG9hZC1kZWxldGV7XG4gICAgbWFyZ2luOiA0cHggYXV0bztcbiAgICBwYWRkaW5nOiAwLjNlbSAwLjdlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjoxcHggc29saWQgJGNvbG9yLTc7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5uZXR3b3Jrc191cGxvYWQtZGVsZXRlOmhvdmVye1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci03O1xuICAgIGNvbG9yOiAkY29sb3ItMztcbn1cblxuOjpuZy1kZWVwIC5TdWNjZXNzZnVsU25hY2tiYXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTEhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB3aGl0ZSFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAuU3VjY2Vzc2Z1bFNuYWNrYmFyIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlIWltcG9ydGFudDtcbn1cblxuLy8gcGFyYSBsYXMgZmxlY2hhcyBkZSBvcmRlbmFtaWVudG9cbjpob3N0IDo6bmctZGVlcCAubWF0LXNvcnQtaGVhZGVyLWFycm93IHtcbiAgICBjb2xvcjogJGNvbG9yLTE7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLy9wYXJhIGVsIHBhZ2luYXRvclxuOmhvc3QgOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yIC5tYXQtcGFnaW5hdG9yLW91dGVyLWNvbnRhaW5lciAubWF0LXBhZ2luYXRvci1jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci01IDtcbn1cbi8vXG46aG9zdCA6Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIHtcbiAgICBoZWlnaHQ6IDQ0cHggIWltcG9ydGFudDtcbn1cbi8vXG46aG9zdCA6Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItcmFuZ2UtbGFiZWwge1xuICAgIG1hcmdpbjogMCAzMnB4IC0xMnB4IDMycHggIWltcG9ydGFudDtcbn1cbi8vXG46aG9zdCA6Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1maXJzdCxcbjo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLXByZXZpb3VzLFxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbmV4dCxcbjo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLWxhc3Qge1xuICAgIGhlaWdodDogMzBweCAhaW1wb3J0YW50O1xufSJdfQ== */\";","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ConfirmDialogComponent } from 'src/app/shared/dialogs/confirm-dialog/confirm-dialog.component';\nimport { Language } from 'src/app/shared/model/language';\nimport { Network } from 'src/app/shared/model/network';\nimport { NetworksUploadFilesUser } from 'src/app/shared/model/network-epg-model/network-upload-files-user';\nimport { User } from 'src/app/shared/model/user';\nimport { AuthenticationService } from 'src/app/shared/service/authentication.service';\nimport { FeedService } from 'src/app/shared/service/feed.service';\nimport { FileConfigurationsService } from 'src/app/shared/service/file-configurations.service';\nimport { LanguageService } from 'src/app/shared/service/language.service';\nimport { NetworkService } from 'src/app/shared/service/network.service';\nimport { NetworksUploadUtilsDialogComponent } from './utils-dialog/networks-upload-utils-dialog/networks-upload-utils-dialog.component';\n\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'MM/YYYY',\n },\n display: {\n dateInput: 'MM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Component({\n selector: 'app-networks-upload',\n templateUrl: './networks-upload.component.html',\n styleUrls: ['./networks-upload.component.scss'],\n providers: [\n { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\n ]\n\n})\n\nexport class NetworksUploadComponent implements OnInit {\n @ViewChild(MatPaginator) tablePaginator: MatPaginator;\n\n displayedColumns: String[] = [\"fileName\", \"fileType\", \"network\",\"language\", \"date\",\"delete\"]\n dataSourceFile = new MatTableDataSource([]);\n showProgressBar: boolean = false;\n\n // Declaracion de variables.\n callReady: boolean = true;\n languages: Language[] = [];\n fileTypes: string[] = null;\n feeds: string[] = null;\n networkList: Network[] = null;\n net:Network = null;\n //Variables para snackBar\n private unsubscription$: Subject;\n fileDeletitionInProgress: string;\n fileDeletitionSuccess: string;\n fileDeletitionError: string;\n \n currentUser: User;\n networks$: Observable; //new\n // Para las flechitas que ordenan la tabla.\n\n constructor(\n private dialog: MatDialog,\n private languageService: LanguageService,\n private fileConfigurationsService: FileConfigurationsService,\n private feedService: FeedService,\n private networkService: NetworkService,\n private authenticationService: AuthenticationService,\n private translateService: TranslateService,\n private snackBar: MatSnackBar,\n ) {\n this.unsubscription$ = new Subject();\n this.translations();\n }\n\n ngOnInit(): void {\n //Get network data from footer.\n this.networks$ = this.networkService.networks$;\n this.networks$.subscribe(result=>{\n this.networkList = result;\n });\n // Traemos los lenguajes.\n this.languageService.getLanguages$().subscribe(\n data => {\n this.languages = data;\n }\n )\n // Traemos los tipos de archivos.\n this.fileConfigurationsService.getAllFilesConfByFileTypeEnabled().subscribe(\n data => {\n this.fileTypes = data.map(fileType => fileType.fileType);\n }\n )\n // Traemos los feeds.\n this.showProgressBar = true;\n this.feedService.getFeeds$().subscribe(\n data => {\n this.feeds = data.map(feed => feed.id);\n this.callReady = false;\n this.getAllFiles(); \n } \n )\n }\n\n // Llamado para traer y mostrar todos los registros de los archivos en la tabla.\n getAllFiles() {\n this.networkService.getFilesByUser(this.authenticationService.currentUserValue.username).subscribe(result =>{\n this.dataSourceFile = new MatTableDataSource(result);\n this.dataSourceFile.paginator = this.tablePaginator;\n this.showProgressBar = false;\n },() =>{\n this.showProgressBar = false;\n })\n }\n\n newRegister() {\n this.dialog.open(NetworksUploadUtilsDialogComponent, {\n data: {\n languages: this.languages,\n fileTypes: this.fileTypes,\n feeds: this.feeds,\n username:this.authenticationService.currentUserValue.username\n },\n }).afterClosed().subscribe(()=>this.refreshTable());\n }\n\n getNetworkFromId(networkId:number){ \n return this.networkList.find(n=>n.id == networkId).code;\n }\n\n openConfirmDialog(elementSelected:NetworksUploadFilesUser): void {\n let dialogRef = this.dialog.open(ConfirmDialogComponent, {\n width: '300px',\n });\n dialogRef.afterClosed().subscribe(result =>{\n if(result){\n this.deleteFile(elementSelected);\n }\n })\n }\n\n \n //Elimina los archivos de la base de datos\n deleteFile(selectedFile:any): void{\n this.showSnackbar(this.fileDeletitionInProgress,null);\n //Eliminar el archivo del bucket.\n this.networkService.deleteFileFromS3(selectedFile.tapkitFileId.path).subscribe();\n //Eliminar el registro de la tabla tapkit_file y de la tabla network_upload_file_users\n this.networkService.deleteFile(selectedFile.tapkitFileId.id).subscribe(()=>{\n this.showSnackbar(this.fileDeletitionSuccess, \"Ok\");\n this.refreshTable();\n },()=>this.showErrorSnackbar(this.fileDeletitionError, \"Ok\"))\n \n }\n\n refreshTable(){\n this.getAllFiles();\n }\n\n // Snackbars\n showSnackbar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.duration = 3000;\n config.verticalPosition = \"top\";\n config.panelClass = ['SuccessfulSnackbar'];\n this.snackBar.open(message, action, config);\n }\n\n showErrorSnackbar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['error-snackbar'];\n this.snackBar.open(message, action, config);\n }\n\n //Translate Snackbar Functions\n private translations(): void {\n const keys = [\n 'epg.networks_upload.messages.error',\n 'epg.networks_upload.messages.inProgress',\n 'epg.networks_upload.messages.success',\n \n ];\n \n this.translateService\n .stream(keys)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.mapperToMessages(translations));\n }\n\n private mapperToMessages(translations: any): void {\n \n this.fileDeletitionInProgress = translations['epg.networks_upload.messages.inProgress'];\n this.fileDeletitionError = translations['epg.networks_upload.messages.error'];\n this.fileDeletitionSuccess = translations['epg.networks_upload.messages.success'];\n\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n}\n","export default \".net-up-dialog-container {\\n width: 100%;\\n min-width: 70vw;\\n}\\n\\n.net-up_header {\\n margin-bottom: 20px;\\n width: 100%;\\n display: flex;\\n justify-content: space-between;\\n}\\n\\n.net-up-table {\\n width: 100%;\\n padding-bottom: 20px;\\n}\\n\\n.table-content_container {\\n scrollbar-width: thin;\\n max-height: 50vh;\\n overflow-y: scroll;\\n}\\n\\n.table-content_container::-webkit-scrollbar {\\n background-color: #D7D7D7;\\n border-radius: 20px;\\n width: 3px;\\n}\\n\\n.table-content_container::-webkit-scrollbar-thumb {\\n background-color: #777;\\n border-radius: 20px;\\n width: 1px;\\n}\\n\\n.table-header, .table-content {\\n display: grid;\\n grid-template-columns: 30% 15% 15% 10% 10% 17%;\\n -moz-column-gap: 5px;\\n column-gap: 5px;\\n justify-content: center;\\n align-items: end;\\n}\\n\\n.table-header {\\n margin-bottom: 8px;\\n border-bottom: 1px solid #777;\\n}\\n\\n.table-header h3 {\\n font-weight: 500;\\n font-size: 1rem;\\n}\\n\\n.table-content {\\n grid-template-rows: minmax(60px, 80px);\\n}\\n\\n.table-content p {\\n display: flex;\\n align-items: center;\\n margin-bottom: 1.3rem;\\n padding-bottom: 5px;\\n font-size: 0.9rem;\\n border-bottom: 1px solid #949494;\\n}\\n\\n.newt-up-buttons-container {\\n margin-top: 20px;\\n display: flex;\\n justify-content: space-between;\\n}\\n\\n.newt-up-buttons-container div:last-child {\\n display: flex;\\n gap: 10px;\\n}\\n\\nbutton {\\n outline: 0;\\n}\\n\\n.newt-up-buttons-container div > button:first-child {\\n background: none;\\n color: #777;\\n}\\n\\ninput[type=file] {\\n display: none;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ldHdvcmtzLXVwbG9hZC91dGlscy1kaWFsb2cvbmV0d29ya3MtdXBsb2FkLXV0aWxzLWRpYWxvZy9uZXR3b3Jrcy11cGxvYWQtdXRpbHMtZGlhbG9nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBO0VBQ0ksV0FBQTtFQUNBLGVBQUE7QUFSSjs7QUFZQTtFQUNJLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLGFBQUE7RUFDQSw4QkFBQTtBQVRKOztBQWFBO0VBQ0ksV0FBQTtFQUNBLG9CQUFBO0FBVko7O0FBYUE7RUFDSSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QUFWSjs7QUFhQTtFQUNJLHlCQWpDTTtFQWtDTixtQkFBQTtFQUNBLFVBQUE7QUFWSjs7QUFZQTtFQUNJLHNCQWxDTTtFQW1DTixtQkFBQTtFQUNBLFVBQUE7QUFUSjs7QUFZQTtFQUNJLGFBQUE7RUFFQSw4Q0FBQTtFQUNBLG9CQUFBO09BQUEsZUFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7QUFWSjs7QUFhQTtFQUNJLGtCQUFBO0VBQ0EsNkJBQUE7QUFWSjs7QUFhQTtFQUNJLGdCQUFBO0VBQ0EsZUFBQTtBQVZKOztBQWFBO0VBQ0ksc0NBQUE7QUFWSjs7QUFhQTtFQUVJLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQkFBQTtFQUNBLGdDQUFBO0FBWEo7O0FBbUJBO0VBQ0ksZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsOEJBQUE7QUFoQko7O0FBbUJBO0VBQ0ksYUFBQTtFQUNBLFNBQUE7QUFoQko7O0FBbUJBO0VBQ0ksVUFBQTtBQWhCSjs7QUFrQkE7RUFDSSxnQkFBQTtFQUNBLFdBN0ZNO0FBOEVWOztBQXVCQTtFQUNJLGFBQUE7QUFwQkoiLCJmaWxlIjoic3JjL2FwcC9lcGcvbmV0d29ya3MtdXBsb2FkL3V0aWxzLWRpYWxvZy9uZXR3b3Jrcy11cGxvYWQtdXRpbHMtZGlhbG9nL25ldHdvcmtzLXVwbG9hZC11dGlscy1kaWFsb2cuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkY29sb3ItMTogIzVBNjNENDtcbiRjb2xvci0yOiAjM0Y0OENDO1xuJGNvbG9yLTM6ICNEN0Q3RDc7XG4kY29sb3ItNDogIzM1NUNGRTtcbiRjb2xvci01OiAjQ0VDRUNFO1xuJGNvbG9yLTY6ICNiOWI4Yjg7XG4kY29sb3ItNzogIzc3NztcblxuLy8gcGFyYSBkYXIgZm9ybWF0byBhIHRvZG9zIGxvcyBjb21wb25lbnRlc1xuLm5ldC11cC1kaWFsb2ctY29udGFpbmVye1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogNzB2dztcbn1cblxuLy8gZGl2IGRlIGxvcyB0aXR1bG9zXG4ubmV0LXVwX2hlYWRlcntcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG5cbi5uZXQtdXAtdGFibGV7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuLnRhYmxlLWNvbnRlbnRfY29udGFpbmVye1xuICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsgIFxuICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4udGFibGUtY29udGVudF9jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItMztcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIHdpZHRoOiAzcHg7XG59XG4udGFibGUtY29udGVudF9jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItNztcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4OyBcbiAgICB3aWR0aDogMXB4OyBcbiAgfVxuXG4udGFibGUtaGVhZGVyLC50YWJsZS1jb250ZW50e1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgLy9ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCxtaW5tYXgoMTQ1cHgsMWZyKSk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMCUgMTUlIDE1JSAxMCUgMTAlIDE3JTtcbiAgICBjb2x1bW4tZ2FwOjVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xufVxuXG4udGFibGUtaGVhZGVye1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLTc7XG59XG5cbi50YWJsZS1oZWFkZXIgaDN7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDFyZW07IFxufVxuXG4udGFibGUtY29udGVudHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCg2MHB4LDgwcHgpO1xufVxuXG4udGFibGUtY29udGVudCBwe1xuICAgIC8vIGxpbmUtaGVpZ2h0OiAyODAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBmb250LXNpemU6MC45cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTQ5NDk0O1xufVxuXG4vLyA6Om5nLWRlZXAgLm1vbnRoQW5kWWVhclBpY2tlciAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbi8vICAgICBiYWNrZ3JvdW5kOiA7XG4vLyAgICAgYmFja2dyb3VuZC1pbWFnZTpub25lO1xuLy8gfVxuXG4ubmV3dC11cC1idXR0b25zLWNvbnRhaW5lcntcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4ubmV3dC11cC1idXR0b25zLWNvbnRhaW5lciBkaXY6bGFzdC1jaGlsZHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbn1cblxuYnV0dG9ue1xuICAgIG91dGxpbmU6IDA7XG59XG4ubmV3dC11cC1idXR0b25zLWNvbnRhaW5lciBkaXYgPiBidXR0b246Zmlyc3QtY2hpbGR7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjb2xvcjogJGNvbG9yLTc7XG59XG5cbi8vIC5uZXd0LXVwLWJ1dHRvbnMtY29udGFpbmVyIGRpdiA+IGJ1dHRvbjpudGgtY2hpbGQoMil7XG4vLyAgICAgYmFja2dyb3VuZDogJGNvbG9yLTE7XG4vLyB9XG5cbi8vcGFyYSBlbCBib3RvbiBkZSBzdWJpciBhcmNoaXZvc1xuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iXX0= */\";","import { ChangeDetectorRef, Component, Inject, OnInit } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport * as moment from 'moment';\nimport { Moment } from 'moment';\nimport { ViewChildren, QueryList } from '@angular/core';\nimport { Language } from 'src/app/shared/model/language';\nimport { NetworksUploadFiles } from 'src/app/shared/model/network-epg-model/networks-upload-files';\nimport { NetworkService } from 'src/app/shared/service/network.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nexport const MY_FORMATS = {\n parse: {\n dateInput: 'MM/YYYY',\n },\n display: {\n dateInput: 'MM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Component({\n selector: 'app-networks-upload-utils-dialog',\n templateUrl: './networks-upload-utils-dialog.component.html',\n styleUrls: ['./networks-upload-utils-dialog.component.scss'],\n providers: [{ provide: MAT_DATE_FORMATS, useValue: MY_FORMATS }],\n})\n\n\nexport class NetworksUploadUtilsDialogComponent implements OnInit {\n\n // Declaracion de variables.\n networksUploadFiles: NetworksUploadFiles[] = [];\n netUpFile: NetworksUploadFiles = null;\n private unsubscription$: Subject;\n private pendingStatus: string;\n private waitingToDownloadStatus: string;\n private uploadedStatus: string;\n private failedStatus: string;\n\n // Variables que traigo del networks-upload.component.\n languages: string[] = null;\n fileTypes: string[] = null;\n feeds: string[] = null;\n username: string = '';\n\n //Variables para el html.\n @ViewChildren(MatDatepicker) datepickers: QueryList>;\n minDate = new Date();\n maxDate = new Date();\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n //private cdr: ChangeDetectorRef, // para renderizar el html en caso de ser necesario.\n private networkService: NetworkService,\n private translateService: TranslateService\n ) {\n // Recibo los datos de network-upload.component.\n this.languages = data.languages.map(language => language.code);\n this.fileTypes = data.fileTypes;\n this.feeds = data.feeds;\n this.username = data.username;\n\n this.unsubscription$ = new Subject();\n this.translations();\n }\n\n ngOnInit(): void {\n this.minDate.setDate(this.minDate.getDate() - 90);\n this.maxDate.setDate(this.maxDate.getDate() + 90);\n }\n\n setMonthAndYear(normalizedMonthAndYear: Moment, index: number) {\n const datepicker = this.datepickers.toArray()[index];\n const ctrlValue = this.networksUploadFiles[index].date.value ?? moment();\n ctrlValue.month(normalizedMonthAndYear.month());\n ctrlValue.year(normalizedMonthAndYear.year());\n this.networksUploadFiles[index].date.setValue(ctrlValue);\n datepicker.close();\n }\n\n onFilesSelected(event: any) {\n const files = event.target.files;\n for (let i = 0; i < files.length; i++) {\n this.netUpFile = {\n idStatus: 0,\n fileName: files[i].name,\n fileType: null,\n feed: null,\n language: null,\n date: new FormControl(moment()),\n status: this.waitingToDownloadStatus,\n file: files[i]\n }\n\n this.networksUploadFiles.push(this.netUpFile);\n }\n\n event.target.value = '';\n }\n\n clearAll() {\n this.networksUploadFiles = [];\n }\n\n publishAll() {\n\n for (let element of this.networksUploadFiles) {\n\n if (element.idStatus == 2)\n continue;\n\n element.idStatus = 1;\n element.status = this.pendingStatus;\n\n const formData = new FormData();\n\n formData.append('network-file', element.file);\n formData.append('feed', element.feed);\n formData.append('file-type', element.fileType);\n formData.append('language', element.language);\n formData.append('username',this.username);\n\n const formattedDate: string = element.date.value.format('MM/YYYY');\n\n formData.append('date', formattedDate);\n\n this.networkService.uploadFile(formData).subscribe(\n response => {\n if (response.message != null){\n element.status = this.failedStatus + \". \" + response.message;\n element.idStatus = 3;\n }else {\n element.status = this.uploadedStatus;\n element.idStatus = 2;\n }\n \n }\n\n );\n\n }\n }\n\n applyToAll() {\n //HABILITAR EL BOTON SI ALGUNO DE LOS ELEMENTOS TIENE TODOS LOS ATRIBUTOS SETEADOS\n const value = this.networksUploadFiles.find(element => element.fileType != null && element.language != null && element.date != null); //AGREGAR LA VALIDACION DE FEED\n if (value != undefined) {\n this.networksUploadFiles.forEach(element => {\n element.fileType = value.fileType;\n element.language = value.language;\n element.date = value.date;\n });\n }\n }\n\n close() {\n this.dialogRef.close();\n }\n\n removeFile(i: number) {\n this.networksUploadFiles.splice(i, 1);\n }\n\n checkAllSelectorsSelected(): boolean {\n\n if (this.networksUploadFiles.length == 0)\n return false;\n\n return this.networksUploadFiles.every(file =>\n file.fileType && file.feed && file.language\n );\n }\n\n private translations(): void {\n\n const keys = [\n 'epg.networks_upload.pending_status',\n 'epg.networks_upload.waiting_to_download_status',\n 'epg.networks_upload.failed_status',\n 'epg.networks_upload.uploaded_status'\n ];\n\n this.translateService\n .stream(keys)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.mapperToMessages(translations));\n }\n\n private mapperToMessages(translations: any): void {\n\n this.pendingStatus = translations['epg.networks_upload.pending_status'];\n this.waitingToDownloadStatus = translations['epg.networks_upload.waiting_to_download_status'];\n this.uploadedStatus = translations['epg.networks_upload.uploaded_status'];\n this.failedStatus = translations['epg.networks_upload.failed_status'];\n\n }\n\n onSelectorChange(file: NetworksUploadFiles) {\n file.idStatus = 0;\n }\n\n}\n","export default \"@charset \\\"UTF-8\\\";\\n.mat-mdc-form-field + .mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n.network-button {\\n color: white;\\n background-color: #355CFE;\\n height: 29px;\\n line-height: inherit;\\n}\\n.mat-tab-group {\\n display: flex;\\n justify-content: center;\\n}\\n.mat-accordion .mat-expansion-panel {\\n min-width: 100vh;\\n}\\n:host .mat-tab-label-content {\\n font-size: 20px;\\n}\\n.tabpanel {\\n height: auto;\\n max-height: 20vh;\\n}\\n/** Sobreescribe el color predeterminado del checkbox */\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n.form-wrapper {\\n width: 100%;\\n}\\n.primer-fila {\\n display: flex;\\n}\\n.primer-componente {\\n flex-direction: column;\\n justify-content: flex-start;\\n margin-right: 8px;\\n display: flex;\\n width: 20%;\\n width: 240px;\\n}\\n.imagen-container {\\n width: 100%;\\n height: 100%;\\n}\\n.imagen-principal {\\n width: 100%;\\n}\\n.logo-container {\\n width: 240px;\\n height: 120px;\\n}\\n.logo-izquierdo {\\n max-width: 100%;\\n max-height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n.reff-buttons {\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n gap: 10px;\\n margin-top: 10px;\\n}\\n.buttons-dyp {\\n display: flex;\\n gap: 10px;\\n justify-content: center;\\n}\\n.segundo-componente {\\n display: flex;\\n flex-direction: column;\\n flex: 1;\\n display: flex;\\n overflow: visible;\\n max-height: 220px;\\n}\\n.description-tabs {\\n height: 100%;\\n float: 1;\\n}\\n.segunda-fila {\\n display: flex;\\n margin-top: 30px;\\n height: 120px;\\n}\\n.tabs-segunda-fila {\\n align-items: center;\\n}\\n.network-button-table {\\n display: flex;\\n flex-flow: column;\\n align-items: center;\\n}\\n.network-button-row {\\n display: flex;\\n flex-wrap: wrap;\\n flex-flow: row;\\n justify-content: center;\\n align-items: center;\\n width: 100%;\\n margin-top: 3px;\\n}\\n.networks-buttons-col {\\n align-items: center;\\n justify-content: center;\\n display: flex;\\n width: 50%;\\n}\\n::ng-deep .snackbar-info {\\n color: white;\\n background-color: #0096d2;\\n}\\n::ng-deep .snackbar-info .mat-simple-snackbar-action {\\n color: white;\\n background-color: #0096d2;\\n}\\n::ng-deep .error-snackbar {\\n color: white;\\n background-color: red;\\n}\\n::ng-deep .error-snackbar .mat-simple-snackbar-action {\\n color: white;\\n background-color: red;\\n}\\n.form-wrapper-interior {\\n min-height: 75px;\\n max-height: 75px;\\n margin-top: 10px;\\n}\\n.module-select-container {\\n text-align: center;\\n margin-bottom: 15px;\\n}\\n.select-container {\\n max-height: 420px;\\n width: 300px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n.mat-table {\\n width: 100%;\\n}\\n.field-text {\\n text-align: initial;\\n}\\n.app-networks .mat-cell {\\n padding-right: 0px;\\n}\\n::ng-deep .localbrakes-table .mat-cell {\\n padding-left: 18px;\\n padding-right: 18px;\\n}\\n:host ::ng-deep .mat-header-cell,\\n::ng-deep .mat-sort-header-container {\\n justify-content: center;\\n padding: 0 !important;\\n}\\n:host ::ng-deep .mat-sort-header-arrow {\\n color: #5A63D4;\\n opacity: 1;\\n}\\n::ng-deep button:focus {\\n outline: none !important;\\n}\\n.feed-button {\\n color: #355CFE;\\n}\\n.button-container {\\n text-align: center;\\n}\\n.mat-raised-button:not([class*=mat-elevation-z]):not([disabled]) {\\n color: white;\\n background-color: #355CFE !important;\\n height: 24px;\\n line-height: inherit;\\n}\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n text-align: center;\\n border: 1px solid white;\\n color: #000000;\\n background-color: #CECECE !important;\\n border-top: 0px;\\n}\\n.row-height {\\n height: 35px !important;\\n}\\n.mat-row:hover {\\n background: #b9b8b8 !important;\\n}\\n.mat-header-row:not([class*=mat-elevation-z]),\\n.mat-row:not([class*=mat-elevation-z]) {\\n height: 30px;\\n background: white;\\n text-align: center;\\n}\\n.mat-cell:not([class*=mat-elevation-z]),\\n.mat-footer-cell:not([class*=mat-elevation-z]),\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n border-bottom-width: 1px;\\n border-bottom-style: solid;\\n font-size: 9pt;\\n font-weight: normal;\\n font-family: Arial, sans-serif;\\n}\\n.mat-cell {\\n padding-right: 0 !important;\\n}\\n.file-icon-cell {\\n width: 100px;\\n}\\n.title-contacts {\\n font-family: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\n font-size: 14px;\\n font-weight: 500;\\n}\\n.dailygrids_table {\\n margin-top: 1em;\\n}\\n.dailygrids_description-column {\\n padding: 0 1em !important;\\n text-align: center;\\n}\\n:host ::ng-deep .mat-paginator .mat-paginator-outer-container .mat-paginator-container {\\n min-height: 30px;\\n height: 30px;\\n background-color: #CECECE;\\n}\\n:host ::ng-deep .mat-paginator-page-size {\\n height: 44px !important;\\n}\\n:host ::ng-deep .mat-paginator-range-label {\\n margin: 0 32px -12px 32px !important;\\n}\\n:host ::ng-deep .mat-paginator-navigation-first,\\n::ng-deep .mat-paginator-navigation-previous,\\n::ng-deep .mat-paginator-navigation-next,\\n::ng-deep .mat-paginator-navigation-last {\\n height: 30px !important;\\n}\\nbody {\\n align-items: center;\\n background: #E3E3E3;\\n display: flex;\\n height: 100vh;\\n justify-content: center;\\n}\\n@keyframes scroll {\\n 0% {\\n transform: translateX(0);\\n }\\n 100% {\\n transform: translateX(calc(-250px * 7));\\n }\\n}\\n.slider {\\n height: -moz-fit-content;\\n height: fit-content;\\n /* Adjusted height to accommodate captions */\\n margin: auto;\\n overflow: hidden;\\n position: relative;\\n width: 990px;\\n padding-bottom: 10px;\\n}\\n.slider::before,\\n.slider::after {\\n content: \\\"\\\";\\n height: -moz-fit-content;\\n height: fit-content;\\n /* Adjusted height to accommodate captions */\\n position: absolute;\\n width: 200px;\\n z-index: 2;\\n}\\n.slider::after {\\n right: 0;\\n top: 0;\\n transform: rotateZ(180deg);\\n}\\n.slider::before {\\n left: 0;\\n top: 0;\\n}\\n.slide-track {\\n animation: scroll 40s linear infinite;\\n display: flex;\\n width: calc(200px * 2 * var(--factor));\\n animation-play-state: running;\\n /* Por defecto, la animación se ejecuta */\\n}\\n.slide-track.paused {\\n animation-play-state: paused;\\n /* Si está pausado, detener la animación */\\n}\\n.slide {\\n height: -moz-fit-content;\\n height: fit-content;\\n width: 200px;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n}\\n@keyframes scroll {\\n 0% {\\n transform: translateX(0);\\n }\\n 100% {\\n transform: translateX(calc(-200px * var(--factor)));\\n }\\n}\\n.carousel-iamgen-and-description {\\n height: -moz-fit-content;\\n height: fit-content;\\n}\\n.carousel-image {\\n width: 180px;\\n height: 240px;\\n}\\n.carousel-title-and-date {\\n max-width: 180px;\\n background-color: white;\\n padding: 2px 5px;\\n border-radius: 5px;\\n margin-top: 5px;\\n font-size: 12px;\\n box-shadow: 4px 3px 5px -1px rgba(0, 0, 0, 0.125);\\n}\\n.carousel-title {\\n height: 30px;\\n line-height: 1.1;\\n text-wrap: balance;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ldHdvcmtzL25ldHdvcmtzL25ldHdvcmtzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQVFoQjtFQUNJLGdCQUFBO0FBTko7QUFVQTtFQUNJLGNBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtBQVBKO0FBVUE7RUFDSSxZQUFBO0VBQ0EseUJBcEJNO0VBcUJOLFlBQUE7RUFDQSxvQkFBQTtBQVBKO0FBVUE7RUFDSSxhQUFBO0VBQ0EsdUJBQUE7QUFQSjtBQVVBO0VBQ0ksZ0JBQUE7QUFQSjtBQVVBO0VBQ0ksZUFBQTtBQVBKO0FBVUE7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7QUFQSjtBQVVBLHVEQUFBO0FBQ0E7RUFDSSx5QkE3Q007QUFzQ1Y7QUFVQTtFQUNJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0FBUEo7QUFVQTtFQUNJLFdBQUE7QUFQSjtBQVdBO0VBQ0ksYUFBQTtBQVJKO0FBWUE7RUFDSSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7QUFUSjtBQVlBO0VBQ0ksV0FBQTtFQUNBLFlBQUE7QUFUSjtBQVlBO0VBQ0ksV0FBQTtBQVRKO0FBYUE7RUFDSSxZQUFBO0VBQ0EsYUFBQTtBQVZKO0FBYUE7RUFDSSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtLQUFBLGlCQUFBO0FBVko7QUFjQTtFQUNJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0FBWEo7QUFjQTtFQUNJLGFBQUE7RUFDQSxTQUFBO0VBQ0EsdUJBQUE7QUFYSjtBQWVBO0VBQ0ksYUFBQTtFQUNBLHNCQUFBO0VBQ0EsT0FBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0FBWko7QUFlQTtFQUNJLFlBQUE7RUFDQSxRQUFBO0FBWko7QUFlQTtFQUNJLGFBQUE7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QUE7RUFBQSxtQkFBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtBQTlDSjtBQWlEQTtFQUNJO0lBQ0ksd0JBQUE7RUE5Q047RUFnREU7SUFDSSxtREFBQTtFQTlDTjtBQUNGO0FBaURBO0VBQ0ksd0JBQUE7RUFBQSxtQkFBQTtBQS9DSjtBQW1EQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0FBaERKO0FBbURBO0VBQ0ksZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTtFQUNBLGlEQUFBO0FBaERKO0FBbURBO0VBQ0ksWUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7QUFoREoiLCJmaWxlIjoic3JjL2FwcC9lcGcvbmV0d29ya3MvbmV0d29ya3MvbmV0d29ya3MuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkY29sb3ItMTogIzVBNjNENDtcbiRjb2xvci0yOiAjM0Y0OENDO1xuJGNvbG9yLTM6ICNEN0Q3RDc7XG4kY29sb3ItNDogIzM1NUNGRTtcbiRjb2xvci01OiAjQ0VDRUNFO1xuJGNvbG9yLTY6ICNiOWI4Yjg7XG4kY29sb3ItNzogIzc3NztcblxuLm1hdC1tZGMtZm9ybS1maWVsZCsubWF0LW1kYy1mb3JtLWZpZWxkIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4vLyBwYXJhIGVsIGNvbnRvcm5vIHkgZWwgdGl0dWxvXG4udGl0bGUtZm9ybSB7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRwdDtcbiAgICBjb2xvcjogIzc3NztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLm5ldHdvcmstYnV0dG9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTQgO1xuICAgIGhlaWdodDogMjlweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLm1hdC10YWItZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tYXQtYWNjb3JkaW9uIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBtaW4td2lkdGg6IDEwMHZoO1xufVxuXG46aG9zdCAubWF0LXRhYi1sYWJlbC1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG59XG5cbi50YWJwYW5lbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDIwdmg7XG59XG5cbi8qKiBTb2JyZWVzY3JpYmUgZWwgY29sb3IgcHJlZGV0ZXJtaW5hZG8gZGVsIGNoZWNrYm94ICovXG46Om5nLWRlZXAgLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItNDtcbn1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZm9ybS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy8gcHJpbWVyIGNvbXBvbmVudGUgZGUgbGEgZmlsYSAxXG4ucHJpbWVyLWZpbGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy9tYXgtaGVpZ2h0OiAzNXZoO1xufVxuXG4ucHJpbWVyLWNvbXBvbmVudGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDIwJTtcbiAgICB3aWR0aDogMjQwcHg7XG59XG5cbi5pbWFnZW4tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pbWFnZW4tcHJpbmNpcGFsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy8gaW1hZ2VuXG4ubG9nby1jb250YWluZXIge1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4ubG9nby1penF1aWVyZG8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vLyBib3RvbmVzIHF1ZSByZWZlcmVuY2lhblxuLnJlZmYtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmJ1dHRvbnMtZHlwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy8gdGFic1xuLnNlZ3VuZG8tY29tcG9uZW50ZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbn1cblxuLmRlc2NyaXB0aW9uLXRhYnMge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmbG9hdDogMTtcbn1cblxuLnNlZ3VuZGEtZmlsYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG59XG5cbi50YWJzLXNlZ3VuZGEtZmlsYSB7XG4gICAgLy8gZGlzcGxheTogZmxleDtcbiAgICAvLyB3aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubmV0d29yay1idXR0b24tdGFibGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm5ldHdvcmstYnV0dG9uLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1mbG93OiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG59XG5cbi5uZXR3b3Jrcy1idXR0b25zLWNvbCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiA1MCU7XG59XG5cbi8vIHNuYWNrYmFyXG46Om5nLWRlZXAgLnNuYWNrYmFyLWluZm97XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDI7XG59XG46Om5nLWRlZXAgLnNuYWNrYmFyLWluZm8gLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkMjtcbn1cbjo6bmctZGVlcCAuZXJyb3Itc25hY2tiYXIge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG59XG46Om5nLWRlZXAgLmVycm9yLXNuYWNrYmFyIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbn1cblxuLy9maWx0cm8gZGUgZmVjaGFcbi5mb3JtLXdyYXBwZXItaW50ZXJpb3Ige1xuICAgIG1pbi1oZWlnaHQ6IDc1cHg7XG4gICAgbWF4LWhlaWdodDogNzVweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ubW9kdWxlLXNlbGVjdC1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4uc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogNDIwcHg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDElO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbn1cblxuLy8gbG9jYWxicmVha3MgdG9kbyBoYXN0YSBhYmFqb1xuLy8gLmxvY2FsYnJlYWtzLWxpc3QtY29udGFpbmVye1xuLy8gICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4vLyAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbi8vICAgICBwYWRkaW5nOiAxMHB4O1xuLy8gICAgIG1hcmdpbjogMTBweDtcbi8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuLy8gfVxuLy8gLmxvY2FsYnJlYWtzLWxpc3QtZmVlZHtcbi8vICAgICBmb250LXNpemU6IDE4cHg7XG4vLyAgICAgY29sb3I6IGdyYXk7XG4vLyAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuLy8gfVxuLy8gLmxvY2FsYnJlYWtzLWxpc3QtZmlsZXtcbi8vICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbi8vICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gICAgIHBhZGRpbmc6IDVweCAwO1xuLy8gfVxuLm1hdC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5maWVsZC10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xufVxuXG4vLyA6Om5nLWRlZXAgLmxvY2FsYnJha2VzLXRhYmxlIHRkLm1hdC1jZWxsOmZpcnN0LW9mLXR5cGV7XG4vLyAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4vLyB9XG4vLyA6Om5nLWRlZXAgLmxvY2FsYnJha2VzLXRhYmxlIHRkLm1hdC1jZWxsOmxhc3Qtb2YtdHlwZXtcbi8vICAgICBwYWRkaW5nLXJpZ2h0OjBweDtcbi8vIH1cblxuLmFwcC1uZXR3b3JrcyAubWF0LWNlbGx7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xufVxuOjpuZy1kZWVwIC5sb2NhbGJyYWtlcy10YWJsZSAubWF0LWNlbGx7XG4gICAgcGFkZGluZy1sZWZ0OjE4cHg7XG4gICAgcGFkZGluZy1yaWdodDogMThweDtcbn1cblxuOmhvc3QgOjpuZy1kZWVwIC5tYXQtaGVhZGVyLWNlbGwsXG46Om5nLWRlZXAgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gcGFyYSBsYXMgZmxlY2hhcyBkZSBvcmRlbmFtaWVudG9cbjpob3N0IDo6bmctZGVlcCAubWF0LXNvcnQtaGVhZGVyLWFycm93IHtcbiAgICBjb2xvcjogJGNvbG9yLTE7XG4gICAgb3BhY2l0eTogMTtcbn1cbi8vXG46Om5nLWRlZXAgYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5mZWVkLWJ1dHRvbntcbiAgICBjb2xvcjogJGNvbG9yLTQ7XG59XG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG59XG4vLyBkYXJsZSBjb2xvciBhbCBib3RvbiB2ZXIsIHNpbiBjbGFzcyBtYXQtZWxldmF0aW9uLXogeSBubyBkZXNhYmlsaXRhZG9zXG4ubWF0LXJhaXNlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSk6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTQgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vZGFybGUgY29sb3IgYSBsYSB0YWJsYVxuLm1hdC1oZWFkZXItY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci01ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMHB4O1xufVxuXG4ucm93LWhlaWdodCB7XG4gICAgaGVpZ2h0OiAzNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtcm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItNiAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWhlYWRlci1yb3c6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LXJvdzpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXQtY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxcbi5tYXQtZm9vdGVyLWNlbGw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LWhlYWRlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgZm9udC1zaXplOiA5cHQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5tYXQtY2VsbHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5maWxlLWljb24tY2VsbHtcbiAgICB3aWR0aDogMTAwcHg7XG59XG5cblxuLnRpdGxlLWNvbnRhY3Rze1xuICAgIGZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmRhaWx5Z3JpZHNfdGFibGV7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4uZGFpbHlncmlkc19kZXNjcmlwdGlvbi1jb2x1bW57XG4gICAgcGFkZGluZzogMCAxZW0gIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8vcGFyYSBlbCBwYWdpbmF0b3Jcbjpob3N0IDo6bmctZGVlcCAubWF0LXBhZ2luYXRvciAubWF0LXBhZ2luYXRvci1vdXRlci1jb250YWluZXIgLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItNSA7XG59XG4vL1xuOmhvc3QgOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSB7XG4gICAgaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XG59XG4vL1xuOmhvc3QgOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLXJhbmdlLWxhYmVsIHtcbiAgICBtYXJnaW46IDAgMzJweCAtMTJweCAzMnB4ICFpbXBvcnRhbnQ7XG59XG4vL1xuOmhvc3QgOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tZmlyc3QsXG46Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1wcmV2aW91cyxcbjo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLW5leHQsXG46Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1sYXN0IHtcbiAgICBoZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbn1cblxuLy9zbGlkZXJcbmJvZHkge1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRiYWNrZ3JvdW5kOiAjRTNFM0UzO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRoZWlnaHQ6IDEwMHZoO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuQG1peGluIHdoaXRlLWdyYWRpZW50IHtcblx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSxyZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xufVxuXG4kYW5pbWF0aW9uU3BlZWQ6IDQwcztcblxuLy8gQW5pbWF0aW9uXG5Aa2V5ZnJhbWVzIHNjcm9sbCB7XG5cdDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cdDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMjUwcHggKiA3KSl9XG59XG5cbi8vIFN0eWxpbmdcbi5zbGlkZXIge1xuICAgIC8vYmFja2dyb3VuZDogJGNvbG9yLWNpbmNvO1xuICAgIC8vYm94LXNoYWRvdzogMCAxMHB4IDIwcHggLTVweCByZ2JhKDAsIDAsIDAsIC4xMjUpO1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7IC8qIEFkanVzdGVkIGhlaWdodCB0byBhY2NvbW1vZGF0ZSBjYXB0aW9ucyAqL1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogOTkwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5zbGlkZXI6OmJlZm9yZSxcbi5zbGlkZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7IC8qIEFkanVzdGVkIGhlaWdodCB0byBhY2NvbW1vZGF0ZSBjYXB0aW9ucyAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgei1pbmRleDogMjtcbn1cblxuLnNsaWRlcjo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMTgwZGVnKTtcbn1cblxuLnNsaWRlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbn1cblxuLnNsaWRlLXRyYWNrIHtcbiAgICBhbmltYXRpb246IHNjcm9sbCA0MHMgbGluZWFyIGluZmluaXRlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IGNhbGMoMjAwcHggKiAyICogdmFyKC0tZmFjdG9yKSk7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHJ1bm5pbmc7IC8qIFBvciBkZWZlY3RvLCBsYSBhbmltYWNpw7NuIHNlIGVqZWN1dGEgKi9cbn1cblxuLnNsaWRlLXRyYWNrLnBhdXNlZCB7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDsgLyogU2kgZXN0w6EgcGF1c2FkbywgZGV0ZW5lciBsYSBhbmltYWNpw7NuICovXG59XG5cbi5zbGlkZSB7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDsgXG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbCB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtMjAwcHggKiB2YXIoLS1mYWN0b3IpKSk7XG4gICAgfVxufVxuXG4uY2Fyb3VzZWwtaWFtZ2VuLWFuZC1kZXNjcmlwdGlvbntcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIFxufVxuXG4uY2Fyb3VzZWwtaW1hZ2V7XG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIGhlaWdodDogMjQwcHg7XG59XG5cbi5jYXJvdXNlbC10aXRsZS1hbmQtZGF0ZXtcbiAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgYm94LXNoYWRvdzogNHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIC4xMjUpO1xufVxuXG4uY2Fyb3VzZWwtdGl0bGV7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xufSJdfQ== */\";","import { ChangeDetectorRef, Component, ComponentFactoryResolver, ComponentRef, Injector, Input, OnInit, Renderer2, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { NetworkEpg } from 'src/app/shared/model/network-epg-model/network-epg';\nimport { NetworkTab } from 'src/app/shared/model/network-epg-model/network-tab';\nimport { NetworkEpgService } from 'src/app/shared/service/network-epg.service';\nimport { NetworkTabService } from 'src/app/shared/service/network-tab.service';\nimport { EpgComponent } from '../../epg.component';\nimport { catchError, takeUntil } from 'rxjs/operators';\nimport { Subject, Subscription, of } from 'rxjs';\nimport { MatTabChangeEvent } from '@angular/material/tabs';\nimport { NetworkGridsService } from 'src/app/shared/service/network-grids.service';\nimport { NetworksData } from 'src/app/shared/model/network-epg-model/network-data';\nimport { NetworkUtilsDialogComponent } from './utils-dialog/network-utils-dialog/network-utils-dialog.component';\nimport { MatDialog } from '@angular/material/dialog';\nimport { TapkitFile } from 'src/app/shared/model/network-epg-model/tapkit-file';\nimport { NetworskDownloadData } from 'src/app/shared/model/network-epg-model/networks-donwload-data';\nimport { NetworkDataSharingService } from 'src/app/shared/service/network-data-sharing.service';\nimport { Network } from 'src/app/shared/model/network';\nimport { environment } from 'src/environments/environment';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { NetworkDownloadData } from 'src/app/shared/model/network-epg-model/network-download-data';\nimport { saveAs } from 'file-saver';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\nimport { LangChangeEvent, TranslateService } from '@ngx-translate/core';\nimport { FormControl } from '@angular/forms';\nimport * as moment from 'moment';\nimport { Moment } from 'moment';\nimport { MatDatepicker, MatDatepickerInput, MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { LocalBreaksFilesByFeed } from 'src/app/shared/model/network-epg-model/localbreaks-files-with-feed';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { NetworkLocalbreaksService } from 'src/app/shared/service/network-localbreaks.service';\nimport { NetworkDetails } from 'src/app/shared/model/network-details';\nimport { WebsitesUtilsDialogComponent } from './utils-dialog/websites-utils-dialog/websites-utils-dialog.component';\nimport { NetworkContactService } from 'src/app/shared/service/network-contact.service';\nimport { NetworkContact } from 'src/app/shared/model/network-contact';\nimport { FeedsUtilsDialogComponent } from './utils-dialog/feeds-utils-dialog/feeds-utils-dialog.component';\nimport { FeedService } from 'src/app/shared/service/feed.service';\nimport { Feed } from 'src/app/shared/model/feed';\nimport { DailyGridsFilesByFeed } from 'src/app/shared/model/network-epg-model/dailygrids';\nimport { NetworkDailygridsService } from 'src/app/shared/service/network-dailygrids.service';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { NewsService } from 'src/app/shared/service/epg-news.service';\nimport { EpgNews } from 'src/app/shared/model/news-model/news';\n\n@Component({\n selector: 'app-networks',\n templateUrl: './networks.component.html',\n styleUrls: ['./networks.component.scss']\n})\nexport class NetworksComponent implements OnInit {\n\n networkUrl: string = \"\";\n logoUrl: string;\n logoUrlBig: string;\n tabIndex: number[] = [1, 2, 3, 4, 5, 6, 7, 8];//para poder filtrar los tabs\n networksData: NetworksData = {};\n networkTabs: NetworkTab[] = [];\n networkEpg: NetworkEpg[] = [];\n idSeleccionado: number;\n networkSelected: boolean = false;//habilitar componentes del html\n networkNotSelected: boolean = true;//habilitar imagen del html\n gridsFileBoolean: boolean = false;//habilitar el mat progress bar de grids\n highligthFileBoolean: boolean = false;//habilitar el mat progress bar de highligth\n imagesFileBoolean: boolean = false;//habilitar el mat progress bar de images\n videosFileBoolean: boolean = false;//habilitar el mat progress bar de videos\n localbreaksFileBoolean: boolean = false;//habilitar el mat progress bar de localbreaks\n dailyGridsFileBoolean: boolean = false;//habilitar el mat progress bar de localbreaks\n epakFileBoolean: boolean = false;//habilitar el mat progress bar de EPAK\n updateFileBoolean: boolean = false;//habilitar el mat progress bar de UPDATES\n networkEpgActual: NetworkEpg;\n networkDetails: NetworkDetails;\n networskDownloadData: NetworskDownloadData[] = [];\n currentNetwork: Network;\n currentNetworkContact: NetworkContact;\n currentTab: number;\n private unsubscription$: Subject;\n private langChangeSubscription: Subscription;\n networkGrids: NetworkTab;\n tabNames: { [id_tab: number]: string } = {\n [1]: \"gridsFiles\",\n [2]: \"dailyGrids\",\n [3]: \"destacados\",\n [4]: \"imagenes\",\n [5]: \"videos\",\n [6]: \"localBreakFiles\",\n [7]: \"epak\",\n [8]: \"updates\"\n };\n\n //Carousel\n epgNewsCarousel: EpgNews[] = [];\n defaultLogoUrl: string = environment.bucketUrlImagesNewsLogo;\n numSlides: number = 0;\n isPaused: boolean = false;\n\n modifiedFileParams: string;\n createdFileParams: string;\n infoMessage: string;\n errorMessage: string;\n //Localbreaks\n @ViewChild(MatPaginator) localbreakstablePaginator: MatPaginator;\n localBreaksMessageOk: string\n localBreaksMessageError: string;\n date = new FormControl(moment());\n private readonly MIN_DATE_IN_DAYS = new Date().getDate() - 365;\n private readonly MAX_DATE_IN_DAYS = new Date().getDate() + 365;\n minDate = new Date();\n maxDate = new Date();\n datePickerStartDate: string = moment().format('YYYY-MM-DD');\n datePickerChanged: string = \"\";\n localBreaksFilesByFeed: LocalBreaksFilesByFeed[] = [];\n localBreaksDataSourceFile = new MatTableDataSource([]);\n localBreaksDisplayedColumns: String[] = [\"feed\", \"file_name\", \"download\"];\n //dailygrids\n dailyGridsFilesByFeed: DailyGridsFilesByFeed[] = [];\n dailyGridsDataSourceFile = new MatTableDataSource([]);\n dailyGridsDisplayedColumns: String[] = [\"name\", \"download\"];\n\n networkDownloadData: NetworkDownloadData = {\n name: '',\n path: ''\n };\n feeds: Feed[] = [];\n //datePickerStartDate = new Date().getDate();\n\n //actionLocalProgress: boolean = false;\n //selectedDate = new Date();\n //selectedDateBoolean: boolean = false;\n\n //variables para borrar\n tab2: string = \"Prensa\";\n tabsNames: string[] = ['GRIDS', 'DAILYGRIDS', 'HIGHLIGHTS', 'IMAGES', 'VIDEOS', 'LOCALBREAK', 'EPAK', 'UPDATES'];\n lang: string;\n\n\n constructor\n (\n private networkGridsService: NetworkGridsService,\n private networkTabService: NetworkTabService,\n private networkEpgService: NetworkEpgService,\n private epgComponent: EpgComponent,\n private dialog: MatDialog,\n private dataSharingServices: NetworkDataSharingService,\n private route: ActivatedRoute,\n private snackBar: MatSnackBar,\n private translateService: TranslateService,\n private networkLocalbreaksService: NetworkLocalbreaksService,\n private networkContactService: NetworkContactService,\n private feedService: FeedService,\n private networkDailyGridsService: NetworkDailygridsService,\n private newsService: NewsService,\n private renderer: Renderer2\n ) {\n this.unsubscription$ = new Subject();\n this.logoUrl = environment.bucketUrlImagesNetworksLogo;\n this.logoUrlBig = environment.bucketUrlImages + \"wbd_new_logo_big.png\";\n //Guardo los parámetros que provienen del JOB de notificaciones\n this.modifiedFileParams = this.route.snapshot.queryParams[\"file\"];\n this.createdFileParams = this.route.snapshot.queryParams[\"createdFile\"];\n this.networkDetails = new NetworkDetails();\n this.lang = sessionStorage.getItem('locale');\n this.translations();\n }\n\n ngOnInit(): void {\n\n this.minDate.setDate(this.MIN_DATE_IN_DAYS);\n this.maxDate.setDate(this.MAX_DATE_IN_DAYS);\n // traer los tabs de cada network\n this.networkTabService.getAllNetworkTab().subscribe(result => {\n this.networkTabs = result;\n });\n // traer la info de botones y tabs de arriba\n this.networkEpgService.getAllNetwork().subscribe(result => {\n this.networkEpg = result;\n });\n //falta llamado para traer contacts.\n\n //traer el network seleccionado\n this.epgComponent.selectedNetwork$.pipe(takeUntil(this.unsubscription$)).subscribe((codeNetwork) => {\n this.changeNetwork(codeNetwork);\n this.changeContacts(codeNetwork.id);\n this.changeNetworkDetails(this.networkEpgActual, this.lang);\n })\n\n // Suscripción independiente a onLangChange\n this.langChangeSubscription = this.translateService.onLangChange\n .pipe(takeUntil(this.unsubscription$))\n .subscribe((langChangeEvent: LangChangeEvent) => {\n this.lang = langChangeEvent.lang;\n if (this.networkEpgActual)\n this.changeNetworkDetails(this.networkEpgActual, this.lang)\n });\n\n\n\n //saco los files desseleccionados desde el dialog\n this.dataSharingServices.getMyObjectSubject().subscribe((data) => {\n this.networksData[data.id_network][this.tabNames[data.tab_id]].find(gf => {\n let gfl = gf.lista.find(gfl => gfl.id === data.file_id);\n if (!gfl)\n return false;\n gfl.selected = false;\n return true;\n });//change detection reference\n });\n\n //Si la URL contiene parámetros de tipo \"file\", se inicia automáticamente la descarga de archivos modificados del JOB de notificaciones\n if (this.modifiedFileParams) {\n this.donwloadExternalFiles(this.modifiedFileParams, \"Updated_Tapkit_Files.zip\");\n } else if (this.createdFileParams)\n this.donwloadExternalFiles(this.createdFileParams, \"Created_Tapkit_Files.zip\");\n\n //Traemos las imagenes para el carrusel.\n this.newsService.findByNetworkDateAndImage().subscribe((data) => {\n this.epgNewsCarousel = data;\n this.numSlides = this.epgNewsCarousel.length;\n document.documentElement.style.setProperty('--contentvalue', this.numSlides.toString());\n });\n }\n\n getFactor() {\n return this.numSlides;\n }\n\n pauseAnimation() {\n if (this.epgNewsCarousel.length >= 6) {\n this.isPaused = true;\n document.querySelector('.slide-track').classList.add('paused');\n }\n }\n\n resumeAnimation() {\n if (this.epgNewsCarousel.length >= 6) {\n this.isPaused = false;\n document.querySelector('.slide-track').classList.remove('paused');\n }\n }\n\n changeContacts(networkId: number) {\n this.networkContactService.getAllContacts(networkId).subscribe((result: NetworkContact) => {\n this.currentNetworkContact = result;\n });\n }\n\n getFactshet() {\n this.networkEpgService.downloadFile(environment.bucketUrlFeeds + this.networkEpgActual.factSheet)\n }\n\n getLogo() {\n this.networkEpgService.downloadFile(environment.bucketUrlFeeds + this.networkEpgActual.pressKit)\n }\n\n // Funcion para actualizar datos cada vez que cambia el network\n changeNetwork(currentNetwork: Network) {\n this.networkNotSelected = false;\n this.currentNetwork = currentNetwork;\n //this.currentTab = 1;\n this.idSeleccionado = currentNetwork.id;\n this.networkUrl = this.logoUrl + currentNetwork.logo;\n this.networkEpgActual = this.networkEpg.find(network => network.id === this.idSeleccionado);// puede tirar error porque networkEpg puede tardar mas en traer los datos\n\n this.networkSelected = true;\n //this.selectedDateBoolean = false;\n if (!this.currentTab) {\n\n this.currentTab = this.getMinTab(this.idSeleccionado);\n }\n\n this.tabsGetData(this.idSeleccionado, this.currentTab);\n\n }\n\n\n changeNetworkDetails(networkEpgActual: NetworkEpg, lang: string) {\n if (lang == 'en') {\n this.networkDetails.about = networkEpgActual.informationEn;\n this.networkDetails.urls = networkEpgActual.urlsEn;\n this.networkDetails.urlFacebook = networkEpgActual.urlFacebookEn;\n this.networkDetails.urlTwitter = networkEpgActual.urlTwitterEn;\n }\n if (lang == 'es') {\n this.networkDetails.about = networkEpgActual.informationEs;\n this.networkDetails.urls = networkEpgActual.urlsEs;\n this.networkDetails.urlFacebook = networkEpgActual.urlFacebookEs;\n this.networkDetails.urlTwitter = networkEpgActual.urlTwitterEs;\n }\n if (lang == 'pt') {\n this.networkDetails.about = this.networkEpgActual.informationPt;\n this.networkDetails.urls = this.networkEpgActual.urlsPt;\n this.networkDetails.urlFacebook = this.networkEpgActual.urlFacebookPt;\n this.networkDetails.urlTwitter = this.networkEpgActual.urlTwitterPt;\n }\n\n }\n\n // Funcion para traer el tab minimo\n getMinTab(idSel: number): number {\n const selectedNetworkTabs = this.networkTabs.filter(tab => tab.id_network == idSel);\n if (selectedNetworkTabs.length === 0) {\n return -1;\n }\n const minTabId = selectedNetworkTabs.reduce((min, tab) => {\n return tab.tab_id < min ? tab.tab_id : min;\n }, selectedNetworkTabs[0].tab_id);\n return minTabId;\n }\n\n // Funcion para mostrar los tabs en el html si es que tiene tab_id el network.\n hasIdTab(tabId: number): boolean {\n const selectedNetworkTabs = this.networkTabs.filter(tab => tab.id_network === this.idSeleccionado);\n return selectedNetworkTabs.some(tab => tab.tab_id === tabId);\n }\n\n //busco la informacion dependiendo del tag y network seleccionado.\n tabsGetData(idSeleccionado: number, tabId: number): void {\n if (!this.networksData[idSeleccionado]) {\n //inicializo las listas de datos de cada network.\n this.networksData[idSeleccionado] = {\n gridsFiles: null,\n daily: null,\n destacados: null,\n imagenes: null,\n videos: null,\n localBreakFiles: null,\n epak: null,\n updates: null\n };\n }\n\n if (!this.networksData[idSeleccionado][tabId]) {\n this.getNetworkGrids(this.idSeleccionado, this.tabsNames[tabId - 1], tabId, this.datePickerStartDate);\n this.networksData[idSeleccionado][tabId] = true;\n }\n else if (tabId == 6) {\n this.getNetworkGrids(this.idSeleccionado, this.tabsNames[5], 6, this.datePickerStartDate);\n }\n }\n\n //cuando cambia el tab, busco el id correspondiente y traigo la info de ese tab.\n onTabChange(event: MatTabChangeEvent): void {\n const selectedNetworkTabs = this.networkTabs\n .filter(tab => tab.id_network === this.idSeleccionado)\n .sort((a, b) => a.tab_id - b.tab_id);\n\n const selectedTabIndex = event.index;\n if (selectedTabIndex < selectedNetworkTabs.length) {\n this.currentTab = selectedNetworkTabs[selectedTabIndex].tab_id;\n }\n\n if (!this.networksData[this.idSeleccionado] || !this.networksData[this.idSeleccionado][this.currentTab]) {\n this.tabsGetData(this.idSeleccionado, this.currentTab);\n }\n }\n\n // Funcion para cargar los botones, creo\n getRows(array: any[], columns: number): any[] {\n const result = [];\n for (let i = 0; i < array.length; i += columns) {\n result.push(array.slice(i, i + columns));\n }\n return result;\n }\n\n\n // FuncioshouldShowButtonn para verificar que boton mostrar\n shouldShowButton(buttonId: number): boolean {\n const selectedNetwork = this.networkEpg.find(network => network.id === this.idSeleccionado)\n if (!selectedNetwork) {\n return false;\n }\n switch (buttonId) {\n case 1:\n return (this.networkDetails.urlFacebook == null || this.networkDetails.urlFacebook == \"\");\n case 2:\n return (this.networkDetails.urlTwitter == null || this.networkDetails.urlTwitter == \"\");\n case 3:\n return (this.networkEpgActual.feedImage == null || this.networkEpgActual.feedImage == \"\");\n case 4:\n return (this.networkDetails.urls == null || this.networkDetails.urls == \"\");\n case 5:\n return (this.networkEpgActual.factSheet == null || this.networkEpgActual.factSheet == \"\");\n case 6:\n return (this.networkEpgActual.pressKit == null || this.networkEpgActual.pressKit == \"\");\n default:\n return true;\n }\n }\n\n //Funcion para abrir el link de facebook o twitter\n openLink(link: string) {\n if (link) {\n window.open(link, '_blank');\n }\n }\n\n openWebsite() {\n this.dialog.open(WebsitesUtilsDialogComponent, {\n data: this.networkDetails.urls,\n minWidth: '350px',\n });\n }\n\n openFeeds() {\n this.dialog.open(FeedsUtilsDialogComponent, {\n data: {\n feedImage: this.networkEpgActual.feedImage,\n feedText: this.networkEpgActual.feedText,\n feedHorarios: this.networkEpgActual.feedHorarios\n },\n minWidth: '450px',\n })\n }\n\n // Funcion para deseleccionar todos los files\n deselectFiles() {\n this.networskDownloadData.forEach(netData => {\n const networkData = this.networksData[netData.id_network];\n if (networkData && networkData[this.tabNames[netData.tab_id]]) {\n networkData[this.tabNames[netData.tab_id]].forEach(gridsFile => {\n const gfl = gridsFile.lista.find(gfl => gfl.id === netData.file_id);\n if (gfl) {\n gfl.selected = false;\n }\n });\n }\n });\n\n this.networskDownloadData = [];\n }\n\n // Funcion para pasar los nombres de los archivos al dialog y mostrarlos.\n descargarfilesPublicSeleccionados() {\n this.dialog.open(NetworkUtilsDialogComponent, {\n data: this.networskDownloadData\n });\n }\n\n //Funcion para actualziar el valor de los checkbox.\n updateSelectedCount(gridsFile: TapkitFile) {\n if (gridsFile.selected) {\n const netData = new NetworskDownloadData;\n netData.id_network = this.idSeleccionado;\n netData.network_code = this.currentNetwork.code;\n netData.tab_id = this.currentTab;\n netData.name = gridsFile.name\n netData.selected = true;\n netData.file_id = gridsFile.id;\n netData.path = gridsFile.path;\n this.networskDownloadData.push(netData);\n } else {\n const index = this.networskDownloadData.findIndex(file => file.name === gridsFile.name);\n if (index !== -1) {\n this.networskDownloadData.splice(index, 1);\n }\n }\n }\n\n //traigo la info de las grillas\n getNetworkGrids(idSeleccionado: number, file_type: string, tab_id: number, date: string) {\n this.networkGrids = this.networkTabs.find(tab => tab.id_network === idSeleccionado);\n switch (tab_id) {\n case 1:\n this.gridsFileBoolean = true;\n this.networkGridsService.getFilesFilteredByNetworkIdAndMonth(idSeleccionado, file_type, this.networkGrids.meses_desde, this.networkGrids.meses_hasta).subscribe(result => {\n this.networksData[idSeleccionado].gridsFiles = result;\n this.gridsFileBoolean = false;\n });;\n break;\n case 2:\n //this.dailyGridsFileBoolean = true;\n this.networksData[idSeleccionado].daily = this.currentNetwork.feeds;\n break;\n case 3:\n this.highligthFileBoolean = true;\n this.networkGridsService.getFilesFilteredByNetworkIdAndMonth(idSeleccionado, file_type, this.networkGrids.meses_desde, this.networkGrids.meses_hasta).subscribe(result => {\n this.networksData[idSeleccionado].destacados = result;\n this.highligthFileBoolean = false;\n });;\n break;\n case 4:\n this.imagesFileBoolean = true;\n this.networkGridsService.getFilesFilteredByNetworkIdAndMonth(idSeleccionado, file_type, this.networkGrids.meses_desde, this.networkGrids.meses_hasta).subscribe(result => {\n this.networksData[idSeleccionado].imagenes = result;\n this.imagesFileBoolean = false;\n });;\n break;\n case 5:\n this.videosFileBoolean = true;\n this.networkGridsService.getFilesFilteredByNetworkIdAndMonth(idSeleccionado, file_type, this.networkGrids.meses_desde, this.networkGrids.meses_hasta).subscribe(result => {\n this.networksData[idSeleccionado].videos = result;\n this.videosFileBoolean = false;\n });;\n break;\n case 6:\n this.localbreaksFileBoolean = true;\n this.localBreaksDataSourceFile = null;\n this.networkGridsService.getFilesFilteredByNetworkIdMonthAndDate(idSeleccionado, file_type, date).subscribe(result => {\n //console.log(\"result\", result);\n this.localBreaksFilesByFeed = result;\n this.localBreaksDataSourceFile = new MatTableDataSource(result);\n this.localBreaksDataSourceFile.paginator = this.localbreakstablePaginator;\n this.localbreaksFileBoolean = false;\n });\n break;\n case 7:\n this.epakFileBoolean = true;\n this.networkGridsService.getEpakFiles(idSeleccionado).subscribe(result => {\n this.networksData[idSeleccionado].epak = result;\n this.epakFileBoolean = false;\n });;\n break;\n case 8:\n this.updateFileBoolean = true;\n this.networkGridsService.getUpdateFiles(idSeleccionado).subscribe(result => {\n this.networksData[idSeleccionado].updates = result;\n this.updateFileBoolean = false;\n });;\n break;\n case 9:\n console.log(\"estoy en Cambios de Programacion\");\n break;\n }\n }\n\n onDateChange(event: MatDatepickerInputEvent): void {\n if (event.value) {\n this.datePickerChanged = moment(event.value).format('YYYY-MM-DD');\n this.getNetworkGrids(this.idSeleccionado, this.tabsNames[5], 6, this.datePickerChanged);\n } else {\n\n }\n }\n\n downloadLocalBreak(element): void {\n //console.log(\"element:\", element);\n this.networkDownloadData.name = element.name;\n this.networkDownloadData.path = element.path;\n this.networkLocalbreaksService.downloadLocalBreaksFile(this.networkDownloadData).subscribe({\n next: (res) => {\n this.manageCsvFile(res, element.name);\n this.showSnackbar(this.localBreaksMessageOk, \"Ok\");\n },\n error: (e) => {\n this.showSnackbar(this.localBreaksMessageError, \"Ok\");\n }\n });\n }\n\n downloadDailyGrids(element): void {\n this.dailyGridsFileBoolean = true;\n this.networkDailyGridsService.downloadDailyGridsFile(element.id).subscribe({\n next: (res) => {\n this.dailyGridsFileBoolean = false;\n this.manageCsvFile(res, element.id + \"-schedule\");\n this.showSnackbar(this.localBreaksMessageOk, \"Ok\");\n },\n error: (e) => {\n this.showSnackbar(this.localBreaksMessageError, \"Ok\");\n }\n });\n\n }\n\n manageCsvFile(response: any, filename: string): void {\n const dataType = response.type;\n const binaryData = [];\n binaryData.push(response);\n const filePath = window.URL.createObjectURL(new Blob(binaryData, { type: dataType }))\n const downloadLink = document.createElement('a')\n downloadLink.href = filePath\n downloadLink.setAttribute('download', filename)\n document.body.appendChild(downloadLink)\n downloadLink.click()\n }\n\n //Método para descargar archivos que fueron modificados: \"Job Notificaciones\"\n donwloadExternalFiles(fileParam: string, zipName: string) {\n const body = fileParam;\n let networkDownloadDataArray: NetworkDownloadData[];\n if (Array.isArray(body)) {\n networkDownloadDataArray = body.map(this.createNetworkData);\n } else {\n networkDownloadDataArray = [this.createNetworkData(body)]\n }\n //Servicio para descargar archivos\n this.networkGridsService.getDownloadedFiles(networkDownloadDataArray).pipe(\n catchError(e => {\n console.error('Error al descargar los archivos:', e);\n this.showErrorSnackBar(this.errorMessage, \"Ok\")\n return of(null);\n })\n ).subscribe((arrayBuffer) => {\n if (arrayBuffer) {\n //Mostrar antes del subscribe\n this.showSnackbar(this.infoMessage, \"Ok\");\n this.arrayBufferToFile(arrayBuffer, zipName);\n }\n });\n }\n\n //Guardar archivo de tipo Blob\n arrayBufferToFile(arrayBuffer: ArrayBuffer, zipName: string) {\n const blob = new Blob([arrayBuffer]);\n saveAs(blob, zipName);\n }\n\n //Creo arreglos de tipo NetworkData\n createNetworkData(file: string): NetworkDownloadData {\n const path = file;\n const lastSlashIndex = file.lastIndexOf(\"/\") + 1;\n const name = file.substring(lastSlashIndex, file.length);\n return { name, path };\n }\n\n //Traigo el network code\n getNetwork(networkId: number): string {\n const network = this.networkEpg.find(net => net.id == networkId);\n return network?.code;\n }\n\n //Snackbars\n showSnackbar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.duration = 3000;\n config.verticalPosition = \"top\";\n config.panelClass = ['snackbar-info'];\n this.snackBar.open(message, action, config);\n }\n\n showErrorSnackBar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['error-snackbar'];\n this.snackBar.open(message, action, config);\n }\n\n\n //Traducciones\n private translations(): void {\n const keys = [\n 'epg.networks.mesages.error',\n 'epg.networks.mesages.download',\n 'epg.networks.mesages.localbreaks.downloadok',\n 'epg.networks.mesages.localbreaks.downloaderror'\n ];\n this.translateService\n .stream(keys)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.mapperToMessages(translations));\n }\n\n private mapperToMessages(translations: any): void {\n this.errorMessage = translations['epg.networks.mesages.error'];\n this.infoMessage = translations['epg.networks.mesages.download'];\n this.localBreaksMessageOk = translations['epg.networks.mesages.localbreaks.downloadok'];\n this.localBreaksMessageError = translations['epg.networks.mesages.localbreaks.downloaderror'];\n }\n\n ngOnDestroy(): void {\n if (this.langChangeSubscription) {\n this.langChangeSubscription.unsubscribe();\n }\n }\n}\n","export default \".botones .network-button {\\n width: 100px;\\n}\\n\\n.network-button {\\n color: white;\\n background-color: #355CFE;\\n line-height: inherit;\\n}\\n\\n.row {\\n width: 100%;\\n padding-top: 12px;\\n}\\n\\n.button-container {\\n padding-left: 80px;\\n}\\n\\n.network-code {\\n font-size: 20px;\\n color: #b9b8b8;\\n}\\n\\n.network-icon {\\n margin-right: 8px;\\n color: #355CFE;\\n margin-bottom: 8px;\\n}\\n\\n.network-container {\\n display: flex;\\n align-items: center;\\n}\\n\\n.feed-title {\\n margin-bottom: 0.1rem;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n\\n::ng-deep .feed-content p, ::ng-deep .feed-content div {\\n margin-bottom: 0 !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ldHdvcmtzL25ldHdvcmtzL3V0aWxzLWRpYWxvZy9mZWVkcy11dGlscy1kaWFsb2cvZmVlZHMtdXRpbHMtZGlhbG9nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFJO0VBQ0ksWUFBQTtBQVBSOztBQVVBO0VBQ0ksWUFBQTtFQUNBLHlCQVhXO0VBWVgsb0JBQUE7QUFQSjs7QUFTQTtFQUNJLFdBQUE7RUFDQSxpQkFBQTtBQU5KOztBQVFBO0VBQ0ksa0JBQUE7QUFMSjs7QUFPQTtFQUNJLGVBQUE7RUFDQSxjQXJCUztBQWlCYjs7QUFNQTtFQUNJLGlCQUFBO0VBQ0EsY0EzQlc7RUE0Qlgsa0JBQUE7QUFISjs7QUFNQTtFQUNJLGFBQUE7RUFDQSxtQkFBQTtBQUhKOztBQU1BO0VBQ0kscUJBQUE7QUFISjs7QUFLQSx1REFBQTs7QUFDQTtFQUNJLHlCQXpDVztBQXVDZjs7QUFNQTtFQUNJLDJCQUFBO0FBSEoiLCJmaWxlIjoic3JjL2FwcC9lcGcvbmV0d29ya3MvbmV0d29ya3MvdXRpbHMtZGlhbG9nL2ZlZWRzLXV0aWxzLWRpYWxvZy9mZWVkcy11dGlscy1kaWFsb2cuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkY29sb3ItcHJpbWFyeTogIzVBNjNENDtcbiRjb2xvci1zZWNvbmRhcnk6ICMzRjQ4Q0M7XG4kY29sb3ItdHJlczogI0Q3RDdENztcbiRjb2xvci1jdWF0cm86ICMzNTVDRkU7XG4kY29sb3ItY2luY286ICNDRUNFQ0U7XG4kY29sb3Itc2VpczogI2I5YjhiODtcblxuLmJvdG9uZXN7XG4gICAgLm5ldHdvcmstYnV0dG9ue1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxufVxuLm5ldHdvcmstYnV0dG9ue1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItY3VhdHJvIDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbi5yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogODBweDtcbn1cbi5uZXR3b3JrLWNvZGV7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAkY29sb3Itc2Vpcztcbn1cbi5uZXR3b3JrLWljb257XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgY29sb3I6ICRjb2xvci1jdWF0cm87XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4ubmV0d29yay1jb250YWluZXJ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uZmVlZC10aXRsZXtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjFyZW07XG59XG4vKiogU29icmVlc2NyaWJlIGVsIGNvbG9yIHByZWRldGVybWluYWRvIGRlbCBjaGVja2JveCAqL1xuOjpuZy1kZWVwIC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybztcbn1cblxuXG46Om5nLWRlZXAgLmZlZWQtY29udGVudCBwLCA6Om5nLWRlZXAgLmZlZWQtY29udGVudCBkaXZ7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuIl19 */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-feeds-utils-dialog',\n templateUrl: './feeds-utils-dialog.component.html',\n styleUrls: ['./feeds-utils-dialog.component.scss']\n})\nexport class FeedsUtilsDialogComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef\n ) { }\n\n ngOnInit(): void {\n this.data.feedImage = environment.bucketUrlFeeds + this.data.feedImage;\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","export default \".form-container {\\n overflow-y: scroll;\\n max-height: 80vh;\\n scrollbar-width: thin;\\n}\\n\\n.botones .network-button {\\n width: 100px;\\n}\\n\\n.network-button {\\n color: white;\\n background-color: #355CFE;\\n line-height: inherit;\\n}\\n\\n.row {\\n width: 100%;\\n padding-top: 12px;\\n}\\n\\n.button-container {\\n padding-left: 80px;\\n}\\n\\n.network-code {\\n font-size: 20px;\\n color: #b9b8b8;\\n}\\n\\n.network-icon {\\n margin-right: 8px;\\n color: #355CFE;\\n margin-bottom: 8px;\\n}\\n\\n.network-container {\\n display: flex;\\n align-items: center;\\n}\\n\\n::ng-deep .checkbox-container {\\n padding-right: 9px;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ldHdvcmtzL25ldHdvcmtzL3V0aWxzLWRpYWxvZy9uZXR3b3JrLXV0aWxzLWRpYWxvZy9uZXR3b3JrLXV0aWxzLWRpYWxvZy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTtFQUNJLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtBQVBKOztBQVVJO0VBQ0ksWUFBQTtBQVBSOztBQVVBO0VBQ0ksWUFBQTtFQUNBLHlCQWpCTTtFQWtCTixvQkFBQTtBQVBKOztBQVNBO0VBQ0ksV0FBQTtFQUNBLGlCQUFBO0FBTko7O0FBUUE7RUFDSSxrQkFBQTtBQUxKOztBQU9BO0VBQ0ksZUFBQTtFQUNBLGNBM0JNO0FBdUJWOztBQU1BO0VBQ0ksaUJBQUE7RUFDQSxjQWpDTTtFQWtDTixrQkFBQTtBQUhKOztBQVFBO0VBQ0ksYUFBQTtFQUNBLG1CQUFBO0FBTEo7O0FBUUE7RUFDSSxrQkFBQTtBQUxKOztBQVFBLHVEQUFBOztBQUNBO0VBQ0kseUJBbERNO0FBNkNWIiwiZmlsZSI6InNyYy9hcHAvZXBnL25ldHdvcmtzL25ldHdvcmtzL3V0aWxzLWRpYWxvZy9uZXR3b3JrLXV0aWxzLWRpYWxvZy9uZXR3b3JrLXV0aWxzLWRpYWxvZy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiRjb2xvci0xOiAjNUE2M0Q0O1xuJGNvbG9yLTI6ICMzRjQ4Q0M7XG4kY29sb3ItMzogI0Q3RDdENztcbiRjb2xvci00OiAjMzU1Q0ZFO1xuJGNvbG9yLTU6ICNDRUNFQ0U7XG4kY29sb3ItNjogI2I5YjhiODtcbiRjb2xvci03OiAjNzc3O1xuXG4uZm9ybS1jb250YWluZXJ7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xufVxuLmJvdG9uZXN7XG4gICAgLm5ldHdvcmstYnV0dG9ue1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgfVxufVxuLm5ldHdvcmstYnV0dG9ue1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItNCA7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG4ucm93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbn1cbi5idXR0b24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG59XG4ubmV0d29yay1jb2Rle1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogJGNvbG9yLTY7XG59XG4ubmV0d29yay1pY29ue1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIGNvbG9yOiAkY29sb3ItNDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4ubmV0d29yay1jaGVja2JveHtcbiAgICAvL2NvbG9yOiAkY29sb3Itc2Vpcztcbn1cbi5uZXR3b3JrLWNvbnRhaW5lcntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbjo6bmctZGVlcCAuY2hlY2tib3gtY29udGFpbmVye1xuICAgIHBhZGRpbmctcmlnaHQ6IDlweDtcbn1cblxuLyoqIFNvYnJlZXNjcmliZSBlbCBjb2xvciBwcmVkZXRlcm1pbmFkbyBkZWwgY2hlY2tib3ggKi9cbjo6bmctZGVlcCAubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci00O1xufVxuIl19 */\";","import { AuthenticationService } from './../../../../../shared/service/authentication.service';\nimport { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Subject, of } from 'rxjs';\nimport { saveAs } from 'file-saver';\nimport { catchError, takeUntil } from 'rxjs/operators';\nimport { NetworkDownloadData } from 'src/app/shared/model/network-epg-model/network-download-data';\nimport { NetworskDownloadData } from 'src/app/shared/model/network-epg-model/networks-donwload-data';\nimport { NetworkDataSharingService } from 'src/app/shared/service/network-data-sharing.service';\nimport { NetworkGridsService } from 'src/app/shared/service/network-grids.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { User } from 'src/app/shared/model/user';\nimport { UserService } from 'src/app/shared/service/user.service';\n\n@Component({\n selector: 'app-network-utils-dialog',\n templateUrl: './network-utils-dialog.component.html',\n styleUrls: ['./network-utils-dialog.component.scss']\n})\nexport class NetworkUtilsDialogComponent implements OnInit {\n\n fileName: string = \"TurnerTapkit-EPG-Networks.zip\";\n descargando: boolean = false;\n showMesage: boolean = false;\n showErrorMessage: boolean = false;\n networskDownloadData: NetworskDownloadData[] = [];\n filesToDownload: string[] = [];\n private unsubscription$: Subject;\n tabsNames: string[] = [];\n netDownloadData: NetworkDownloadData[] = [];\n currentUser: User;\n\n constructor(\n private _netService: NetworkDataSharingService,\n private authenticationService: AuthenticationService,\n private _service: NetworkGridsService,\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n private translateService: TranslateService,\n private userService: UserService\n ) {\n this.networskDownloadData = data;\n this.unsubscription$ = new Subject();\n this.translations();\n\n }\n\n ngOnInit(): void {\n this.networskDownloadData.sort((a, b) => {\n if (a.id_network !== b.id_network) {\n return a.id_network - b.id_network;\n } else {\n return a.tab_id - b.tab_id;\n }\n })\n\n this.currentUser = this.authenticationService.currentUserValue;\n }\n\n private translations(): void {\n const keys = [\n 'epg.networks.tabs.grids',\n 'epg.networks.tabs.highlights',\n 'epg.networks.tabs.images',\n 'epg.networks.tabs.videos',\n 'epg.networks.tabs.localbreaks',\n 'epg.networks.tabs.dailygrids',\n 'epg.networks.tabs.epak',\n 'epg.networks.tabs.updates'\n ];\n this.translateService\n .stream(keys)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.mapperToMessages(translations));\n }\n\n private mapperToMessages(translations: any): void {\n this.tabsNames[1] = translations['epg.networks.tabs.grids'];\n this.tabsNames[2] = translations['epg.networks.tabs.dailygrids'];\n this.tabsNames[3] = translations['epg.networks.tabs.highlights'];\n this.tabsNames[4] = translations['epg.networks.tabs.images'];\n this.tabsNames[5] = translations['epg.networks.tabs.videos'];\n this.tabsNames[6] = translations['epg.networks.tabs.localbreaks'];\n this.tabsNames[7] = translations['epg.networks.tabs.epak'];\n this.tabsNames[8] = translations['epg.networks.tabs.updates'];\n }\n\n download(): void {\n this.descargando = true;\n this.showMesage = true;\n //this.filesToDownload = this.networskDownloadData.map(item => item.name);\n this.networskDownloadData.forEach((element) => {\n const net: NetworkDownloadData = {\n name: element.name,\n path: element.path,\n };\n this.netDownloadData.push(net);\n });\n //console.log(\"lista\", this.netDownloadData)\n this._service.getDownloadedFiles(this.netDownloadData).pipe(\n catchError(error => {\n console.error('Error al descargar los archivos:', error);\n this.descargando = false;\n this.showMesage = false;\n this.showErrorMessage = true;\n setTimeout(() => {\n this.showErrorMessage = false;\n }, 3000);\n return of(null);\n })\n ).subscribe((arrayBuffer) => {\n if (arrayBuffer) {\n this.arrayBufferToFile(arrayBuffer);\n }\n\n for (const downloadedFile of this.networskDownloadData) {\n\n const formData = new FormData();\n\n formData.append('user-token', this.currentUser.accessToken);\n formData.append('file-id', downloadedFile.file_id.toString());\n formData.append('downloaded-date', this.dateFormat(new Date()));\n\n this.userService.registerDownloadedFile(formData).subscribe();\n\n }\n\n this.descargando = false;\n this.showMesage = false;\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n arrayBufferToFile(arrayBuffer: ArrayBuffer) {\n const blob = new Blob([arrayBuffer]);\n saveAs(blob, this.fileName);\n }\n\n removeFileFromList(network: NetworskDownloadData) {\n const index = this.networskDownloadData.findIndex(item => item === network);\n if (index !== -1) {\n this._netService.updateMyObject(network);\n this.networskDownloadData.splice(index, 1);\n }\n if (this.networskDownloadData.length == 0) {\n this.descargando = true;\n }\n }\n\n deselectFiles() {\n for (const file of this.networskDownloadData) {\n file.selected = false;\n this._netService.updateMyObject(file);\n }\n this.networskDownloadData.splice(0, this.networskDownloadData.length);\n this.networskDownloadData = [];\n this.descargando = true;\n }\n\n private dateFormat(lastDownloadedDate: Date): string {\n\n const year = lastDownloadedDate.getFullYear();\n const month = ('0' + (lastDownloadedDate.getMonth() + 1)).slice(-2);\n const day = ('0' + lastDownloadedDate.getDate()).slice(-2);\n const hours = ('0' + lastDownloadedDate.getHours()).slice(-2);\n const minutes = ('0' + lastDownloadedDate.getMinutes()).slice(-2);\n const seconds = ('0' + lastDownloadedDate.getSeconds()).slice(-2);\n const milliseconds = ('00' + lastDownloadedDate.getMilliseconds()).slice(-3);\n\n return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}.${milliseconds}`;\n }\n\n}\n","export default \"@charset \\\"UTF-8\\\";\\n.botones .network-button {\\n width: 100px;\\n}\\n.network-button {\\n color: white;\\n background-color: #355CFE;\\n line-height: inherit;\\n}\\n.row {\\n width: 100%;\\n padding-top: 12px;\\n}\\n.button-container {\\n padding-left: 80px;\\n}\\n.network-code {\\n font-size: 20px;\\n color: #b9b8b8;\\n}\\n.network-icon {\\n margin-right: 8px;\\n color: #355CFE;\\n margin-bottom: 8px;\\n}\\n.network-container {\\n display: flex;\\n align-items: center;\\n}\\n/** Sobreescribe el color predeterminado del checkbox */\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n.website-link {\\n color: inherit;\\n /* Mantiene el color original del texto */\\n cursor: pointer;\\n /* Opcional: Cambia el cursor a una mano para indicar que es interactivo */\\n}\\n.website-link:hover {\\n text-decoration: underline;\\n /* Añade el subrayado */\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ldHdvcmtzL25ldHdvcmtzL3V0aWxzLWRpYWxvZy93ZWJzaXRlcy11dGlscy1kaWFsb2cvd2Vic2l0ZXMtdXRpbHMtZGlhbG9nLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQVFaO0VBQ0ksWUFBQTtBQU5SO0FBU0E7RUFDSSxZQUFBO0VBQ0EseUJBWFc7RUFZWCxvQkFBQTtBQU5KO0FBUUE7RUFDSSxXQUFBO0VBQ0EsaUJBQUE7QUFMSjtBQU9BO0VBQ0ksa0JBQUE7QUFKSjtBQU1BO0VBQ0ksZUFBQTtFQUNBLGNBckJTO0FBa0JiO0FBS0E7RUFDSSxpQkFBQTtFQUNBLGNBM0JXO0VBNEJYLGtCQUFBO0FBRko7QUFLQTtFQUNJLGFBQUE7RUFDQSxtQkFBQTtBQUZKO0FBSUEsdURBQUE7QUFDQTtFQUNJLHlCQXJDVztBQW9DZjtBQUtBO0VBQ0ksY0FBQTtFQUFnQix5Q0FBQTtFQUNoQixlQUFBO0VBQWlCLDBFQUFBO0FBQXJCO0FBR0E7RUFDSSwwQkFBQTtFQUE0Qix1QkFBQTtBQUNoQyIsImZpbGUiOiJzcmMvYXBwL2VwZy9uZXR3b3Jrcy9uZXR3b3Jrcy91dGlscy1kaWFsb2cvd2Vic2l0ZXMtdXRpbHMtZGlhbG9nL3dlYnNpdGVzLXV0aWxzLWRpYWxvZy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiRjb2xvci1wcmltYXJ5OiAjNUE2M0Q0O1xuJGNvbG9yLXNlY29uZGFyeTogIzNGNDhDQztcbiRjb2xvci10cmVzOiAjRDdEN0Q3O1xuJGNvbG9yLWN1YXRybzogIzM1NUNGRTtcbiRjb2xvci1jaW5jbzogI0NFQ0VDRTtcbiRjb2xvci1zZWlzOiAjYjliOGI4O1xuXG4uYm90b25lc3tcbiAgICAubmV0d29yay1idXR0b257XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICB9XG59XG4ubmV0d29yay1idXR0b257XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jdWF0cm8gO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuLnJvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG59XG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xufVxuLm5ldHdvcmstY29kZXtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICRjb2xvci1zZWlzO1xufVxuLm5ldHdvcmstaWNvbntcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICBjb2xvcjogJGNvbG9yLWN1YXRybztcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5uZXR3b3JrLWNvbnRhaW5lcntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4vKiogU29icmVlc2NyaWJlIGVsIGNvbG9yIHByZWRldGVybWluYWRvIGRlbCBjaGVja2JveCAqL1xuOjpuZy1kZWVwIC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybztcbn1cblxuXG4ud2Vic2l0ZS1saW5rIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogTWFudGllbmUgZWwgY29sb3Igb3JpZ2luYWwgZGVsIHRleHRvICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiBPcGNpb25hbDogQ2FtYmlhIGVsIGN1cnNvciBhIHVuYSBtYW5vIHBhcmEgaW5kaWNhciBxdWUgZXMgaW50ZXJhY3Rpdm8gKi9cbn1cblxuLndlYnNpdGUtbGluazpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIEHDsWFkZSBlbCBzdWJyYXlhZG8gKi9cbn1cblxuIl19 */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-websites-utils-dialog',\n templateUrl: './websites-utils-dialog.component.html',\n styleUrls: ['./websites-utils-dialog.component.scss']\n})\nexport class WebsitesUtilsDialogComponent implements OnInit {\n\n websitesData: string[];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n ) {\n this.websitesData = data.split(\",\").filter(url => url !== '');\n }\n\n ngOnInit(): void {\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n openLink(link:string){\n if (!link.startsWith('http://') && !link.startsWith('https://')) {\n link = 'https://' + link;\n }\n window.open(link, '_blank');\n\n }\n}\n","export default \".form-container {\\n padding: 10px;\\n border: 2px solid #b9b8b8;\\n border-radius: 4px;\\n}\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n:host ::ng-deep .mat-sort-header-arrow {\\n color: #5A63D4;\\n opacity: 1;\\n}\\n\\n:host ::ng-deep .mat-paginator .mat-paginator-outer-container .mat-paginator-container {\\n min-height: 30px;\\n height: 30px;\\n background-color: #CECECE;\\n}\\n\\n:host ::ng-deep .mat-paginator-page-size {\\n height: 44px !important;\\n}\\n\\n:host ::ng-deep .mat-paginator-range-label {\\n margin: 0 32px -12px 32px !important;\\n}\\n\\n:host ::ng-deep .mat-paginator-navigation-first,\\n::ng-deep .mat-paginator-navigation-previous,\\n::ng-deep .mat-paginator-navigation-next,\\n::ng-deep .mat-paginator-navigation-last {\\n height: 30px !important;\\n}\\n\\n.mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n:host ::ng-deep .mat-header-cell,\\n::ng-deep .mat-sort-header-container {\\n justify-content: center;\\n padding: 0 !important;\\n}\\n\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n text-align: center;\\n border: 1px solid white;\\n color: #000000;\\n background-color: #CECECE !important;\\n border-top: 0px;\\n}\\n\\n.row-height {\\n height: 35px !important;\\n}\\n\\n.mat-row:hover {\\n background: #b9b8b8 !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]),\\n.mat-row:not([class*=mat-elevation-z]) {\\n height: 30px;\\n background: white;\\n text-align: center;\\n}\\n\\n.mat-cell:not([class*=mat-elevation-z]),\\n.mat-footer-cell:not([class*=mat-elevation-z]),\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n border-bottom-width: 1px;\\n border-bottom-style: solid;\\n font-size: 9pt;\\n font-weight: normal;\\n font-family: Arial, sans-serif;\\n}\\n\\n.news-button-container {\\n padding: 0.5em;\\n display: flex;\\n width: 100%;\\n justify-content: space-between;\\n align-items: center;\\n}\\n\\n.search-container {\\n display: flex;\\n height: 45px;\\n}\\n\\n::ng-deep .search-bar .mat-form-field-flex {\\n height: 40px;\\n min-width: 250px;\\n align-items: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ld3MvbmV3cy9uZXdzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBO0VBQ0ksYUFBQTtFQUNBLHlCQUFBO0VBSUEsa0JBQUE7QUFYSjs7QUFlQTtFQUNJLGNBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxXQWpCTTtFQWtCTixXQUFBO0FBWko7O0FBZ0JBO0VBQ0ksY0E3Qk07RUE4Qk4sVUFBQTtBQWJKOztBQWlCQTtFQUNJLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQWpDTTtBQW1CVjs7QUFpQkE7RUFDSSx1QkFBQTtBQWRKOztBQWlCQTtFQUNJLG9DQUFBO0FBZEo7O0FBaUJBOzs7O0VBSUksdUJBQUE7QUFkSjs7QUFrQkE7RUFDSSxXQUFBO0FBZko7O0FBa0JBO0VBQ0ksbUJBQUE7QUFmSjs7QUFrQkE7O0VBRUksdUJBQUE7RUFDQSxxQkFBQTtBQWZKOztBQWtCQTtFQUNJLGtCQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0VBQ0Esb0NBQUE7RUFDQSxlQUFBO0FBZko7O0FBa0JBO0VBQ0ksdUJBQUE7QUFmSjs7QUFrQkE7RUFDSSw4QkFBQTtBQWZKOztBQWtCQTs7RUFFSSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBQWZKOztBQWtCQTs7O0VBR0ksd0JBQUE7RUFDQSwwQkFBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLDhCQUFBO0FBZko7O0FBbUJBO0VBQ0ksY0FBQTtFQUNBLGFBQUE7RUFDQSxXQUFBO0VBQ0EsOEJBQUE7RUFDQSxtQkFBQTtBQWhCSjs7QUFtQkE7RUFDSSxhQUFBO0VBQ0EsWUFBQTtBQWhCSjs7QUFtQkE7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtBQWhCSiIsImZpbGUiOiJzcmMvYXBwL2VwZy9uZXdzL25ld3MvbmV3cy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiRjb2xvci0xOiAjNUE2M0Q0O1xuJGNvbG9yLTI6ICMzRjQ4Q0M7XG4kY29sb3ItMzogI0Q3RDdENztcbiRjb2xvci00OiAjMzU1Q0ZFO1xuJGNvbG9yLTU6ICNDRUNFQ0U7XG4kY29sb3ItNjogI2I5YjhiODtcbiRjb2xvci03OiAjNzc3O1xuXG4vLyBjb250b3JubyBkZWwgdGl0dWxvXG4uZm9ybS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLTY7XG4gICAgLy9ib3JkZXI6IDJweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5O1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgLy9jb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4vLyBwYXJhIGVsIHRpdHVsb1xuLnRpdGxlLWZvcm0ge1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHQ7XG4gICAgY29sb3I6ICRjb2xvci03O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vLyBwYXJhIGxhcyBmbGVjaGFzIGRlIG9yZGVuYW1pZW50b1xuOmhvc3QgOjpuZy1kZWVwIC5tYXQtc29ydC1oZWFkZXItYXJyb3cge1xuICAgIGNvbG9yOiAkY29sb3ItMTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4vL3BhcmEgZWwgcGFnaW5hdG9yXG46aG9zdCA6Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3IgLm1hdC1wYWdpbmF0b3Itb3V0ZXItY29udGFpbmVyIC5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lciB7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTUgO1xufVxuLy9cbjpob3N0IDo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemUge1xuICAgIGhlaWdodDogNDRweCAhaW1wb3J0YW50O1xufVxuLy9cbjpob3N0IDo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1yYW5nZS1sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDMycHggLTEycHggMzJweCAhaW1wb3J0YW50O1xufVxuLy9cbjpob3N0IDo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLWZpcnN0LFxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tcHJldmlvdXMsXG46Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1uZXh0LFxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbGFzdCB7XG4gICAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8vcGFyYSBsYSB0YWJsYVxuLm1hdC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4vL1xuLmZpZWxkLXRleHQge1xuICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG59XG4vL1xuOmhvc3QgOjpuZy1kZWVwIC5tYXQtaGVhZGVyLWNlbGwsXG46Om5nLWRlZXAgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi8vXG4ubWF0LWhlYWRlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLTUgIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAwcHg7XG59XG4vL1xuLnJvdy1oZWlnaHQge1xuICAgIGhlaWdodDogMzVweCAhaW1wb3J0YW50O1xufVxuLy9cbi5tYXQtcm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItNiAhaW1wb3J0YW50O1xufVxuLy9cbi5tYXQtaGVhZGVyLXJvdzpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxcbi5tYXQtcm93Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi8vXG4ubWF0LWNlbGw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LWZvb3Rlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLFxuLm1hdC1oZWFkZXItY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGZvbnQtc2l6ZTogOXB0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4vL2JvdG9uZXNcbi5uZXdzLWJ1dHRvbi1jb250YWluZXJ7XG4gICAgcGFkZGluZzogMC41ZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNlYXJjaC1jb250YWluZXJ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG59XG5cbjo6bmctZGVlcCAuc2VhcmNoLWJhciAubWF0LWZvcm0tZmllbGQtZmxleHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWluLXdpZHRoOiAyNTBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufSJdfQ== */\";","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { Observable, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { FileExtensionsConfigurations } from 'src/app/shared/model/file-extensions-configurations';\nimport { Network } from 'src/app/shared/model/network';\nimport { NetworkEpg } from 'src/app/shared/model/network-epg-model/network-epg';\nimport { EpgNews } from 'src/app/shared/model/news-model/news';\nimport { FileExtensionsConfigurationsService } from 'src/app/shared/service/file-extensions-configurations.service';\nimport { LanguageService } from 'src/app/shared/service/language.service';\nimport { NetworkEpgService } from 'src/app/shared/service/network-epg.service';\nimport { NewsService } from 'src/app/shared/service/epg-news.service';\nimport { EpgComponent } from '../../epg.component';\nimport { NewsDialogsComponent } from './utils-dialog/news-dialogs/news-dialogs.component';\nimport { Language } from 'src/app/shared/model/language';\nimport { MatSort } from '@angular/material/sort';\nimport { MatPaginator } from '@angular/material/paginator';\n\n\n@Component({\n selector: 'app-news',\n templateUrl: './news.component.html',\n styleUrls: ['./news.component.scss']\n})\nexport class NewsComponent implements OnInit {\n @ViewChild(MatPaginator) tablePaginator: MatPaginator;\n\n //displayedColumns: String[] = [\"date\", \"expiration_date\", \"title\", \"subtitle\", \"network\", \"language\"]\n displayedColumns: String[] = [\"date\", \"expiration_date\", \"title\", \"subtitle\", \"language\"]\n dataSourceFile = new MatTableDataSource([]);\n mostrarBarra: boolean = false;\n currentNetwork: Network;\n private unsubscription$: Subject;\n networkNews: EpgNews[] = [];\n languages: Language[] = null;\n listNetworks: NetworkEpg[] = [];\n nets: Observable;\n newsFileExtensionsConfigurations: FileExtensionsConfigurations[];\n videoExtensions: string[] = null;\n imageExtensions: string[] = null;\n loadingNetworks: boolean = true;\n filterValue: string = '';\n\n // Para las flechitas que ordenan la tabla.\n @ViewChild(MatSort, { static: true })\n sort: MatSort;\n\n constructor(\n private networkNewsService: NewsService,\n private epgComponent: EpgComponent,\n private dialog: MatDialog,\n private languageService: LanguageService,\n private networkEpgService: NetworkEpgService,\n private fileExtensionsConfigurationsService: FileExtensionsConfigurationsService,\n ) {\n this.unsubscription$ = new Subject();\n }\n\n ngOnInit(): void {\n\n //Me suscribo a la seleccion del network para poder traer sus datos.\n this.epgComponent.selectedNetwork$.pipe(takeUntil(this.unsubscription$)).subscribe((codeNetwork) => {\n this.currentNetwork = codeNetwork;\n this.getAllNews();\n })\n\n //traigo los networks\n this.networkEpgService.getAllNetwork().subscribe(result => {\n this.listNetworks = result;\n this.loadingNetworks = false;\n });\n\n //Traigo los lenguajes y saco el que es ALL.\n this.languageService.getLanguages$().subscribe(\n data => {\n this.languages = data\n .filter(language => language.code !== 'ALL')\n .map(language => language);\n }\n )\n\n //Traigo las extensiones\n this.getExtensions();\n }\n\n // Llamado para traer y mostrar todos los registros de la db.\n getAllNews() {\n this.mostrarBarra = true;\n this.networkNewsService.getAllNetworkNewsByNetworkId(this.currentNetwork.id).subscribe(result => {\n this.networkNews = result;\n this.dataSourceFile = new MatTableDataSource(result);\n this.dataSourceFile.paginator = this.tablePaginator;\n this.dataSourceFile.sort = this.sort;\n this.mostrarBarra = false;\n });\n }\n\n openDialog(element) {\n const dialogRef = this.dialog.open(NewsDialogsComponent, {\n data: {\n listNetworks: this.listNetworks,\n currentNetwork: this.currentNetwork,\n news: element,\n languages: this.languages,\n videoExtensions: this.videoExtensions,\n imageExtensions: this.imageExtensions,\n isEdit: true,\n editarBoolean: true\n },\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n this.refresh();\n }\n });\n }\n\n \n newRegister() {\n this.dialog.open(NewsDialogsComponent, {\n data: {\n listNetworks: this.listNetworks,\n network: this.currentNetwork,\n news: null,\n languages: this.languages,\n videoExtensions: this.videoExtensions,\n imageExtensions: this.imageExtensions,\n isEdit: false,\n editarBoolean: false,\n },\n });\n }\n\n getExtensions() {\n //traigo las extensiones para validar\n this.fileExtensionsConfigurationsService.getAllFilesExtConfByFileType([\"IMAGES\", \"VIDEOS\"]).subscribe(result => {\n this.newsFileExtensionsConfigurations = result;\n this.videoExtensions = result.filter(data => data.fileConfigurationId.fileType == 'VIDEOS').map(data => data.fileExtensionId.fileExtension);\n this.imageExtensions = result.filter(data => data.fileConfigurationId.fileType == 'IMAGES').map(data => data.fileExtensionId.fileExtension);\n })\n }\n\n refresh() {\n this.getAllNews();\n }\n\n // Método para aplicar el filtro\n applyFilter(value: string) {\n this.filterValue = value.trim().toLowerCase();\n this.dataSourceFile.filter = this.filterValue;\n }\n}\n","export default \".new-dialog-container {\\n min-width: 700px;\\n position: relative;\\n}\\n\\n.news-form-container {\\n display: grid;\\n grid-template-areas: \\\"news-desc news-desc .\\\" \\\"news-desc news-desc .\\\" \\\"news-select news-select news-video\\\";\\n row-gap: 5px;\\n}\\n\\n.news-description-container {\\n grid-area: news-desc;\\n}\\n\\n.news-title-subtitle {\\n display: flex;\\n width: 93%;\\n justify-content: space-between;\\n}\\n\\n.text-area-desc {\\n width: 93%;\\n}\\n\\ntextarea {\\n padding: 0.5em;\\n height: 100px;\\n resize: none;\\n}\\n\\n.news-selectors-container {\\n grid-area: news-select;\\n}\\n\\n.news-network-date, .news-lenguage-expdate {\\n margin-top: 1em;\\n width: 93%;\\n display: flex;\\n justify-content: space-between;\\n}\\n\\n.news-video-container {\\n grid-area: news-video;\\n align-self: flex-end;\\n}\\n\\n.news-image-container {\\n grid-area: news-image-video;\\n position: absolute;\\n top: 0px;\\n right: 30px;\\n justify-self: center;\\n}\\n\\n.news-input-button-container {\\n margin: 0.5em 0;\\n}\\n\\n.news-logo-container {\\n width: 180px;\\n height: 240px;\\n border: 1px solid #3636366b;\\n border-radius: 5px;\\n}\\n\\n.news-image-button {\\n max-width: 300px;\\n}\\n\\n.news-image-button > span {\\n display: block;\\n max-width: 180px;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n\\n.news-image {\\n max-width: 100%;\\n max-height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\ninput[type=file] {\\n display: none;\\n}\\n\\n.news-buttons-container {\\n margin: 0.5em 0;\\n display: flex;\\n justify-content: space-between;\\n}\\n\\n.news-buttons-container button {\\n margin-right: 5px;\\n}\\n\\n.news-desc {\\n width: 100%;\\n}\\n\\n.news-desc textarea {\\n width: 100%;\\n}\\n\\n.news-video-button {\\n outline: 0;\\n margin-top: 30px;\\n}\\n\\n.button-width {\\n width: 90%;\\n}\\n\\n.delete-button {\\n background: none;\\n color: #777;\\n}\\n\\n::ng-deep .SuccessfulSnackbar {\\n background-color: #038566 !important;\\n color: white !important;\\n}\\n\\n::ng-deep .SuccessfulSnackbar .mat-simple-snackbar-action {\\n color: white !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ld3MvbmV3cy91dGlscy1kaWFsb2cvbmV3cy1kaWFsb2dzL25ld3MtZGlhbG9ncy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTtFQUNJLGdCQUFBO0VBQ0Esa0JBQUE7QUFQSjs7QUFVQTtFQUNJLGFBQUE7RUFDQSx5R0FBQTtFQUdBLFlBQUE7QUFUSjs7QUFZQTtFQUNJLG9CQUFBO0FBVEo7O0FBV0E7RUFDSSxhQUFBO0VBQ0EsVUFBQTtFQUNBLDhCQUFBO0FBUko7O0FBVUE7RUFDSSxVQUFBO0FBUEo7O0FBU0E7RUFDSSxjQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7QUFOSjs7QUFXQTtFQUNJLHNCQUFBO0FBUko7O0FBVUE7RUFDSSxlQUFBO0VBQ0EsVUFBQTtFQUNBLGFBQUE7RUFDQSw4QkFBQTtBQVBKOztBQVVBO0VBQ0kscUJBQUE7RUFDQSxvQkFBQTtBQVBKOztBQVVBO0VBQ0ksMkJBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxXQUFBO0VBQ0Esb0JBQUE7QUFQSjs7QUFTQTtFQUNJLGVBQUE7QUFOSjs7QUFRQTtFQUNJLFlBQUE7RUFDQSxhQUFBO0VBQ0EsMkJBQUE7RUFDQSxrQkFBQTtBQUxKOztBQVFBO0VBQ0ksZ0JBQUE7QUFMSjs7QUFPQTtFQUNJLGNBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTtBQUpKOztBQU9BO0VBQ0ksZUFBQTtFQUNBLGdCQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBQUpKOztBQVFBO0VBQ0UsYUFBQTtBQUxGOztBQU9BO0VBQ0ksZUFBQTtFQUNBLGFBQUE7RUFDQSw4QkFBQTtBQUpKOztBQU1BO0VBQ0ksaUJBQUE7QUFISjs7QUFPQTtFQUNJLFdBQUE7QUFKSjs7QUFNQTtFQUNJLFdBQUE7QUFISjs7QUFNQTtFQUNJLFVBQUE7RUFDQSxnQkFBQTtBQUhKOztBQU1BO0VBQ0ksVUFBQTtBQUhKOztBQU1BO0VBQ0ksZ0JBQUE7RUFDQSxXQUFBO0FBSEo7O0FBV0E7RUFDSSxvQ0FBQTtFQUNBLHVCQUFBO0FBUko7O0FBV0E7RUFDSSx1QkFBQTtBQVJKIiwiZmlsZSI6InNyYy9hcHAvZXBnL25ld3MvbmV3cy91dGlscy1kaWFsb2cvbmV3cy1kaWFsb2dzL25ld3MtZGlhbG9ncy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIiRjb2xvci1wcmltYXJ5OiAjNUE2M0Q0O1xuJGNvbG9yLXNlY29uZGFyeTogIzNGNDhDQztcbiRjb2xvci10cmVzOiAjRDdEN0Q3O1xuJGNvbG9yLWN1YXRybzogIzM1NUNGRTtcbiRjb2xvci1jaW5jbzogI0NFQ0VDRTtcbiRjb2xvci1zZWlzOiAjYjliOGI4O1xuXG5cbi5uZXctZGlhbG9nLWNvbnRhaW5lcntcbiAgICBtaW4td2lkdGg6IDcwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5ld3MtZm9ybS1jb250YWluZXJ7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIm5ld3MtZGVzYyBuZXdzLWRlc2MgLlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgXCJuZXdzLWRlc2MgbmV3cy1kZXNjIC5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFwibmV3cy1zZWxlY3QgbmV3cy1zZWxlY3QgbmV3cy12aWRlb1wiO1xuICAgIHJvdy1nYXA6IDVweDtcbn1cblxuLm5ld3MtZGVzY3JpcHRpb24tY29udGFpbmVye1xuICAgIGdyaWQtYXJlYTogbmV3cy1kZXNjO1xufVxuLm5ld3MtdGl0bGUtc3VidGl0bGV7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogOTMlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cbi50ZXh0LWFyZWEtZGVzY3tcbiAgICB3aWR0aDogOTMlO1xufVxudGV4dGFyZWF7XG4gICAgcGFkZGluZzogMC41ZW07XG4gICAgaGVpZ2h0OjEwMHB4O1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICAvLyBib3JkZXI6IDEuNXB4IHNvbGlkICRjb2xvci1jaW5jbztcbiAgICAvLyBib3JkZXItcmFkaXVzOiA3cHg7XG59XG5cbi5uZXdzLXNlbGVjdG9ycy1jb250YWluZXJ7XG4gICAgZ3JpZC1hcmVhOiBuZXdzLXNlbGVjdDtcbn1cbi5uZXdzLW5ldHdvcmstZGF0ZSwgLm5ld3MtbGVuZ3VhZ2UtZXhwZGF0ZXtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgd2lkdGg6IDkzJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLm5ld3MtdmlkZW8tY29udGFpbmVye1xuICAgIGdyaWQtYXJlYTogbmV3cy12aWRlbztcbiAgICBhbGlnbi1zZWxmOmZsZXgtZW5kO1xufVxuXG4ubmV3cy1pbWFnZS1jb250YWluZXJ7XG4gICAgZ3JpZC1hcmVhOiBuZXdzLWltYWdlLXZpZGVvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICByaWdodDogMzBweDtcbiAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbn1cbi5uZXdzLWlucHV0LWJ1dHRvbi1jb250YWluZXJ7XG4gICAgbWFyZ2luOiAwLjVlbSAwO1xufVxuLm5ld3MtbG9nby1jb250YWluZXJ7XG4gICAgd2lkdGg6IDE4MHB4O1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzM2MzYzNjZiO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbn1cblxuLm5ld3MtaW1hZ2UtYnV0dG9ue1xuICAgIG1heC13aWR0aDogMzAwcHg7XG59XG4ubmV3cy1pbWFnZS1idXR0b24gPiBzcGFue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTgwcHg7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubmV3cy1pbWFnZXtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLy9wYXJhIGVsIGJvdG9uIGRlIHN1YmlyIGFyY2hpdm9zXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubmV3cy1idXR0b25zLWNvbnRhaW5lcntcbiAgICBtYXJnaW46IDAuNWVtIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4ubmV3cy1idXR0b25zLWNvbnRhaW5lciBidXR0b257XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5uZXdzLWRlc2N7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4ubmV3cy1kZXNjIHRleHRhcmVhe1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubmV3cy12aWRlby1idXR0b257XG4gICAgb3V0bGluZTogMDtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4uYnV0dG9uLXdpZHRoe1xuICAgIHdpZHRoOiA5MCU7XG59XG5cbi5kZWxldGUtYnV0dG9ue1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICM3Nzc7XG59XG4vLyBAbWVkaWEobWF4LXdpZHRoOjYwMHB4KXtcbi8vICAgICAuZm9ybS1jb250YWluZXJ7XG4vLyAgICAgICAgIGJhY2tncm91bmQ6IHJlZDtcbi8vICAgICB9XG5cbi8vIH1cbjo6bmctZGVlcCAuU3VjY2Vzc2Z1bFNuYWNrYmFye1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMzg1NjYhaW1wb3J0YW50O1xuICAgIGNvbG9yOiB3aGl0ZSFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAuU3VjY2Vzc2Z1bFNuYWNrYmFyIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlIWltcG9ydGFudDtcbn0iXX0= */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { AbstractControl, FormControl, FormGroup, ValidationErrors, ValidatorFn, Validators } from '@angular/forms';\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as moment from 'moment';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { UtilsDialogsComponent } from 'src/app/epg/visual-logs/utils-dialogs/visual-logs-dialogs.component';\nimport { ConfirmDialogComponent } from 'src/app/shared/dialogs/confirm-dialog/confirm-dialog.component';\nimport { Language } from 'src/app/shared/model/language';\nimport { Network } from 'src/app/shared/model/network';\nimport { NetworkEpg } from 'src/app/shared/model/network-epg-model/network-epg';\nimport { EpgNews } from 'src/app/shared/model/news-model/news';\nimport { EpgNewsUpload } from 'src/app/shared/model/news-model/news-upload';\nimport { NewsService } from 'src/app/shared/service/epg-news.service';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-news-dialogs',\n templateUrl: './news-dialogs.component.html',\n styleUrls: ['./news-dialogs.component.scss']\n})\nexport class NewsDialogsComponent implements OnInit {\n\n // variables.\n private unsubscription$: Subject;\n epgNewsUpload: EpgNewsUpload;\n logoUrl: string;\n defaultLogoUrl: string = environment.bucketUrlImages + \"WBD_logo_news.png\";\n maxWidth:number = 180;\n maxHeight:number = 240;\n\n // variables del html.\n selectorForm: FormGroup;\n imageMessage: string = \"\";\n networkImage: string = \"\";\n datePickerStartDate: string = moment().format('YYYY-MM-DD');\n datePickerChanged: string = \"\";\n savingInProgress: boolean = false;\n updateButtonInProgress: boolean = true;\n updateInProgress: boolean = false;\n\n // variables para mensajes del snackbar.\n errorMessage: string;\n errorDBMessage: string;\n publicationFilesInProcessMessage: string;\n successfulFilesPublicationMessage: string;\n deletingRegister: string;\n registerDelete: string;\n failedToDeleteRegister: string;\n\n // variables que traigo del news.component\n languages: Language[] = [];\n listNetworks: NetworkEpg[] = [];\n currentNetwork: Network;\n networkNews: EpgNews;\n videoExtensions: string[] = [];\n imageExtensions: string[] = [];\n editarBoolean: boolean = false;\n isEdit: boolean;\n\n // datos del formGroup.\n title = new FormControl('', Validators.required);\n subtitle = new FormControl('', Validators.required);\n description = new FormControl('', Validators.required);\n network = new FormControl('', Validators.required);\n language = new FormControl('', Validators.required);\n date = new FormControl(moment(), Validators.required);\n expdate = new FormControl('', Validators.required);\n video = new FormControl('');\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n private networkNewsService: NewsService,\n public dialogRef: MatDialogRef,\n private snackBar: MatSnackBar,\n private translateService: TranslateService,\n public dialog: MatDialog\n ) {\n this.unsubscription$ = new Subject();\n this.epgNewsUpload = new EpgNewsUpload();\n\n this.logoUrl = environment.bucketUrlImagesNewsLogo;\n this.translations();\n\n //cargo los datos de la pantalla de news.\n this.languages = data.languages;\n this.listNetworks = data.listNetworks;\n this.currentNetwork = data.currentNetwork;\n this.networkNews = data.news;\n this.imageExtensions = data.imageExtensions;\n this.isEdit = data.isEdit;\n this.editarBoolean = data.editarBoolean;\n\n //cargo los datos en el formGroup\n this.selectorForm = new FormGroup({\n title: this.title,\n subtitle: this.subtitle,\n description: this.description,\n network: this.network,\n language: this.language,\n date: this.date,\n expdate: this.expdate,\n video: this.video,\n }, { validators: this.dateRangeValidator() });\n\n }\n\n ngOnInit(): void {\n if (this.editarBoolean) {\n this.updateInProgress = true;\n }\n // En caso de que sea Nuveo registro.\n this.networkImage = this.defaultLogoUrl;\n\n // En caso de que sea Edit, cargo el formulario.\n if (this.networkNews) {\n this.networkImage = this.logoUrl + this.networkNews.image\n this.epgNewsUpload.imageName = this.networkNews.image\n this.selectorForm.setValue({\n title: this.networkNews.title,\n subtitle: this.networkNews.subtitle,\n description: this.networkNews.text,\n network: this.listNetworks.find(network => network.id == this.networkNews.networkId),\n language: this.languages.find(lang => lang.code == this.networkNews.language),\n date: this.networkNews.date,\n expdate: this.networkNews.expirationDate,\n video: this.networkNews.video,\n });\n \n }\n this.imageMessage = `Tamaño:(${this.maxWidth}px x ${this.maxHeight}px)`;\n }\n\n // Validar el rango de fechas\n dateRangeValidator(): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n const startDate = control.get('date')?.value;\n const endDate = control.get('expdate')?.value;\n \n if (startDate && endDate) {\n const start = moment(startDate);\n const end = moment(endDate);\n\n if (end.isBefore(start)) {\n return { dateRange: 'Expiration date cannot be earlier than start date' };\n }\n }\n return null;\n };\n }\n\n // Para editar el formulario.\n edit() {\n this.updateButtonInProgress = false;\n this.updateInProgress = false;\n }\n\n // Para guardar el rgistro Nuevo.\n save() {\n if (this.selectorForm.valid) {\n this.showSnackbar(this.publicationFilesInProcessMessage, \"Ok\");\n this.savingInProgress = true;\n\n // Realiza la subida de archivos al bucket S3\n this.uploadToS3(null,0);\n }\n }\n\n // Para editar el registro Existente.\n update(): void {\n this.updateButtonInProgress = true;\n this.updateInProgress = true;\n\n // subo archivos\n if (this.selectorForm.valid) {\n this.showSnackbar(this.publicationFilesInProcessMessage, \"Ok\");\n\n if (this.epgNewsUpload) {\n // Realiza la subida de archivos al bucket S3\n this.uploadToS3(this.networkNews.id,this.networkNews.version + 1);\n } else {\n this.registerInDB(this.networkNews.id,this.networkNews.version + 1);\n }\n }\n }\n\n openConfirmDialog(eventType:string): void {\n let dialogRef = this.dialog.open(ConfirmDialogComponent, {\n width: '300px',\n });\n dialogRef.afterClosed().subscribe(result => {\n if (result) {\n if(eventType === \"delete\"){\n this.deleteNews();\n } else if(eventType === \"update\"){\n this.update();\n }\n }\n });\n }\n\n // Para borrar un registro.\n deleteNews(){\n this.showSnackbar(this.deletingRegister, \"Ok\");\n this.networkNewsService.deleteNews(this.networkNews.id).subscribe({\n next: (res) => {\n this.showSnackbar(this.registerDelete, \"Ok\");\n this.dialogRef.close(true);\n },\n error: (e) => {\n this.showErrorSnackbar(this.failedToDeleteRegister, \"Ok\");\n this.dialogRef.close();\n }\n })\n // Revisar lo que dijo Ari sobre Rxjs Switch map\n if(this.networkNews.image){\n this.networkNewsService.deleteImageFromS3(this.networkNews.image).subscribe()\n }\n }\n\n\n // Para subir los archivos al bucket S3. EPG\n uploadToS3(id, version){\n this.networkNewsService.uploadNewsFilesToS3(this.epgNewsUpload).subscribe({\n next: (res) => {\n this.registerInDB(id, version);\n },\n error: (e) => {\n this.showErrorSnackbar(this.errorMessage, \"Ok\");\n this.savingInProgress = false;\n }\n });\n }\n\n // Para registrar los datos en la base de datos. DOMAIN\n registerInDB(id,version) {\n const formValues = this.selectorForm.value;\n const selectedNetwork = this.listNetworks.find(network => network.code === formValues.network.code);\n const uploadData: EpgNews = {\n id: id,\n version: version,\n date: formValues.date,\n expirationDate: formValues.expdate,\n image: this.epgNewsUpload.imageName,\n language: formValues.language.code,\n networkId: selectedNetwork.id,\n subtitle: formValues.subtitle,\n text: formValues.description,\n title: formValues.title,\n video: formValues.video,\n };\n\n // Realiza la subida de datos a la base de datos\n this.networkNewsService.uploadNewsDB(uploadData).subscribe({ // IMPORTANTE rxjs switch map o algo similar.\n next: (res) => {\n this.showSnackbar(this.successfulFilesPublicationMessage, \"Ok\");\n this.savingInProgress = false;\n\n if(this.isEdit){\n this.dialogRef.close(true);\n }else{\n this.imageMessage = \"\";\n this.networkImage = \"\";\n this.selectorForm.reset();\n this.selectorForm.get('date').setValue(moment());\n }\n },\n error: (e) => {\n this.showErrorSnackbar(this.errorDBMessage, \"Ok\");\n this.savingInProgress = false;\n }\n });\n }\n\n close(): void {\n this.dialogRef.close();\n }\n\n // Para actualizar el datepicker.\n onDateChange(event: MatDatepickerInputEvent): void {\n if (event.value) {\n this.datePickerChanged = moment(event.value).format('YYYY-MM-DD');\n } else {\n }\n }\n\n // Para capturar la imagen y validar la extension.\n onImageSelected(event: any) {\n const selectedFile = event.target.files[0];\n const fileName = selectedFile.name;\n const fileExtension = fileName.split('.').pop().toLowerCase();\n const reader = new FileReader();\n\n this.epgNewsUpload.imageFile = selectedFile;\n\n const selectedDate = this.selectorForm.get('date').value;\n const formattedDate = moment(selectedDate).format('ddd MMM DD HH:mm:ss YYYY');\n const newFileName = `${formattedDate}-${fileName}`;\n\n this.epgNewsUpload.imageName = newFileName;\n\n if (!this.imageExtensions.includes(fileExtension)) {\n this.imageMessage = `El archivo ${fileName} no tiene una extensión válida.`;\n }\n else if (selectedFile.size === 0) {\n this.imageMessage = `El archivo ${fileName} se encuentra vacío.`;\n }\n\n reader.readAsDataURL(selectedFile);\n reader.onload = (e:any) => {\n \n const img = new Image();\n img.src = reader.result as string;\n img.onload = () => {\n const height = img.naturalHeight;\n const width = img.naturalWidth;\n if(height != 240 && width != 180) {\n this.imageMessage = `El archivo ${fileName} no tiene el tamaño adecuado \\ (${this.maxWidth}px x ${this.maxHeight}px).`;\n }else{\n this.imageMessage = fileName;\n this.networkImage = e.target.result;\n }\n };\n };\n }\n\n // Snackbars\n showSnackbar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.duration = 3000;\n config.verticalPosition = \"top\";\n config.panelClass = ['SuccessfulSnackbar'];\n this.snackBar.open(message, action, config);\n }\n\n showErrorSnackbar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['error-snackbar'];\n this.snackBar.open(message, action, config);\n }\n\n private translations(): void {\n const keys = [\n 'epg.news.messages.error',\n 'epg.news.messages.dberror',\n 'epg.news.messages.publication',\n 'epg.news.messages.success',\n 'epg.news.messages.deletingRegister',\n 'epg.news.messages.registerDelete',\n 'epg.news.messages.failedToDeleteRegister',\n ];\n this.translateService\n .stream(keys)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(translations => this.mapperToMessages(translations));\n }\n\n private mapperToMessages(translations: any): void {\n this.errorMessage = translations['epg.news.messages.error'];\n this.errorDBMessage = translations['epg.news.messages.dberror'];\n this.publicationFilesInProcessMessage = translations['epg.news.messages.publication'];\n this.successfulFilesPublicationMessage = translations['epg.news.messages.success'];\n this.deletingRegister = translations['epg.news.messages.deletingRegister'];\n this.registerDelete = translations['epg.news.messages.registerDelete'];\n this.failedToDeleteRegister = translations['epg.news.messages.failedToDeleteRegister'];\n }\n\n}\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\ntable {\\n width: 100%;\\n}\\n\\n.mat-mdc-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd, th {\\n width: 25%;\\n}\\n\\ntd {\\n cursor: pointer;\\n}\\n\\ntr:hover {\\n background-color: #f5f5f5 !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]), .mat-row:not([class*=mat-elevation-z]) {\\n height: 25px;\\n background: white;\\n text-align: left !important;\\n}\\n\\n.mat-checkbox-layout .mat-checkbox-label {\\n font-size: 9pt !important;\\n}\\n\\nth.mat-header-cell, td.mat-cell, td.mat-footer-cell {\\n padding-left: 24px !important;\\n}\\n\\nth .mat-checkbox .mat-checkbox-layout {\\n margin-bottom: 0 !important;\\n}\\n\\n.mw-md {\\n min-width: 5.5rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ld3NsZXR0ZXJzL25ld3NsZXR0ZXItZHJhZnQtdGFibGUvbmV3c2xldHRlci1kcmFmdC10YWJsZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQTtFQUNJLGNBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtBQU5KOztBQVNBO0VBQ0ksYUFBQTtFQUNBLHNCQUFBO0VBQ0Esa0JBQUE7QUFOSjs7QUFTQTtFQUNJLFdBQUE7QUFOSjs7QUFVQTtFQUNJLFdBQUE7QUFQSjs7QUFVQTtFQUNJLGVBQUE7RUFDQSxXQUFBO0FBUEo7O0FBVUU7RUFDRSxVQUFBO0FBUEo7O0FBVUU7RUFDRSxlQUFBO0FBUEo7O0FBVUU7RUFDRSxvQ0FBQTtBQVBKOztBQVdBO0VBQ0ksWUFBQTtFQUNBLGlCQUFBO0VBQ0EsMkJBQUE7QUFSSjs7QUFXQTtFQUNJLHlCQUFBO0FBUko7O0FBV0E7RUFDSSw2QkFBQTtBQVJKOztBQVdBO0VBQ0ksMkJBQUE7QUFSSjs7QUFhQTtFQUNJLGlCQUFBO0FBVkoiLCJmaWxlIjoic3JjL2FwcC9lcGcvbmV3c2xldHRlcnMvbmV3c2xldHRlci1kcmFmdC10YWJsZS9uZXdzbGV0dGVyLWRyYWZ0LXRhYmxlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLXByaW1hcnk6ICM1QTYzRDQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAjM0Y0OENDO1xuJGNvbG9yLXRyZXM6ICNEN0Q3RDc7XG4kY29sb3ItY3VhdHJvOiAjMzU1Q0ZFO1xuJGNvbG9yLWNpbmNvOiAjQ0VDRUNFO1xuJGNvbG9yLXNlaXM6ICNiOWI4Yjg7XG5cbi50aXRsZS1mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB0O1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5mb3JtLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5cbnRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4ubWF0LW1kYy1mb3JtLWZpZWxkIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB0ZCwgdGgge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cblxuICB0ZHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICB0cjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7XG4gIH1cblxuXG4ubWF0LWhlYWRlci1yb3c6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksIC5tYXQtcm93Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWNoZWNrYm94LWxheW91dCAubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgICBmb250LXNpemU6IDlwdCAhaW1wb3J0YW50O1xufVxuXG50aC5tYXQtaGVhZGVyLWNlbGwsIHRkLm1hdC1jZWxsLCB0ZC5tYXQtZm9vdGVyLWNlbGwge1xuICAgIHBhZGRpbmctbGVmdDogMjRweCAhaW1wb3J0YW50O1xufVxuXG50aCAubWF0LWNoZWNrYm94IC5tYXQtY2hlY2tib3gtbGF5b3V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuXG4ubXctbWQge1xuICAgIG1pbi13aWR0aDogNS41cmVtO1xufVxuXG5cblxuIl19 */\";","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { BehaviorSubject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter } from 'rxjs/operators';\nimport { Newsletter } from 'src/app/shared/model/newsletters-model/newsletter';\nimport { NewsletterResponse } from 'src/app/shared/response/newsletter.response';\nimport { NewsletterService } from 'src/app/shared/service/newsletter.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n\n@Component({\n selector: 'app-newsletter-draft-table',\n templateUrl: './newsletter-draft-table.component.html',\n styleUrls: ['./newsletter-draft-table.component.scss']\n})\nexport class NewsletterDraftTableComponent implements OnInit {\n\n newsletters: Newsletter[];\n\n displayedColumns: string[] = ['dateCreated', 'from', 'subject', 'destinatarios', 'network', 'language', 'country'];\n dataSource: MatTableDataSource;\n\n currentPage: number = 0;\n pageSize: number = 10;\n totalSize: number = 0;\n\n checked: boolean = false;\n\n filterValue: string = '';\n private filterSubject = new BehaviorSubject('');\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort = new MatSort();\n\n constructor(\n private newsletterService: NewsletterService,\n private translateService: TranslateService\n ) {\n this.dataSource = new MatTableDataSource([]);\n }\n\n ngOnInit(): void {\n this.filterSubject.pipe(\n debounceTime(400),\n distinctUntilChanged(),\n filter(value => value.length === 0 || value.length >= 3),\n ).subscribe(filterValue => {\n this.currentPage = 0;\n this.loadNewsletters( this.checked ? JSON.parse(localStorage.getItem('user')).id : null, filterValue);\n });\n }\n\n ngAfterViewInit() {\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n this.loadNewsletters();\n }\n\n loadNewsletters(userId: number = null, keyword?: string) {\n let state: string = 'DRAFT';\n const sortField = this.sort.active;\n const sortDirection = this.sort.direction;\n\n const key = keyword ? keyword : null;\n\n this.newsletterService.getNewsletters$(this.currentPage, this.pageSize, state, userId, keyword).subscribe((resp: NewsletterResponse) => {\n this.dataSource = new MatTableDataSource(resp.newsletters);\n this.newsletters = resp.newsletters;\n this.totalSize = resp.totalElements;\n });\n }\n\n getOnlyMe() {\n this.checked = !this.checked;\n let userId = this.checked ? JSON.parse(localStorage.getItem('user')).id : null;\n this.loadNewsletters(userId);\n }\n\n onChangePage(event) {\n this.currentPage = event.pageIndex;\n this.pageSize = event.pageSize;\n let userId = this.checked ? JSON.parse(localStorage.getItem('user')).id : null;\n this.loadNewsletters(userId);\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.filterSubject.next(filterValue);\n }\n\n clearFilter(){\n this.filterValue = '';\n this.filterSubject.next('');\n }\n\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2VwZy9uZXdzbGV0dGVycy9uZXdzbGV0dGVyLWVkaXRvci9uZXdzbGV0dGVyLWVkaXRvci5jb21wb25lbnQuY3NzIn0= */\";","import { Component, OnInit, Output } from '@angular/core';\nimport { NewsletterService } from 'src/app/shared/service/newsletter.service';\n\n@Component({\n selector: 'app-newsletter-editor',\n templateUrl: './newsletter-editor.component.html',\n styleUrls: ['./newsletter-editor.component.css']\n})\nexport class NewsletterEditorComponent implements OnInit {\n\n @Output()\n sendNewsletter: boolean = false;\n\n\n\n constructor( private newsletterService: NewsletterService) { }\n\n ngOnInit(): void {\n }\n\n\n onContentChanged(event: any) {\n const content = event.html; // Obtiene el contenido HTML del editor\n this.newsletterService.setNewsletterMessage(content) ; // Envia el contenido al servicio\n }\n\n}\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\ntable {\\n width: 100%;\\n}\\n\\n.mat-mdc-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd, th {\\n width: 25%;\\n}\\n\\ntd {\\n cursor: pointer;\\n}\\n\\ntr:hover {\\n background-color: #f5f5f5 !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]), .mat-row:not([class*=mat-elevation-z]) {\\n height: 25px;\\n background: white;\\n text-align: left !important;\\n}\\n\\n.mat-checkbox-layout .mat-checkbox-label {\\n font-size: 9pt !important;\\n}\\n\\nth.mat-header-cell, td.mat-cell, td.mat-footer-cell {\\n padding-left: 24px !important;\\n}\\n\\nth .mat-checkbox .mat-checkbox-layout {\\n margin-bottom: 0 !important;\\n}\\n\\n.mw-md {\\n min-width: 5.5rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ld3NsZXR0ZXJzL25ld3NsZXR0ZXItc2VudC10YWJsZS9uZXdzbGV0dGVyLXNlbnQtdGFibGUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0E7RUFDSSxjQUFBO0VBQ0EsOEJBQUE7RUFDQSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7QUFOSjs7QUFTQTtFQUNJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0FBTko7O0FBU0E7RUFDSSxXQUFBO0FBTko7O0FBVUE7RUFDSSxXQUFBO0FBUEo7O0FBVUE7RUFDSSxlQUFBO0VBQ0EsV0FBQTtBQVBKOztBQVVFO0VBQ0UsVUFBQTtBQVBKOztBQVVFO0VBQ0UsZUFBQTtBQVBKOztBQVVFO0VBQ0Usb0NBQUE7QUFQSjs7QUFXQTtFQUNJLFlBQUE7RUFDQSxpQkFBQTtFQUNBLDJCQUFBO0FBUko7O0FBV0E7RUFDSSx5QkFBQTtBQVJKOztBQVdBO0VBQ0ksNkJBQUE7QUFSSjs7QUFXQTtFQUNJLDJCQUFBO0FBUko7O0FBYUE7RUFDSSxpQkFBQTtBQVZKIiwiZmlsZSI6InNyYy9hcHAvZXBnL25ld3NsZXR0ZXJzL25ld3NsZXR0ZXItc2VudC10YWJsZS9uZXdzbGV0dGVyLXNlbnQtdGFibGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkY29sb3ItcHJpbWFyeTogIzVBNjNENDtcbiRjb2xvci1zZWNvbmRhcnk6ICMzRjQ4Q0M7XG4kY29sb3ItdHJlczogI0Q3RDdENztcbiRjb2xvci1jdWF0cm86ICMzNTVDRkU7XG4kY29sb3ItY2luY286ICNDRUNFQ0U7XG4kY29sb3Itc2VpczogI2I5YjhiODtcblxuLnRpdGxlLWZvcm0ge1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHQ7XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5mb3JtLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmZvcm0td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cblxudGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbi5tYXQtbWRjLWZvcm0tZmllbGQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIHRkLCB0aCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuXG4gIHRke1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIHRyOmhvdmVye1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjUgIWltcG9ydGFudDtcbiAgfVxuXG5cbi5tYXQtaGVhZGVyLXJvdzpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwgLm1hdC1yb3c6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtY2hlY2tib3gtbGF5b3V0IC5tYXQtY2hlY2tib3gtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogOXB0ICFpbXBvcnRhbnQ7XG59XG5cbnRoLm1hdC1oZWFkZXItY2VsbCwgdGQubWF0LWNlbGwsIHRkLm1hdC1mb290ZXItY2VsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbnRoIC5tYXQtY2hlY2tib3ggLm1hdC1jaGVja2JveC1sYXlvdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuXG5cbi5tdy1tZCB7XG4gICAgbWluLXdpZHRoOiA1LjVyZW07XG59XG5cblxuXG4iXX0= */\";","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { BehaviorSubject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter } from 'rxjs/operators';\nimport { Newsletter } from 'src/app/shared/model/newsletters-model/newsletter';\nimport { NewsletterResponse } from 'src/app/shared/response/newsletter.response';\nimport { NewsletterService } from 'src/app/shared/service/newsletter.service';\nimport { TranslateService } from '@ngx-translate/core';\n\n\n@Component({\n selector: 'app-newsletter-sent-table',\n templateUrl: './newsletter-sent-table.component.html',\n styleUrls: ['./newsletter-sent-table.component.scss']\n})\nexport class NewsletterSentTableComponent implements OnInit, AfterViewInit {\n\n newsletters: Newsletter[];\n\n displayedColumns: string[] = ['dateCreated', 'from', 'subject', 'destinatarios', 'network', 'language', 'country'];\n dataSource: MatTableDataSource;\n\n currentPage: number = 0;\n pageSize: number = 10;\n totalSize: number = 0;\n\n checked: boolean = false;\n\n filterValue: string = '';\n private filterSubject = new BehaviorSubject('');\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort) sort: MatSort = new MatSort();\n\n constructor(\n private newsletterService: NewsletterService,\n private translateService: TranslateService,\n ) {\n this.dataSource = new MatTableDataSource([]);\n }\n\n ngOnInit(): void {\n //this.dataSource = new MatTableDataSource(this.newsletters);\n\n this.filterSubject.pipe(\n debounceTime(400),\n distinctUntilChanged(),\n filter(value => value.length === 0 || value.length >= 3),\n ).subscribe(filterValue => {\n this.currentPage = 0;\n this.loadNewsletters( this.checked ? JSON.parse(localStorage.getItem('user')).id : null, filterValue);\n });\n }\n\n ngAfterViewInit() {\n this.dataSource.paginator = this.paginator;\n this.dataSource.sort = this.sort;\n this.loadNewsletters();\n }\n\n loadNewsletters(userId: number = null, keyword?: string) {\n let state: string = 'SENT';\n const sortField = this.sort.active;\n const sortDirection = this.sort.direction;\n\n const key = keyword ? keyword : null;\n\n this.newsletterService.getNewsletters$(this.currentPage, this.pageSize, state, userId, keyword).subscribe((resp: NewsletterResponse) => {\n this.dataSource = new MatTableDataSource(resp.newsletters);\n this.newsletters = resp.newsletters;\n this.totalSize = resp.totalElements;\n });\n }\n\n getOnlyMe() {\n this.checked = !this.checked;\n let userId = this.checked ? JSON.parse(localStorage.getItem('user')).id : null;\n this.loadNewsletters(userId);\n }\n\n onChangePage(event) {\n this.currentPage = event.pageIndex;\n this.pageSize = event.pageSize;\n let userId = this.checked ? JSON.parse(localStorage.getItem('user')).id : null;\n this.loadNewsletters(userId);\n }\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n this.filterSubject.next(filterValue);\n }\n\n clearFilter(){\n this.filterValue = '';\n this.filterSubject.next('');\n }\n}\n","export default \".mat-mdc-form-field + .mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.network-button {\\n color: white;\\n background-color: #355CFE;\\n height: 29px;\\n line-height: inherit;\\n}\\n\\n.mat-tab-group {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.mat-accordion .mat-expansion-panel {\\n min-width: 100vh;\\n}\\n\\n:host .mat-tab-label-content {\\n font-size: 20px;\\n}\\n\\n.tabpanel {\\n height: auto;\\n max-height: 20vh;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.imagen-container {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.imagen-principal {\\n width: 100%;\\n}\\n\\n.logo-container {\\n width: 240px;\\n height: 120px;\\n}\\n\\n.logo-izquierdo {\\n max-width: 100%;\\n max-height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.reff-buttons {\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n gap: 10px;\\n margin-top: 10px;\\n}\\n\\n.buttons-dyp {\\n display: flex;\\n gap: 10px;\\n justify-content: center;\\n}\\n\\n.description-tabs {\\n height: 100%;\\n float: 1;\\n}\\n\\n.segunda-fila {\\n display: flex;\\n margin-top: 30px;\\n height: 120px;\\n}\\n\\n.tabs-segunda-fila {\\n align-items: center;\\n}\\n\\n.network-button-table {\\n display: flex;\\n flex-flow: column;\\n align-items: center;\\n}\\n\\n.network-button-row {\\n display: flex;\\n flex-wrap: wrap;\\n flex-flow: row;\\n justify-content: center;\\n align-items: center;\\n width: 100%;\\n margin-top: 3px;\\n}\\n\\n.networks-buttons-col {\\n align-items: center;\\n justify-content: center;\\n display: flex;\\n width: 50%;\\n}\\n\\n::ng-deep .snackbar-info {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .snackbar-info .mat-simple-snackbar-action {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .error-snackbar {\\n color: white;\\n background-color: red;\\n}\\n\\n::ng-deep .error-snackbar .mat-simple-snackbar-action {\\n color: white;\\n background-color: red;\\n}\\n\\n.form-wrapper-interior {\\n min-height: 75px;\\n max-height: 75px;\\n margin-top: 10px;\\n}\\n\\n.module-select-container {\\n text-align: center;\\n margin-bottom: 15px;\\n}\\n\\n.select-container {\\n max-height: 420px;\\n width: 300px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n.button-container {\\n text-align: center;\\n}\\n\\n.mat-raised-button:not([class*=mat-elevation-z]):not([disabled]) {\\n color: white;\\n background-color: #355CFE !important;\\n height: 24px;\\n line-height: inherit;\\n}\\n\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n text-align: center;\\n border: 1px solid white;\\n color: #000000;\\n background-color: #CECECE !important;\\n border-top: 0px;\\n}\\n\\n.row-height {\\n height: 35px !important;\\n}\\n\\n.mat-row:hover {\\n background: #b9b8b8 !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]),\\n.mat-row:not([class*=mat-elevation-z]) {\\n height: 30px;\\n background: white;\\n text-align: center;\\n}\\n\\n.mat-cell:not([class*=mat-elevation-z]),\\n.mat-footer-cell:not([class*=mat-elevation-z]),\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n border-bottom-width: 1px;\\n border-bottom-style: solid;\\n font-size: 9pt;\\n font-weight: normal;\\n font-family: Arial, sans-serif;\\n}\\n\\n.mat-cell {\\n padding-right: 0 !important;\\n}\\n\\napp-newsletters .mat-tab-body-wrapper .mat-form-field {\\n min-width: 30em !important;\\n}\\n\\n.search-container {\\n padding: 8px 16px;\\n}\\n\\n.search-container input {\\n width: 100%;\\n margin-bottom: 8px;\\n margin-top: 8px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL25ld3NsZXR0ZXJzL25ld3NsZXR0ZXJzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBO0VBQ0ksZ0JBQUE7QUFQSjs7QUFXQTtFQUNJLGNBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTtBQVJKOztBQVlBO0VBQ0ksWUFBQTtFQUNBLHlCQXJCVztFQXNCWCxZQUFBO0VBQ0Esb0JBQUE7QUFUSjs7QUFZQTtFQUNJLGFBQUE7RUFDQSx1QkFBQTtBQVRKOztBQVlBO0VBQ0ksZ0JBQUE7QUFUSjs7QUFZQTtFQUNJLGVBQUE7QUFUSjs7QUFZQTtFQUNJLFlBQUE7RUFDQSxnQkFBQTtBQVRKOztBQVlBLHVEQUFBOztBQUNBO0VBQ0kseUJBOUNXO0FBcUNmOztBQVlBO0VBQ0ksYUFBQTtFQUNBLHNCQUFBO0VBQ0Esa0JBQUE7QUFUSjs7QUFZQTtFQUNJLFdBQUE7QUFUSjs7QUFjQTtFQUNJLFdBQUE7RUFDQSxZQUFBO0FBWEo7O0FBY0E7RUFDSSxXQUFBO0FBWEo7O0FBZUE7RUFDSSxZQUFBO0VBQ0EsYUFBQTtBQVpKOztBQWVBO0VBQ0ksZUFBQTtFQUNBLGdCQUFBO0VBQ0Esb0JBQUE7S0FBQSxpQkFBQTtBQVpKOztBQWdCQTtFQUNJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0FBYko7O0FBZ0JBO0VBQ0ksYUFBQTtFQUNBLFNBQUE7RUFDQSx1QkFBQTtBQWJKOztBQWlCQTtFQUNJLFlBQUE7RUFDQSxRQUFBO0FBZEo7O0FBaUJBO0VBQ0ksYUFBQTtFQUNBLGdCQUFBO0VBQ0EsYUFBQTtBQWRKOztBQWlCQTtFQUdJLG1CQUFBO0FBaEJKOztBQW1CQTtFQUNJLGFBQUE7RUFDQSxpQkFBQTtFQUNBLG1CQUFBO0FBaEJKOztBQW1CQTtFQUNJLGFBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLHVCQUFBO0VBQ0EsbUJBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtBQWhCSjs7QUFtQkE7RUFDSSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0EsYUFBQTtFQUNBLFVBQUE7QUFoQko7O0FBb0JBO0VBQ0ksWUFBQTtFQUNBLHlCQUFBO0FBakJKOztBQW1CQTtFQUNJLFlBQUE7RUFDQSx5QkFBQTtBQWhCSjs7QUFrQkE7RUFDSSxZQUFBO0VBQ0EscUJBQUE7QUFmSjs7QUFpQkE7RUFDSSxZQUFBO0VBQ0EscUJBQUE7QUFkSjs7QUFrQkE7RUFDSSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7QUFmSjs7QUFrQkE7RUFDSSxrQkFBQTtFQUNBLG1CQUFBO0FBZko7O0FBa0JBO0VBQ0ksaUJBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtBQWZKOztBQXFDQTtFQUNJLFdBQUE7QUFsQ0o7O0FBcUNBO0VBQ0ksbUJBQUE7QUFsQ0o7O0FBOENBO0VBQ0ksa0JBQUE7QUEzQ0o7O0FBK0NBO0VBQ0ksWUFBQTtFQUNBLG9DQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0FBNUNKOztBQWdEQTtFQUNJLGtCQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0VBQ0Esb0NBQUE7RUFDQSxlQUFBO0FBN0NKOztBQWdEQTtFQUNJLHVCQUFBO0FBN0NKOztBQWdEQTtFQUNJLDhCQUFBO0FBN0NKOztBQWdEQTs7RUFFSSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBQTdDSjs7QUFnREE7OztFQUdJLHdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSw4QkFBQTtBQTdDSjs7QUFnREE7RUFDSSwyQkFBQTtBQTdDSjs7QUFpREE7RUFDSSwwQkFBQTtBQTlDSjs7QUF1REE7RUFDSSxpQkFBQTtBQXBESjs7QUF1REE7RUFDSSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0FBcERKIiwiZmlsZSI6InNyYy9hcHAvZXBnL25ld3NsZXR0ZXJzL25ld3NsZXR0ZXJzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLXByaW1hcnk6ICM1QTYzRDQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAjM0Y0OENDO1xuJGNvbG9yLXRyZXM6ICNEN0Q3RDc7XG4kY29sb3ItY3VhdHJvOiAjMzU1Q0ZFO1xuJGNvbG9yLWNpbmNvOiAjQ0VDRUNFO1xuJGNvbG9yLXNlaXM6ICNiOWI4Yjg7XG5cblxuLm1hdC1tZGMtZm9ybS1maWVsZCsubWF0LW1kYy1mb3JtLWZpZWxkIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xufVxuXG4vLyBwYXJhIGVsIGNvbnRvcm5vIHkgZWwgdGl0dWxvXG4udGl0bGUtZm9ybSB7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRwdDtcbiAgICBjb2xvcjogIzc3NztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuXG4ubmV0d29yay1idXR0b24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItY3VhdHJvIDtcbiAgICBoZWlnaHQ6IDI5cHg7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi5tYXQtdGFiLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubWF0LWFjY29yZGlvbiAubWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgbWluLXdpZHRoOiAxMDB2aDtcbn1cblxuOmhvc3QgLm1hdC10YWItbGFiZWwtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4udGFicGFuZWwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAyMHZoO1xufVxuXG4vKiogU29icmVlc2NyaWJlIGVsIGNvbG9yIHByZWRldGVybWluYWRvIGRlbCBjaGVja2JveCAqL1xuOjpuZy1kZWVwIC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybztcbn1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZm9ybS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG5cbi5pbWFnZW4tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5pbWFnZW4tcHJpbmNpcGFsIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLy8gaW1hZ2VuXG4ubG9nby1jb250YWluZXIge1xuICAgIHdpZHRoOiAyNDBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4ubG9nby1penF1aWVyZG8ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4vLyBib3RvbmVzIHF1ZSByZWZlcmVuY2lhblxuLnJlZmYtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmJ1dHRvbnMtZHlwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuXG4uZGVzY3JpcHRpb24tdGFicyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsb2F0OiAxO1xufVxuXG4uc2VndW5kYS1maWxhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgaGVpZ2h0OiAxMjBweDtcbn1cblxuLnRhYnMtc2VndW5kYS1maWxhIHtcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uZXR3b3JrLWJ1dHRvbi10YWJsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4ubmV0d29yay1idXR0b24tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDNweDtcbn1cblxuLm5ldHdvcmtzLWJ1dHRvbnMtY29sIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDUwJTtcbn1cblxuLy8gc25hY2tiYXJcbjo6bmctZGVlcCAuc25hY2tiYXItaW5mb3tcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkMjtcbn1cbjo6bmctZGVlcCAuc25hY2tiYXItaW5mbyAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQyO1xufVxuOjpuZy1kZWVwIC5lcnJvci1zbmFja2JhciB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcbn1cbjo6bmctZGVlcCAuZXJyb3Itc25hY2tiYXIgLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xufVxuXG4vL2ZpbHRybyBkZSBmZWNoYVxuLmZvcm0td3JhcHBlci1pbnRlcmlvciB7XG4gICAgbWluLWhlaWdodDogNzVweDtcbiAgICBtYXgtaGVpZ2h0OiA3NXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbi5tb2R1bGUtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi5zZWxlY3QtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiA0MjBweDtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMSU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xufVxuXG4vLyBsb2NhbGJyZWFrcyB0b2RvIGhhc3RhIGFiYWpvXG4vLyAubG9jYWxicmVha3MtbGlzdC1jb250YWluZXJ7XG4vLyAgICAgYm9yZGVyOiAycHggc29saWQgIzAwMDtcbi8vICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuLy8gICAgIHBhZGRpbmc6IDEwcHg7XG4vLyAgICAgbWFyZ2luOiAxMHB4O1xuLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4vLyB9XG4vLyAubG9jYWxicmVha3MtbGlzdC1mZWVke1xuLy8gICAgIGZvbnQtc2l6ZTogMThweDtcbi8vICAgICBjb2xvcjogZ3JheTtcbi8vICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4vLyB9XG4vLyAubG9jYWxicmVha3MtbGlzdC1maWxle1xuLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuLy8gICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyAgICAgcGFkZGluZzogNXB4IDA7XG4vLyB9XG4ubWF0LXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZpZWxkLXRleHQge1xuICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG59XG5cbi8vIDo6bmctZGVlcCAubG9jYWxicmFrZXMtdGFibGUgdGQubWF0LWNlbGw6Zmlyc3Qtb2YtdHlwZXtcbi8vICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbi8vIH1cbi8vIDo6bmctZGVlcCAubG9jYWxicmFrZXMtdGFibGUgdGQubWF0LWNlbGw6bGFzdC1vZi10eXBle1xuLy8gICAgIHBhZGRpbmctcmlnaHQ6MHB4O1xuLy8gfVxuXG5cblxuLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxufVxuLy8gZGFybGUgY29sb3IgYWwgYm90b24gdmVyLCBzaW4gY2xhc3MgbWF0LWVsZXZhdGlvbi16IHkgbm8gZGVzYWJpbGl0YWRvc1xuLm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jdWF0cm8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8vZGFybGUgY29sb3IgYSBsYSB0YWJsYVxuLm1hdC1oZWFkZXItY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jaW5jbyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IDBweDtcbn1cblxuLnJvdy1oZWlnaHQge1xuICAgIGhlaWdodDogMzVweCAhaW1wb3J0YW50O1xufVxuXG4ubWF0LXJvdzpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXNlaXMgIWltcG9ydGFudDtcbn1cblxuLm1hdC1oZWFkZXItcm93Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLFxuLm1hdC1yb3c6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LCAyNTUsIDI1NSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ubWF0LWNlbGw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LWZvb3Rlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLFxuLm1hdC1oZWFkZXItY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGZvbnQtc2l6ZTogOXB0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ubWF0LWNlbGx7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG5cbmFwcC1uZXdzbGV0dGVycyAubWF0LXRhYi1ib2R5LXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkIHtcbiAgICBtaW4td2lkdGg6IDMwZW0gICFpbXBvcnRhbnQ7XG59XG5cblxuXG5cblxuXG5cbi5zZWFyY2gtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbn1cblxuLnNlYXJjaC1jb250YWluZXIgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG59XG4iXX0= */\";","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\nimport {COMMA, ENTER} from '@angular/cdk/keycodes';\nimport { FormControl, Validators } from '@angular/forms';\nimport {MatAutocompleteSelectedEvent, MatAutocomplete} from '@angular/material/autocomplete';\nimport {MatChipInputEvent} from '@angular/material/chips';\nimport { Observable, Subject, combineLatest } from 'rxjs';\nimport { filter, map, startWith, takeUntil } from 'rxjs/operators';\nimport { NetworkEpg } from 'src/app/shared/model/network-epg-model/network-epg';\nimport { NetworkEpgService } from 'src/app/shared/service/network-epg.service';\nimport { NewsletterService } from 'src/app/shared/service/newsletter.service';\nimport { MatTabChangeEvent } from '@angular/material/tabs/tab-group';\nimport { Newsletter } from 'src/app/shared/model/newsletters-model/newsletter';\nimport { AuthenticationService } from 'src/app/shared/service/authentication.service';\nimport { UtilService } from 'src/app/shared/service/util.service';\nimport { UserProfileService } from 'src/app/shared/service/user-profile.service';\nimport { CountryEnum } from 'src/app/shared/constants/country.enum';\nimport { LanguageEnum } from 'src/app/shared/constants/language.enum';\nimport { NewsletterRequest } from 'src/app/shared/request/newsletter.request';\nimport { NewsletterResponse } from 'src/app/shared/response/newsletter.response';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'\nimport { TranslateService } from '@ngx-translate/core';\n\n\n@Component({\n selector: 'app-newsletters',\n templateUrl: './newsletters.component.html',\n styleUrls: ['./newsletters.component.scss']\n})\nexport class NewslettersComponent implements OnInit {\n\n disableCountrySelect: boolean = true;\n disableLangualgeSelect: boolean = true;\n disableUserSelect: boolean = true;\n\n networkCrtl = new FormControl('', Validators.required);\n countryCrtl = new FormControl('',Validators.required);\n langCrtl = new FormControl('', Validators.required);\n usersCrtl = new FormControl();\n templateCtrl = new FormControl('', Validators.required);\n subjectCtrl = new FormControl('');\n\n\n networkList: NetworkEpg[] = [];\n\n newsletterList: NewsletterResponse;\n onlyMe: boolean;\n username: string = '';\n indexTab: number;\n\n loadingSend: boolean = false;\n loadingDraft: boolean = false;\n\n allNetworksSelected = false;\n allCountriesSelected = false;\n AllUsersSelected = false;\n\n AllTurnerChecked = false;\n\n countryList = Object.keys(CountryEnum).map(key => ({ value: key, name: CountryEnum[key] }));\n\n langList = Object.keys(LanguageEnum).map(key => ({ value: key, name: LanguageEnum[key] }));\n\n usersList = []\n\n filteredNetworkList = this.networkList;\n filteredUserList = this.usersList;\n\n templateList = [\n { value: '1', name: 'Default' },\n ]\n\n\n private unsubscription$ = new Subject();\n\n constructor(\n private authenticationService: AuthenticationService,\n private networkEpgService: NetworkEpgService,\n private newsletterService: NewsletterService,\n private userProfileService: UserProfileService,\n private translateService: TranslateService,\n private matSnackBar: MatSnackBar\n ) {\n\n this.networkEpgService.getActiveNetworks().pipe(\n map(result => result.sort((a, b) => a.nameEn.toLowerCase().localeCompare(b.nameEn.toLowerCase())))\n ).subscribe(sortedResult => {\n this.networkList = sortedResult;\n this.filteredNetworkList = this.networkList\n });\n\n this.username = this.authenticationService.currentUserValue.username;\n\n this.newsletterService.getIndexTab$().subscribe((data: any) => {\n this.indexTab = data;\n });\n\n this.newsletterService.getOnlyMe$().subscribe((data: any) => {\n this.onlyMe = data;\n this.getNewsletters(this.indexTab);\n });\n\n }\n\n ngOnInit(): void {\n if(localStorage.getItem('user') === null) {\n this.userProfileService.getUserProfileByUsername$(this.username).subscribe((data:any) => {\n localStorage.setItem('user', JSON.stringify(data.userProfiles[0]));\n });\n }\n\n this.networkCrtl.setValue(this.networkList.map(network => network.id));\n\n\n combineLatest([\n this.networkCrtl.valueChanges.pipe(startWith(this.networkCrtl.value)),\n this.countryCrtl.valueChanges.pipe(startWith(this.countryCrtl.value)),\n this.langCrtl.valueChanges.pipe(startWith(this.langCrtl.value))\n ])\n .pipe(\n takeUntil(this.unsubscription$),\n filter(([network, country, language]) => !!network && !!country && !!language)\n )\n .subscribe(([network, country, language]) => {\n this.userProfileService.getUserProfilesToNewsletter(network, country, language).pipe(\n map(result => result.userProfiles.sort((a, b) => a.username.toLowerCase().localeCompare(b.username.toLowerCase())))\n ).subscribe(sortedResult => {\n this.disableUserSelect = false;\n this.usersList = sortedResult;\n this.filteredUserList = this.usersList;\n },\n error => {\n this.openErrorSnackBar(\"USERS NOT FOUND\", 'Close');\n });\n });\n }\n\n filterNetworks(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value.toLowerCase();\n\n if(!filterValue ) {\n this.filteredNetworkList = this.networkList;\n return;\n }\n\n this.filteredNetworkList = this.networkList.filter(network => network.nameEn.toLowerCase().includes(filterValue));\n }\n\n filterUsers(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value.toLowerCase();\n\n if(!filterValue) {\n this.filteredUserList = this.usersList;\n return;\n }\n\n this.filteredUserList = this.filteredUserList.filter(user => user.username.toLowerCase().includes(filterValue));\n }\n\n getAllTurnerUsers() {\n this.AllTurnerChecked = !this.AllTurnerChecked;\n if(!this.AllTurnerChecked) {\n this.userProfileService.getUserProfilesToNewsletter(this.networkCrtl.value , this.countryCrtl.value, this.langCrtl.value).subscribe((data:any) => {\n this.usersList = data.userProfiles;\n });\n }\n else{\n this.userProfileService.getUserProfilesToNewsletter(this.networkCrtl.value , this.countryCrtl.value, this.langCrtl.value, true).subscribe((data:any) => {\n this.usersList = data.userProfiles;\n });\n }\n this.usersCrtl.setValue([]);\n }\n\n toggleSelectAllNetworks() {\n this.allNetworksSelected = !this.allNetworksSelected;\n\n if (!this.allNetworksSelected) {\n this.networkCrtl.setValue([]);\n } else {\n let netwoksIds= this.networkList.map(network => network.id);\n netwoksIds.push(0);\n this.networkCrtl.setValue(netwoksIds);\n }\n\n }\n\n toggleSelectAllCountries() {\n this.allCountriesSelected = !this.allCountriesSelected;\n\n if (!this.allCountriesSelected) {\n this.countryCrtl.setValue([]);\n } else {\n let countriesIds = this.countryList.map(country => country.value);\n countriesIds.push(\"-1\");\n this.countryCrtl.setValue(countriesIds);\n }\n }\n\n toggleSelectAllUsers() {\n this.AllUsersSelected = !this.AllUsersSelected;\n\n if (!this.AllUsersSelected) {\n this.usersCrtl.setValue([]);\n } else {\n let usersIds = this.usersList.map(user => user.id);\n usersIds.push(0);\n this.usersCrtl.setValue(usersIds);\n }\n }\n\n\n\n changeNetworks() {\n this.disableCountrySelect = false;\n }\n\n changeCountries() {\n this.disableCountrySelect = false;\n }\n\n\n\n\n isAllSelectedNetworks() {\n this.allNetworksSelected = !this.allNetworksSelected;\n }\n\n isAllSelectedCountries() {\n this.allCountriesSelected = !this.allCountriesSelected;\n }\n\n\n onTabChange(event: MatTabChangeEvent): void {\n const selectedTabIndex = event.index;\n this.getNewsletters(selectedTabIndex);\n }\n\n resetForm(): void {\n this.networkCrtl.reset() ;\n this.countryCrtl.reset();\n this.langCrtl.reset();\n this.usersCrtl.reset();\n this.templateCtrl.reset();\n this.subjectCtrl.reset();\n this.newsletterService.setNewsletterMessage('');\n this.AllTurnerChecked = false;\n this.disableCountrySelect = true;\n this.disableLangualgeSelect = true;\n this.disableUserSelect = true;\n }\n\n getNewsletters(index: number): void {\n\n this.indexTab = index;\n let userId = null;\n if(this.onlyMe) {\n userId = JSON.parse(localStorage.getItem('user')).id;\n }\n this.newsletterService.setIndexTab(index);\n\n }\n\n getNetworkById(id: number): string {\n let network = this.networkList.find(network => network.id === id);\n if(network)\n return network.nameEn\n else\n return '';\n }\n\n getCountryById(id: string): string {\n let country = this.countryList.find(country => country.value === id);\n if(country)\n return country.name\n else\n return '';\n }\n\n getUserById(id: number): string {\n let user = this.usersList.find(user => user.id === id);\n if(user)\n return user.username\n else\n return '';\n }\n\n\n sendNewsletter(): void {\n let body;\n this.loadingSend = true;\n this.newsletterService.getNewsletterMessage$().subscribe((data:any) => {\n body = data;\n });\n\n let request = new NewsletterRequest(\n JSON.parse(localStorage.getItem('user')).id,\n this.subjectCtrl.value,\n body,\n this.templateCtrl.value,\n this.langCrtl.value,\n this.networkCrtl.value,\n this.countryCrtl.value,\n this.usersCrtl.value\n );\n\n this.newsletterService.sendNewsletter$(request).subscribe((data:any) => {\n this.loadingSend = false;\n this.openSuccessSnackBar(data.message, 'Close');\n this.resetForm();\n },\n error => {\n this.openErrorSnackBar(error.error.message, 'Close');\n });\n }\n\n saveDraft(): void {\n let body;\n this.loadingDraft = true;\n this.newsletterService.getNewsletterMessage$().subscribe((data:any) => {\n body = data;\n });\n\n let request = new NewsletterRequest(\n JSON.parse(localStorage.getItem('user')).id,\n this.subjectCtrl.value,\n body,\n this.templateCtrl.value,\n this.langCrtl.value,\n this.networkCrtl.value,\n this.countryCrtl.value,\n this.usersCrtl.value\n );\n\n\n this.newsletterService.draftNewsletter$(request).subscribe((data: NewsletterResponse) => {\n this.loadingDraft = false;\n this.openSuccessSnackBar(data.message, 'Close');\n this.resetForm();\n },\n error => {\n this.openErrorSnackBar(error.error.message, 'Close');\n }\n );\n }\n\n openErrorSnackBar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['error-snackbar'];\n config.duration = 8000;\n this.matSnackBar.open(message, action, config);\n }\n\n openSuccessSnackBar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['success-snackbar'];\n config.duration = 8000;\n this.matSnackBar.open(message, action, config);\n }\n\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n\n\n}\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.mat-tab-group {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.mat-accordion .mat-expansion-panel {\\n min-width: 100vh;\\n}\\n\\n:host .mat-tab-label-content {\\n font-size: 20px;\\n}\\n\\n.tabpanel {\\n height: auto;\\n max-height: 20vh;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.input-group-prepend,\\n.form-group > .form-control {\\n height: 28px;\\n font-family: Arial, sans-serif;\\n font-size: 11pt;\\n}\\n\\n.form-group > .form-control:focus {\\n border-color: #355CFE;\\n box-shadow: 0 0 8px #355CFE;\\n outline: 0 none;\\n}\\n\\n.cursor-pointer {\\n cursor: pointer;\\n}\\n\\n.cursor-pointer:hover {\\n text-decoration: underline;\\n}\\n\\n.mat-raised-button:not([class*=mat-elevation-z]):not([disabled]) {\\n color: white;\\n background-color: #355CFE !important;\\n height: 24px;\\n line-height: inherit;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL3Byb2ZpbGUvYWNjb3VudC9hY2NvdW50LmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBO0VBQ0ksY0FBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0FBVEo7O0FBY0E7RUFDSSxhQUFBO0VBQ0EsdUJBQUE7QUFYSjs7QUFjQTtFQUNJLGdCQUFBO0FBWEo7O0FBY0E7RUFDSSxlQUFBO0FBWEo7O0FBY0E7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7QUFYSjs7QUFlQTtFQUNJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0FBWko7O0FBZUE7RUFDSSxXQUFBO0FBWko7O0FBZUE7O0VBRUksWUFBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtBQVpKOztBQWVBO0VBQ0kscUJBQUE7RUFDQSwyQkFBQTtFQUNBLGVBQUE7QUFaSjs7QUFnQkE7RUFDSSxlQUFBO0FBYko7O0FBZUE7RUFDSSwwQkFBQTtBQVpKOztBQWdCQTtFQUNJLFlBQUE7RUFDQSxvQ0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtBQWJKIiwiZmlsZSI6InNyYy9hcHAvZXBnL3Byb2ZpbGUvYWNjb3VudC9hY2NvdW50LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLXByaW1hcnk6ICM1QTYzRDQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAjM0Y0OENDO1xuJGNvbG9yLXRyZXM6ICNEN0Q3RDc7XG4kY29sb3ItY3VhdHJvOiAjMzU1Q0ZFO1xuJGNvbG9yLWNpbmNvOiAjQ0VDRUNFO1xuJGNvbG9yLXNlaXM6ICNiOWI4Yjg7XG5cblxuXG4vLyBwYXJhIGVsIGNvbnRvcm5vIHkgZWwgdGl0dWxvXG4udGl0bGUtZm9ybSB7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRwdDtcbiAgICBjb2xvcjogIzc3NztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuXG5cbi5tYXQtdGFiLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubWF0LWFjY29yZGlvbiAubWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgbWluLXdpZHRoOiAxMDB2aDtcbn1cblxuOmhvc3QgLm1hdC10YWItbGFiZWwtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4udGFicGFuZWwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAyMHZoO1xufVxuXG5cbi5mb3JtLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmZvcm0td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kLFxuLmZvcm0tZ3JvdXA+LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExcHQ7XG59XG5cbi5mb3JtLWdyb3VwPi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzM1NUNGRTtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4ICMzNTVDRkU7XG4gICAgb3V0bGluZTogMCBub25lO1xufVxuXG5cbi5jdXJzb3ItcG9pbnRlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmN1cnNvci1wb2ludGVyOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLy8gZGFybGUgY29sb3IgYWwgYm90b24gdmVyLCBzaW4gY2xhc3MgbWF0LWVsZXZhdGlvbi16IHkgbm8gZGVzYWJpbGl0YWRvc1xuLm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jdWF0cm8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG4iXX0= */\";","import { Component, Input, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { CountryEnum } from 'src/app/shared/constants/country.enum';\nimport { LanguageEnum } from 'src/app/shared/constants/language.enum';\nimport { UserProfile } from 'src/app/shared/model/user-profile';\nimport { AuthenticationService } from 'src/app/shared/service/authentication.service';\nimport { UserProfileService } from 'src/app/shared/service/user-profile.service';\n\n@Component({\n selector: 'app-account',\n templateUrl: './account.component.html',\n styleUrls: ['./account.component.scss']\n})\nexport class AccountComponent implements OnInit {\n\n @Input() user: UserProfile;\n\n accountForm: FormGroup;\n\n loading = false;\n successUpdateAccount = false;\n errorUpdateAccount = false;\n\n langList = Object.keys(LanguageEnum).map(key => ({ value: key, name: LanguageEnum[key] }));\n\n countryList = Object.keys(CountryEnum).map(key => ({ value: key, name: CountryEnum[key] }));\n\n\n\n constructor(\n private formBuilder: FormBuilder,\n private authenticationService: AuthenticationService,\n private userProfileService: UserProfileService\n ) {\n }\n\n ngOnInit(): void {\n this.accountForm = this.formBuilder.group({\n usernametCtrl: new FormControl({value:this.user.username, disabled:true}, Validators.required),\n langCrtl: new FormControl({value:this.user.language, disabled:false}, Validators.required),\n\n nameCtrl: new FormControl(this.user.firstName || \"\" , Validators.required),\n lastNameCtrl: new FormControl(this.user.lastName || \"\" , Validators.required),\n companyCtrl: new FormControl(this.user.company ? this.user.company.name : \"\" , Validators.required),\n countryCtrl: new FormControl({value: this.user.address ? this.user.address.country : \"\" , disabled: false } , Validators.required),\n cityCtrl: new FormControl(this.user.address ? this.user.address.city : \"\" , Validators.required),\n addressCtrl: new FormControl(this.user.address ? this.user.address.street : \"\" , Validators.required),\n zipCodeCtrl: new FormControl(this.user.address ? this.user.address.zipCode : \"\" , Validators.required)\n });\n\n }\n\n\n updateAccount(): void {\n this.loading = true;\n this.successUpdateAccount = false;\n this.errorUpdateAccount = false;\n this.user.language = this.accountForm.controls.langCrtl.value;\n this.userProfileService.updateProfile$(this.user).subscribe(\n () => {\n this.successUpdateAccount = true;\n this.loading = false;\n },\n (error) => {\n this.errorUpdateAccount = true;\n this.loading = false;\n }\n );\n }\n\n}\n","export default \".mat-mdc-form-field + .mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.network-button {\\n color: white;\\n background-color: #355CFE;\\n height: 29px;\\n line-height: inherit;\\n}\\n\\n.mat-tab-group {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.mat-accordion .mat-expansion-panel {\\n min-width: 100vh;\\n}\\n\\n:host .mat-tab-label-content {\\n font-size: 20px;\\n}\\n\\n.tabpanel {\\n height: auto;\\n max-height: 20vh;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.imagen-container {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.imagen-principal {\\n width: 100%;\\n}\\n\\n.logo-container {\\n width: 240px;\\n height: 120px;\\n}\\n\\n.logo-izquierdo {\\n max-width: 100%;\\n max-height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.reff-buttons {\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n gap: 10px;\\n margin-top: 10px;\\n}\\n\\n.buttons-dyp {\\n display: flex;\\n gap: 10px;\\n justify-content: center;\\n}\\n\\n.description-tabs {\\n height: 100%;\\n float: 1;\\n}\\n\\n.segunda-fila {\\n display: flex;\\n margin-top: 30px;\\n height: 120px;\\n}\\n\\n.tabs-segunda-fila {\\n align-items: center;\\n}\\n\\n.network-button-table {\\n display: flex;\\n flex-flow: column;\\n align-items: center;\\n}\\n\\n.network-button-row {\\n display: flex;\\n flex-wrap: wrap;\\n flex-flow: row;\\n justify-content: center;\\n align-items: center;\\n width: 100%;\\n margin-top: 3px;\\n}\\n\\n.networks-buttons-col {\\n align-items: center;\\n justify-content: center;\\n display: flex;\\n width: 50%;\\n}\\n\\n::ng-deep .snackbar-info {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .snackbar-info .mat-simple-snackbar-action {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .error-snackbar {\\n color: white;\\n background-color: red;\\n}\\n\\n::ng-deep .error-snackbar .mat-simple-snackbar-action {\\n color: white;\\n background-color: red;\\n}\\n\\n.form-wrapper-interior {\\n min-height: 75px;\\n max-height: 75px;\\n margin-top: 10px;\\n}\\n\\n.module-select-container {\\n text-align: center;\\n margin-bottom: 15px;\\n}\\n\\n.select-container {\\n max-height: 420px;\\n width: 300px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n.button-container {\\n text-align: center;\\n}\\n\\n.mat-raised-button:not([class*=mat-elevation-z]):not([disabled]) {\\n color: white;\\n background-color: #355CFE !important;\\n height: 24px;\\n line-height: inherit;\\n}\\n\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n text-align: center;\\n border: 1px solid white;\\n color: #000000;\\n background-color: #CECECE !important;\\n border-top: 0px;\\n}\\n\\n.row-height {\\n height: 35px !important;\\n}\\n\\n.mat-row:hover {\\n background: #b9b8b8 !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]),\\n.mat-row:not([class*=mat-elevation-z]) {\\n height: 30px;\\n background: white;\\n text-align: center;\\n}\\n\\n.mat-cell:not([class*=mat-elevation-z]),\\n.mat-footer-cell:not([class*=mat-elevation-z]),\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n border-bottom-width: 1px;\\n border-bottom-style: solid;\\n font-size: 9pt;\\n font-weight: normal;\\n font-family: Arial, sans-serif;\\n}\\n\\n.mat-cell {\\n padding-right: 0 !important;\\n}\\n\\napp-newsletters .mat-tab-body-wrapper .mat-form-field {\\n min-width: 30em !important;\\n}\\n\\n.search-container {\\n padding: 8px 16px;\\n}\\n\\n.search-container input {\\n width: 100%;\\n margin-bottom: 8px;\\n margin-top: 8px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL3Byb2ZpbGUvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTtFQUNJLGdCQUFBO0FBUEo7O0FBV0E7RUFDSSxjQUFBO0VBQ0EsOEJBQUE7RUFDQSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7QUFSSjs7QUFZQTtFQUNJLFlBQUE7RUFDQSx5QkFyQlc7RUFzQlgsWUFBQTtFQUNBLG9CQUFBO0FBVEo7O0FBWUE7RUFDSSxhQUFBO0VBQ0EsdUJBQUE7QUFUSjs7QUFZQTtFQUNJLGdCQUFBO0FBVEo7O0FBWUE7RUFDSSxlQUFBO0FBVEo7O0FBWUE7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7QUFUSjs7QUFZQSx1REFBQTs7QUFDQTtFQUNJLHlCQTlDVztBQXFDZjs7QUFZQTtFQUNJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0FBVEo7O0FBWUE7RUFDSSxXQUFBO0FBVEo7O0FBY0E7RUFDSSxXQUFBO0VBQ0EsWUFBQTtBQVhKOztBQWNBO0VBQ0ksV0FBQTtBQVhKOztBQWVBO0VBQ0ksWUFBQTtFQUNBLGFBQUE7QUFaSjs7QUFlQTtFQUNJLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7QUFaSjs7QUFnQkE7RUFDSSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSwyQkFBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtBQWJKOztBQWdCQTtFQUNJLGFBQUE7RUFDQSxTQUFBO0VBQ0EsdUJBQUE7QUFiSjs7QUFpQkE7RUFDSSxZQUFBO0VBQ0EsUUFBQTtBQWRKOztBQWlCQTtFQUNJLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7QUFkSjs7QUFpQkE7RUFHSSxtQkFBQTtBQWhCSjs7QUFtQkE7RUFDSSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtBQWhCSjs7QUFtQkE7RUFDSSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7QUFoQko7O0FBbUJBO0VBQ0ksbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGFBQUE7RUFDQSxVQUFBO0FBaEJKOztBQW9CQTtFQUNJLFlBQUE7RUFDQSx5QkFBQTtBQWpCSjs7QUFtQkE7RUFDSSxZQUFBO0VBQ0EseUJBQUE7QUFoQko7O0FBa0JBO0VBQ0ksWUFBQTtFQUNBLHFCQUFBO0FBZko7O0FBaUJBO0VBQ0ksWUFBQTtFQUNBLHFCQUFBO0FBZEo7O0FBa0JBO0VBQ0ksZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0FBZko7O0FBa0JBO0VBQ0ksa0JBQUE7RUFDQSxtQkFBQTtBQWZKOztBQWtCQTtFQUNJLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7QUFmSjs7QUFxQ0E7RUFDSSxXQUFBO0FBbENKOztBQXFDQTtFQUNJLG1CQUFBO0FBbENKOztBQThDQTtFQUNJLGtCQUFBO0FBM0NKOztBQStDQTtFQUNJLFlBQUE7RUFDQSxvQ0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtBQTVDSjs7QUFnREE7RUFDSSxrQkFBQTtFQUNBLHVCQUFBO0VBQ0EsY0FBQTtFQUNBLG9DQUFBO0VBQ0EsZUFBQTtBQTdDSjs7QUFnREE7RUFDSSx1QkFBQTtBQTdDSjs7QUFnREE7RUFDSSw4QkFBQTtBQTdDSjs7QUFnREE7O0VBRUksWUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QUE3Q0o7O0FBZ0RBOzs7RUFHSSx3QkFBQTtFQUNBLDBCQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsOEJBQUE7QUE3Q0o7O0FBZ0RBO0VBQ0ksMkJBQUE7QUE3Q0o7O0FBaURBO0VBQ0ksMEJBQUE7QUE5Q0o7O0FBdURBO0VBQ0ksaUJBQUE7QUFwREo7O0FBdURBO0VBQ0ksV0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtBQXBESiIsImZpbGUiOiJzcmMvYXBwL2VwZy9wcm9maWxlL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkY29sb3ItcHJpbWFyeTogIzVBNjNENDtcbiRjb2xvci1zZWNvbmRhcnk6ICMzRjQ4Q0M7XG4kY29sb3ItdHJlczogI0Q3RDdENztcbiRjb2xvci1jdWF0cm86ICMzNTVDRkU7XG4kY29sb3ItY2luY286ICNDRUNFQ0U7XG4kY29sb3Itc2VpczogI2I5YjhiODtcblxuXG4ubWF0LW1kYy1mb3JtLWZpZWxkKy5tYXQtbWRjLWZvcm0tZmllbGQge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi8vIHBhcmEgZWwgY29udG9ybm8geSBlbCB0aXR1bG9cbi50aXRsZS1mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB0O1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG5cbi5uZXR3b3JrLWJ1dHRvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jdWF0cm8gO1xuICAgIGhlaWdodDogMjlweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLm1hdC10YWItZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tYXQtYWNjb3JkaW9uIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBtaW4td2lkdGg6IDEwMHZoO1xufVxuXG46aG9zdCAubWF0LXRhYi1sYWJlbC1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG59XG5cbi50YWJwYW5lbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDIwdmg7XG59XG5cbi8qKiBTb2JyZWVzY3JpYmUgZWwgY29sb3IgcHJlZGV0ZXJtaW5hZG8gZGVsIGNoZWNrYm94ICovXG46Om5nLWRlZXAgLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItY3VhdHJvO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5mb3JtLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5cblxuLmltYWdlbi1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmltYWdlbi1wcmluY2lwYWwge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBpbWFnZW5cbi5sb2dvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDI0MHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG59XG5cbi5sb2dvLWl6cXVpZXJkbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8vIGJvdG9uZXMgcXVlIHJlZmVyZW5jaWFuXG4ucmVmZi1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYnV0dG9ucy1keXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5cbi5kZXNjcmlwdGlvbi10YWJzIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxvYXQ6IDE7XG59XG5cbi5zZWd1bmRhLWZpbGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4udGFicy1zZWd1bmRhLWZpbGEge1xuICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm5ldHdvcmstYnV0dG9uLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uZXR3b3JrLWJ1dHRvbi1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZmxvdzogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG4ubmV0d29ya3MtYnV0dG9ucy1jb2wge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogNTAlO1xufVxuXG4vLyBzbmFja2JhclxuOjpuZy1kZWVwIC5zbmFja2Jhci1pbmZve1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQyO1xufVxuOjpuZy1kZWVwIC5zbmFja2Jhci1pbmZvIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDI7XG59XG46Om5nLWRlZXAgLmVycm9yLXNuYWNrYmFyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xufVxuOjpuZy1kZWVwIC5lcnJvci1zbmFja2JhciAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG59XG5cbi8vZmlsdHJvIGRlIGZlY2hhXG4uZm9ybS13cmFwcGVyLWludGVyaW9yIHtcbiAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgIG1heC1oZWlnaHQ6IDc1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLm1vZHVsZS1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnNlbGVjdC1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDQyMHB4O1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG59XG5cbi8vIGxvY2FsYnJlYWtzIHRvZG8gaGFzdGEgYWJham9cbi8vIC5sb2NhbGJyZWFrcy1saXN0LWNvbnRhaW5lcntcbi8vICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLyAgICAgcGFkZGluZzogMTBweDtcbi8vICAgICBtYXJnaW46IDEwcHg7XG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbi8vIH1cbi8vIC5sb2NhbGJyZWFrcy1saXN0LWZlZWR7XG4vLyAgICAgZm9udC1zaXplOiAxOHB4O1xuLy8gICAgIGNvbG9yOiBncmF5O1xuLy8gICAgIG1hcmdpbi1ib3R0b206IDVweDtcbi8vIH1cbi8vIC5sb2NhbGJyZWFrcy1saXN0LWZpbGV7XG4vLyAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4vLyAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICBwYWRkaW5nOiA1cHggMDtcbi8vIH1cbi5tYXQtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZmllbGQtdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbn1cblxuLy8gOjpuZy1kZWVwIC5sb2NhbGJyYWtlcy10YWJsZSB0ZC5tYXQtY2VsbDpmaXJzdC1vZi10eXBle1xuLy8gICAgIHBhZGRpbmctbGVmdDogMHB4O1xuLy8gfVxuLy8gOjpuZy1kZWVwIC5sb2NhbGJyYWtlcy10YWJsZSB0ZC5tYXQtY2VsbDpsYXN0LW9mLXR5cGV7XG4vLyAgICAgcGFkZGluZy1yaWdodDowcHg7XG4vLyB9XG5cblxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG59XG4vLyBkYXJsZSBjb2xvciBhbCBib3RvbiB2ZXIsIHNpbiBjbGFzcyBtYXQtZWxldmF0aW9uLXogeSBubyBkZXNhYmlsaXRhZG9zXG4ubWF0LXJhaXNlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSk6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy9kYXJsZSBjb2xvciBhIGxhIHRhYmxhXG4ubWF0LWhlYWRlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWNpbmNvICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMHB4O1xufVxuXG4ucm93LWhlaWdodCB7XG4gICAgaGVpZ2h0OiAzNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtcm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc2VpcyAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWhlYWRlci1yb3c6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LXJvdzpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXQtY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxcbi5tYXQtZm9vdGVyLWNlbGw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LWhlYWRlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgZm9udC1zaXplOiA5cHQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5tYXQtY2VsbHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cblxuYXBwLW5ld3NsZXR0ZXJzIC5tYXQtdGFiLWJvZHktd3JhcHBlciAubWF0LWZvcm0tZmllbGQge1xuICAgIG1pbi13aWR0aDogMzBlbSAgIWltcG9ydGFudDtcbn1cblxuXG5cblxuXG5cblxuLnNlYXJjaC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xufVxuXG4uc2VhcmNoLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi10b3A6IDhweDtcbn1cbiJdfQ== */\";","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { AuthenticationService } from 'src/app/shared/service/authentication.service';\nimport { UserProfileService } from 'src/app/shared/service/user-profile.service';\n\n@Component({\n selector: 'app-change-password',\n templateUrl: './change-password.component.html',\n styleUrls: ['./change-password.component.scss']\n})\nexport class ChangePasswordComponent implements OnInit {\n\n\n passwordForm: FormGroup;\n\n // currentPasswordCtrl = new FormControl('', Validators.required);\n // newPasswordCtrl = new FormControl('', Validators.required);\n // confirmPasswordCtrl = new FormControl('', Validators.required);\n\n loading = false;\n submitted = false;\n errorChangePassword = false;\n successChangePassword = false;\n passwordMismatchError = false;\n hideCurrentPassword = true;\n hideNewPassword = true;\n hideConfirmPassword = true;\n\n\n constructor(\n private formBuilder: FormBuilder,\n private authenticationService: AuthenticationService\n ) { }\n\n ngOnInit(): void {\n this.passwordForm = this.formBuilder.group({\n currentPasswordCtrl: ['', Validators.required],\n newPasswordCtrl: ['', Validators.required],\n confirmPasswordCtrl: ['', Validators.required]\n });\n }\n\n changePassword(): void {\n this.submitted = true;\n this.errorChangePassword = false;\n this.successChangePassword = false;\n this.passwordMismatchError = false;\n\n if (this.passwordForm.controls.currentPasswordCtrl.invalid ||\n this.passwordForm.controls.newPasswordCtrl.invalid ||\n this.passwordForm.controls.confirmPasswordCtrl.invalid) {\n return;\n }\n\n // Comprobar que newPasswordCtrl y confirmPasswordCtrl coincidan\n if (this.passwordForm.controls.newPasswordCtrl.value !== this.passwordForm.controls.confirmPasswordCtrl.value) {\n this.passwordMismatchError = true;\n return;\n }\n\n this.loading = true;\n this.authenticationService.changePassword$(\n this.passwordForm.controls.currentPasswordCtrl.value,\n this.passwordForm.controls.newPasswordCtrl.value\n ).subscribe(\n () => {\n this.loading = false;\n this.successChangePassword = true;\n this.passwordForm.reset();\n this.submitted = false;\n // Limpiar errores de validación\n Object.keys(this.passwordForm.controls).forEach(key => {\n this.passwordForm.controls[key].setErrors(null);\n });\n },\n (error) => {\n this.errorChangePassword = true;\n this.loading = false;\n }\n );\n }\n\n}\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.mat-tab-group {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.mat-accordion .mat-expansion-panel {\\n min-width: 100vh;\\n}\\n\\n:host .mat-tab-label-content {\\n font-size: 20px;\\n}\\n\\n.tabpanel {\\n height: auto;\\n max-height: 20vh;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.input-group-prepend,\\n.form-group > .form-control {\\n height: 28px;\\n font-family: Arial, sans-serif;\\n font-size: 11pt;\\n}\\n\\n.form-group > .form-control:focus {\\n border-color: #355CFE;\\n box-shadow: 0 0 8px #355CFE;\\n outline: 0 none;\\n}\\n\\n.cursor-pointer {\\n cursor: pointer;\\n}\\n\\n.cursor-pointer:hover {\\n text-decoration: underline;\\n}\\n\\n.mat-raised-button:not([class*=mat-elevation-z]):not([disabled]) {\\n color: white;\\n background-color: #355CFE !important;\\n height: 24px;\\n line-height: inherit;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL3Byb2ZpbGUvcGVyc29uYWwtZGF0YS9wZXJzb25hbC1kYXRhLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBO0VBQ0ksY0FBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0FBVEo7O0FBY0E7RUFDSSxhQUFBO0VBQ0EsdUJBQUE7QUFYSjs7QUFjQTtFQUNJLGdCQUFBO0FBWEo7O0FBY0E7RUFDSSxlQUFBO0FBWEo7O0FBY0E7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7QUFYSjs7QUFlQTtFQUNJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0FBWko7O0FBZUE7RUFDSSxXQUFBO0FBWko7O0FBZUE7O0VBRUksWUFBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtBQVpKOztBQWVBO0VBQ0kscUJBQUE7RUFDQSwyQkFBQTtFQUNBLGVBQUE7QUFaSjs7QUFnQkE7RUFDSSxlQUFBO0FBYko7O0FBZUE7RUFDSSwwQkFBQTtBQVpKOztBQWdCQTtFQUNJLFlBQUE7RUFDQSxvQ0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtBQWJKIiwiZmlsZSI6InNyYy9hcHAvZXBnL3Byb2ZpbGUvcGVyc29uYWwtZGF0YS9wZXJzb25hbC1kYXRhLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLXByaW1hcnk6ICM1QTYzRDQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAjM0Y0OENDO1xuJGNvbG9yLXRyZXM6ICNEN0Q3RDc7XG4kY29sb3ItY3VhdHJvOiAjMzU1Q0ZFO1xuJGNvbG9yLWNpbmNvOiAjQ0VDRUNFO1xuJGNvbG9yLXNlaXM6ICNiOWI4Yjg7XG5cblxuXG4vLyBwYXJhIGVsIGNvbnRvcm5vIHkgZWwgdGl0dWxvXG4udGl0bGUtZm9ybSB7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRwdDtcbiAgICBjb2xvcjogIzc3NztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuXG5cbi5tYXQtdGFiLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubWF0LWFjY29yZGlvbiAubWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgbWluLXdpZHRoOiAxMDB2aDtcbn1cblxuOmhvc3QgLm1hdC10YWItbGFiZWwtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4udGFicGFuZWwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAyMHZoO1xufVxuXG5cbi5mb3JtLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmZvcm0td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5pbnB1dC1ncm91cC1wcmVwZW5kLFxuLmZvcm0tZ3JvdXA+LmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExcHQ7XG59XG5cbi5mb3JtLWdyb3VwPi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzM1NUNGRTtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4ICMzNTVDRkU7XG4gICAgb3V0bGluZTogMCBub25lO1xufVxuXG5cbi5jdXJzb3ItcG9pbnRlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmN1cnNvci1wb2ludGVyOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLy8gZGFybGUgY29sb3IgYWwgYm90b24gdmVyLCBzaW4gY2xhc3MgbWF0LWVsZXZhdGlvbi16IHkgbm8gZGVzYWJpbGl0YWRvc1xuLm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jdWF0cm8gIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG4iXX0= */\";","import { Component, Input, OnInit } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CountryEnum } from 'src/app/shared/constants/country.enum';\nimport { UserProfile } from 'src/app/shared/model/user-profile';\nimport { UserProfileService } from 'src/app/shared/service/user-profile.service';\n\n@Component({\n selector: 'app-personal-data',\n templateUrl: './personal-data.component.html',\n styleUrls: ['./personal-data.component.scss']\n})\nexport class PersonalDataComponent implements OnInit {\n\n @Input() user: UserProfile;\n\n PersonalDataForm: FormGroup;\n\n loading = false;\n successUpdatePersonalData = false;\n errorUpdatePersonalData = false;\n\n countryList = Object.keys(CountryEnum).map(key => ({ value: key, name: CountryEnum[key] }));\n\n\n\n constructor(\n private formBuilder: FormBuilder,\n private userProfileService: UserProfileService\n ) { }\n\n ngOnInit(): void {\n this.PersonalDataForm =this.formBuilder.group({\n nameCtrl: new FormControl(this.user.firstName , Validators.required),\n lastNameCtrl: new FormControl(this.user.lastName , Validators.required),\n companyCtrl: new FormControl(this.user.company.name , Validators.required),\n countryCtrl: new FormControl({value: this.user.address.country, disabled: false } , Validators.required),\n cityCtrl: new FormControl(this.user.address.city , Validators.required),\n addressCtrl: new FormControl(this.user.address.street , Validators.required),\n zipCodeCtrl: new FormControl(this.user.address.zipCode , Validators.required)\n });\n }\n\n updatePersonalData(): void {\n this.loading = true;\n this.errorUpdatePersonalData = false;\n this.successUpdatePersonalData = false;\n\n this.user.firstName = this.PersonalDataForm.controls.nameCtrl.value;\n this.user.lastName = this.PersonalDataForm.controls.lastNameCtrl.value;\n this.user.company.name = this.PersonalDataForm.controls.companyCtrl.value;\n this.user.address.country = this.PersonalDataForm.controls.countryCtrl.value;\n this.user.address.city = this.PersonalDataForm.controls.cityCtrl.value;\n this.user.address.street = this.PersonalDataForm.controls.addressCtrl.value;\n this.user.address.zipCode = this.PersonalDataForm.controls.zipCodeCtrl.value;\n\n this.userProfileService.updateProfile$(this.user).subscribe(\n () => {\n this.successUpdatePersonalData = true;\n this.loading = false;\n },\n (error) => {\n this.errorUpdatePersonalData = true;\n this.loading = false;\n }\n )\n\n\n }\n}\n","export default \".mat-mdc-form-field + .mat-mdc-form-field {\\n margin-left: 8px;\\n}\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.network-button {\\n color: white;\\n background-color: #355CFE;\\n height: 29px;\\n line-height: inherit;\\n}\\n\\n.mat-tab-group {\\n display: flex;\\n justify-content: center;\\n}\\n\\n.mat-accordion .mat-expansion-panel {\\n min-width: 100vh;\\n}\\n\\n:host .mat-tab-label-content {\\n font-size: 20px;\\n}\\n\\n.tabpanel {\\n height: auto;\\n max-height: 20vh;\\n}\\n\\n/** Sobreescribe el color predeterminado del checkbox */\\n\\n::ng-deep .mat-checkbox-checked.mat-accent .mat-checkbox-background {\\n background-color: #355CFE;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.imagen-container {\\n width: 100%;\\n height: 100%;\\n}\\n\\n.imagen-principal {\\n width: 100%;\\n}\\n\\n.logo-container {\\n width: 240px;\\n height: 120px;\\n}\\n\\n.logo-izquierdo {\\n max-width: 100%;\\n max-height: 100%;\\n -o-object-fit: cover;\\n object-fit: cover;\\n}\\n\\n.reff-buttons {\\n display: flex;\\n flex-direction: column;\\n justify-content: flex-start;\\n gap: 10px;\\n margin-top: 10px;\\n}\\n\\n.buttons-dyp {\\n display: flex;\\n gap: 10px;\\n justify-content: center;\\n}\\n\\n.description-tabs {\\n height: 100%;\\n float: 1;\\n}\\n\\n.segunda-fila {\\n display: flex;\\n margin-top: 30px;\\n height: 120px;\\n}\\n\\n.tabs-segunda-fila {\\n align-items: center;\\n}\\n\\n.network-button-table {\\n display: flex;\\n flex-flow: column;\\n align-items: center;\\n}\\n\\n.network-button-row {\\n display: flex;\\n flex-wrap: wrap;\\n flex-flow: row;\\n justify-content: center;\\n align-items: center;\\n width: 100%;\\n margin-top: 3px;\\n}\\n\\n.networks-buttons-col {\\n align-items: center;\\n justify-content: center;\\n display: flex;\\n width: 50%;\\n}\\n\\n::ng-deep .snackbar-info {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .snackbar-info .mat-simple-snackbar-action {\\n color: white;\\n background-color: #0096d2;\\n}\\n\\n::ng-deep .error-snackbar {\\n color: white;\\n background-color: red;\\n}\\n\\n::ng-deep .error-snackbar .mat-simple-snackbar-action {\\n color: white;\\n background-color: red;\\n}\\n\\n.form-wrapper-interior {\\n min-height: 75px;\\n max-height: 75px;\\n margin-top: 10px;\\n}\\n\\n.module-select-container {\\n text-align: center;\\n margin-bottom: 15px;\\n}\\n\\n.select-container {\\n max-height: 420px;\\n width: 300px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n.button-container {\\n text-align: center;\\n}\\n\\n.mat-raised-button:not([class*=mat-elevation-z]):not([disabled]) {\\n color: white;\\n background-color: #355CFE !important;\\n height: 24px;\\n line-height: inherit;\\n}\\n\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n text-align: center;\\n border: 1px solid white;\\n color: #000000;\\n background-color: #CECECE !important;\\n border-top: 0px;\\n}\\n\\n.row-height {\\n height: 35px !important;\\n}\\n\\n.mat-row:hover {\\n background: #b9b8b8 !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]),\\n.mat-row:not([class*=mat-elevation-z]) {\\n height: 30px;\\n background: white;\\n text-align: center;\\n}\\n\\n.mat-cell:not([class*=mat-elevation-z]),\\n.mat-footer-cell:not([class*=mat-elevation-z]),\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n border-bottom-width: 1px;\\n border-bottom-style: solid;\\n font-size: 9pt;\\n font-weight: normal;\\n font-family: Arial, sans-serif;\\n}\\n\\n.mat-cell {\\n padding-right: 0 !important;\\n}\\n\\n.search-container {\\n padding: 8px 16px;\\n}\\n\\n.search-container input {\\n width: 100%;\\n margin-bottom: 8px;\\n margin-top: 8px;\\n}\\n\\n.aside {\\n min-width: 20%;\\n}\\n\\n.bg-grey {\\n background-color: #CECECE;\\n}\\n\\n.bg-active {\\n background-color: #355CFE;\\n color: white;\\n}\\n\\n.bg-noactive {\\n background-color: transparent;\\n}\\n\\n.list-group-item {\\n height: 2rem;\\n padding: 0.25rem 1.25rem;\\n border: 1px solid #eee;\\n}\\n\\n.bg-hover:hover {\\n background-color: #355CFE;\\n color: white;\\n cursor: pointer;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL3Byb2ZpbGUvcHJvZmlsZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTtFQUNJLGdCQUFBO0FBUEo7O0FBV0E7RUFDSSxjQUFBO0VBQ0EsOEJBQUE7RUFDQSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7QUFSSjs7QUFZQTtFQUNJLFlBQUE7RUFDQSx5QkFyQlc7RUFzQlgsWUFBQTtFQUNBLG9CQUFBO0FBVEo7O0FBWUE7RUFDSSxhQUFBO0VBQ0EsdUJBQUE7QUFUSjs7QUFZQTtFQUNJLGdCQUFBO0FBVEo7O0FBWUE7RUFDSSxlQUFBO0FBVEo7O0FBWUE7RUFDSSxZQUFBO0VBQ0EsZ0JBQUE7QUFUSjs7QUFZQSx1REFBQTs7QUFDQTtFQUNJLHlCQTlDVztBQXFDZjs7QUFZQTtFQUNJLGFBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0FBVEo7O0FBWUE7RUFDSSxXQUFBO0FBVEo7O0FBY0E7RUFDSSxXQUFBO0VBQ0EsWUFBQTtBQVhKOztBQWNBO0VBQ0ksV0FBQTtBQVhKOztBQWVBO0VBQ0ksWUFBQTtFQUNBLGFBQUE7QUFaSjs7QUFlQTtFQUNJLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0tBQUEsaUJBQUE7QUFaSjs7QUFnQkE7RUFDSSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSwyQkFBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtBQWJKOztBQWdCQTtFQUNJLGFBQUE7RUFDQSxTQUFBO0VBQ0EsdUJBQUE7QUFiSjs7QUFpQkE7RUFDSSxZQUFBO0VBQ0EsUUFBQTtBQWRKOztBQWlCQTtFQUNJLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGFBQUE7QUFkSjs7QUFpQkE7RUFHSSxtQkFBQTtBQWhCSjs7QUFtQkE7RUFDSSxhQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtBQWhCSjs7QUFtQkE7RUFDSSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7QUFoQko7O0FBbUJBO0VBQ0ksbUJBQUE7RUFDQSx1QkFBQTtFQUNBLGFBQUE7RUFDQSxVQUFBO0FBaEJKOztBQW9CQTtFQUNJLFlBQUE7RUFDQSx5QkFBQTtBQWpCSjs7QUFtQkE7RUFDSSxZQUFBO0VBQ0EseUJBQUE7QUFoQko7O0FBa0JBO0VBQ0ksWUFBQTtFQUNBLHFCQUFBO0FBZko7O0FBaUJBO0VBQ0ksWUFBQTtFQUNBLHFCQUFBO0FBZEo7O0FBa0JBO0VBQ0ksZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0FBZko7O0FBa0JBO0VBQ0ksa0JBQUE7RUFDQSxtQkFBQTtBQWZKOztBQWtCQTtFQUNJLGlCQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7QUFmSjs7QUFxQ0E7RUFDSSxXQUFBO0FBbENKOztBQXFDQTtFQUNJLG1CQUFBO0FBbENKOztBQThDQTtFQUNJLGtCQUFBO0FBM0NKOztBQStDQTtFQUNJLFlBQUE7RUFDQSxvQ0FBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtBQTVDSjs7QUFnREE7RUFDSSxrQkFBQTtFQUNBLHVCQUFBO0VBQ0EsY0FBQTtFQUNBLG9DQUFBO0VBQ0EsZUFBQTtBQTdDSjs7QUFnREE7RUFDSSx1QkFBQTtBQTdDSjs7QUFnREE7RUFDSSw4QkFBQTtBQTdDSjs7QUFnREE7O0VBRUksWUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QUE3Q0o7O0FBZ0RBOzs7RUFHSSx3QkFBQTtFQUNBLDBCQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsOEJBQUE7QUE3Q0o7O0FBZ0RBO0VBQ0ksMkJBQUE7QUE3Q0o7O0FBMkRBO0VBQ0ksaUJBQUE7QUF4REo7O0FBMkRBO0VBQ0ksV0FBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtBQXhESjs7QUEyREE7RUFDSSxjQUFBO0FBeERKOztBQTJEQTtFQUNJLHlCQUFBO0FBeERKOztBQTJEQTtFQUNJLHlCQXRTVztFQXVTWCxZQUFBO0FBeERKOztBQTJEQTtFQUNJLDZCQUFBO0FBeERKOztBQTJEQTtFQUNJLFlBQUE7RUFDQSx3QkFBQTtFQUNBLHNCQUFBO0FBeERKOztBQTJEQTtFQUNJLHlCQXJUVztFQXNUWCxZQUFBO0VBQ0EsZUFBQTtBQXhESiIsImZpbGUiOiJzcmMvYXBwL2VwZy9wcm9maWxlL3Byb2ZpbGUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkY29sb3ItcHJpbWFyeTogIzVBNjNENDtcbiRjb2xvci1zZWNvbmRhcnk6ICMzRjQ4Q0M7XG4kY29sb3ItdHJlczogI0Q3RDdENztcbiRjb2xvci1jdWF0cm86ICMzNTVDRkU7XG4kY29sb3ItY2luY286ICNDRUNFQ0U7XG4kY29sb3Itc2VpczogI2I5YjhiODtcblxuXG4ubWF0LW1kYy1mb3JtLWZpZWxkKy5tYXQtbWRjLWZvcm0tZmllbGQge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5cbi8vIHBhcmEgZWwgY29udG9ybm8geSBlbCB0aXR1bG9cbi50aXRsZS1mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB0O1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG5cbi5uZXR3b3JrLWJ1dHRvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jdWF0cm8gO1xuICAgIGhlaWdodDogMjlweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLm1hdC10YWItZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tYXQtYWNjb3JkaW9uIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBtaW4td2lkdGg6IDEwMHZoO1xufVxuXG46aG9zdCAubWF0LXRhYi1sYWJlbC1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG59XG5cbi50YWJwYW5lbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDIwdmg7XG59XG5cbi8qKiBTb2JyZWVzY3JpYmUgZWwgY29sb3IgcHJlZGV0ZXJtaW5hZG8gZGVsIGNoZWNrYm94ICovXG46Om5nLWRlZXAgLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItY3VhdHJvO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5mb3JtLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5cblxuLmltYWdlbi1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbn1cblxuLmltYWdlbi1wcmluY2lwYWwge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBpbWFnZW5cbi5sb2dvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDI0MHB4O1xuICAgIGhlaWdodDogMTIwcHg7XG59XG5cbi5sb2dvLWl6cXVpZXJkbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi8vIGJvdG9uZXMgcXVlIHJlZmVyZW5jaWFuXG4ucmVmZi1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYnV0dG9ucy1keXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5cbi5kZXNjcmlwdGlvbi10YWJzIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmxvYXQ6IDE7XG59XG5cbi5zZWd1bmRhLWZpbGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4udGFicy1zZWd1bmRhLWZpbGEge1xuICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm5ldHdvcmstYnV0dG9uLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5uZXR3b3JrLWJ1dHRvbi1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZmxvdzogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG4ubmV0d29ya3MtYnV0dG9ucy1jb2wge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogNTAlO1xufVxuXG4vLyBzbmFja2JhclxuOjpuZy1kZWVwIC5zbmFja2Jhci1pbmZve1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQyO1xufVxuOjpuZy1kZWVwIC5zbmFja2Jhci1pbmZvIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDI7XG59XG46Om5nLWRlZXAgLmVycm9yLXNuYWNrYmFyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xufVxuOjpuZy1kZWVwIC5lcnJvci1zbmFja2JhciAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XG59XG5cbi8vZmlsdHJvIGRlIGZlY2hhXG4uZm9ybS13cmFwcGVyLWludGVyaW9yIHtcbiAgICBtaW4taGVpZ2h0OiA3NXB4O1xuICAgIG1heC1oZWlnaHQ6IDc1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLm1vZHVsZS1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLnNlbGVjdC1jb250YWluZXIge1xuICAgIG1heC1oZWlnaHQ6IDQyMHB4O1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBtYXJnaW4tcmlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDUwcHg7XG59XG5cbi8vIGxvY2FsYnJlYWtzIHRvZG8gaGFzdGEgYWJham9cbi8vIC5sb2NhbGJyZWFrcy1saXN0LWNvbnRhaW5lcntcbi8vICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwO1xuLy8gICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4vLyAgICAgcGFkZGluZzogMTBweDtcbi8vICAgICBtYXJnaW46IDEwcHg7XG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbi8vIH1cbi8vIC5sb2NhbGJyZWFrcy1saXN0LWZlZWR7XG4vLyAgICAgZm9udC1zaXplOiAxOHB4O1xuLy8gICAgIGNvbG9yOiBncmF5O1xuLy8gICAgIG1hcmdpbi1ib3R0b206IDVweDtcbi8vIH1cbi8vIC5sb2NhbGJyZWFrcy1saXN0LWZpbGV7XG4vLyAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4vLyAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICBwYWRkaW5nOiA1cHggMDtcbi8vIH1cbi5tYXQtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZmllbGQtdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbn1cblxuLy8gOjpuZy1kZWVwIC5sb2NhbGJyYWtlcy10YWJsZSB0ZC5tYXQtY2VsbDpmaXJzdC1vZi10eXBle1xuLy8gICAgIHBhZGRpbmctbGVmdDogMHB4O1xuLy8gfVxuLy8gOjpuZy1kZWVwIC5sb2NhbGJyYWtlcy10YWJsZSB0ZC5tYXQtY2VsbDpsYXN0LW9mLXR5cGV7XG4vLyAgICAgcGFkZGluZy1yaWdodDowcHg7XG4vLyB9XG5cblxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG59XG4vLyBkYXJsZSBjb2xvciBhbCBib3RvbiB2ZXIsIHNpbiBjbGFzcyBtYXQtZWxldmF0aW9uLXogeSBubyBkZXNhYmlsaXRhZG9zXG4ubWF0LXJhaXNlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSk6bm90KFtkaXNhYmxlZF0pIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy9kYXJsZSBjb2xvciBhIGxhIHRhYmxhXG4ubWF0LWhlYWRlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWNpbmNvICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMHB4O1xufVxuXG4ucm93LWhlaWdodCB7XG4gICAgaGVpZ2h0OiAzNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtcm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc2VpcyAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWhlYWRlci1yb3c6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LXJvdzpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXQtY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxcbi5tYXQtZm9vdGVyLWNlbGw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LWhlYWRlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgZm9udC1zaXplOiA5cHQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi5tYXQtY2VsbHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gYXBwLW5ld3NsZXR0ZXJzIC5tYXQtdGFiLWJvZHktd3JhcHBlciAubWF0LWZvcm0tZmllbGQge1xuLy8gICAgIG1pbi13aWR0aDogMzBlbSAgIWltcG9ydGFudDtcbi8vIH1cblxuXG5cblxuXG5cblxuLnNlYXJjaC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xufVxuXG4uc2VhcmNoLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi10b3A6IDhweDtcbn1cblxuLmFzaWRle1xuICAgIG1pbi13aWR0aDogMjAlO1xufVxuXG4uYmctZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0NFQ0VDRTtcbn1cblxuLmJnLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybztcbiAgICBjb2xvcjogd2hpdGU7XG59XG5cbi5iZy1ub2FjdGl2ZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIHBhZGRpbmc6IC4yNXJlbSAxLjI1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG59XG5cbi5iZy1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuIl19 */\";","import { Component, OnInit } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { UserProfile } from 'src/app/shared/model/user-profile';\nimport { AuthenticationService } from 'src/app/shared/service/authentication.service';\nimport { UserProfileService } from 'src/app/shared/service/user-profile.service';\n\n@Component({\n selector: 'app-profile',\n templateUrl: './profile.component.html',\n styleUrls: ['./profile.component.scss']\n})\nexport class ProfileComponent implements OnInit {\n\n username = '';\n userId = 0;\n user: UserProfile;\n activedSection = 1;\n\n\n constructor(\n private authenticationService: AuthenticationService,\n private userProfileService: UserProfileService\n ) {\n this.username = this.authenticationService.currentUserValue.username;\n this.userId = this.authenticationService.currentUserValue.id;\n\n }\n\n ngOnInit(): void {\n this.userProfileService.getUserProfileById$(this.userId).pipe(\n map(data => data.\n userProfiles[0])\n ).subscribe(user => {\n this.user = user;\n });\n }\n\n changeSection(section: number): void {\n this.activedSection = section;\n }\n\n isActiveSection(id:number): boolean{\n if(id == this.activedSection)\n return true\n else\n return false;\n }\n\n}\n","export default \".role-item {\\n height: 20px;\\n}\\n\\n.bg-body-gray {\\n background-color: #cecece;\\n}\\n\\n.actions-container {\\n display: flex;\\n justify-content: space-between;\\n /* Alinea los elementos al inicio y al final del contenedor */\\n align-items: center;\\n /* Alinea los elementos verticalmente en el centro */\\n width: 100%;\\n /* Opcional: asegura que el contenedor ocupe todo el ancho disponible */\\n}\\n\\n.left-actions, .right-actions {\\n display: flex;\\n align-items: center;\\n}\\n\\n.wide-input {\\n width: 330px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL3VzZXJzL3VzZXJzLWRpYWxvZy91c2Vycy1kaWFsb2cuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSSxZQUFBO0FBQUo7O0FBR0E7RUFDSSx5QkFBQTtBQUFKOztBQUVBO0VBQ0ksYUFBQTtFQUNBLDhCQUFBO0VBQWdDLDZEQUFBO0VBQ2hDLG1CQUFBO0VBQXFCLG9EQUFBO0VBQ3JCLFdBQUE7RUFBYSx1RUFBQTtBQUlqQjs7QUFEQTtFQUNJLGFBQUE7RUFDQSxtQkFBQTtBQUlKOztBQUFBO0VBQ0ksWUFBQTtBQUdKIiwiZmlsZSI6InNyYy9hcHAvZXBnL3VzZXJzL3VzZXJzLWRpYWxvZy91c2Vycy1kaWFsb2cuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcbi5yb2xlLWl0ZW17XG4gICAgaGVpZ2h0OiAyMHB4O1xufVxuXG4uYmctYm9keS1ncmF5e1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWNlY2U7XG59XG4uYWN0aW9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyAvKiBBbGluZWEgbG9zIGVsZW1lbnRvcyBhbCBpbmljaW8geSBhbCBmaW5hbCBkZWwgY29udGVuZWRvciAqL1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8qIEFsaW5lYSBsb3MgZWxlbWVudG9zIHZlcnRpY2FsbWVudGUgZW4gZWwgY2VudHJvICovXG4gICAgd2lkdGg6IDEwMCU7IC8qIE9wY2lvbmFsOiBhc2VndXJhIHF1ZSBlbCBjb250ZW5lZG9yIG9jdXBlIHRvZG8gZWwgYW5jaG8gZGlzcG9uaWJsZSAqL1xufVxuXG4ubGVmdC1hY3Rpb25zLCAucmlnaHQtYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5cbi53aWRlLWlucHV0IHtcbiAgICB3aWR0aDogMzMwcHg7XG59XG4iXX0= */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { RoleType } from 'src/app/shared/model/role-type';\nimport { UserProfile } from 'src/app/shared/model/user-profile';\nimport { UserProfileResponse } from 'src/app/shared/response/user-profile-response';\nimport { RoleService } from 'src/app/shared/service/role.service';\nimport { UserProfileService } from 'src/app/shared/service/user-profile.service';\nimport { UtilService } from 'src/app/shared/service/util.service';\nimport { Observable } from 'rxjs';\nimport { map, startWith, switchMap, debounceTime, distinctUntilChanged, filter } from 'rxjs/operators';\nimport { FormControl } from '@angular/forms';\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport {\n MatSnackBar,\n MatSnackBarConfig,\n MatSnackBarRef,\n} from '@angular/material/snack-bar'\n\n@Component({\n selector: 'app-users-dialog',\n templateUrl: './users-dialog.component.html',\n styleUrls: ['./users-dialog.component.scss']\n})\nexport class UsersDialogComponent implements OnInit {\n\n filter = new FormControl();\n filteredUsers: Observable;\n roles: RoleType[] = [];\n selectedRoles: RoleType[] = [];\n\n loadingAprove: boolean = false;\n loadingReject: boolean = false;\n loadingActivate: boolean = false;\n loadingDeactivate: boolean = false;\n\n loadingCopyRoles: boolean = false;\n loadingDelete: boolean = false;\n showAlert: boolean = false;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: UserProfile,\n public dialogRef: MatDialogRef,\n private userProfileService: UserProfileService,\n private utilService: UtilService,\n private translateService: TranslateService,\n private matSnackBar: MatSnackBar\n ) {\n this.roles = JSON.parse(localStorage.getItem('roles'));\n }\n\n ngOnInit(): void {\n\n this.filteredUsers = this.filter.valueChanges.pipe(\n debounceTime(500),\n distinctUntilChanged(),\n filter(value => (typeof value === 'string' || value instanceof String) && value.length >= 3),\n switchMap(value => this.search(value || '')),\n map(users => users.filter(user => user.username !== this.data.username)\n )\n );\n }\n\n search(value: string): Observable {\n return this.userProfileService.searchUser$(value).pipe(\n map(response => response.userProfiles)\n );\n }\n\n\n openSnackBar(message: string) {\n this.matSnackBar.openFromComponent(UsersDialogComponent, {\n duration: 1000,\n data: message,\n })\n }\n\n openErrorSnackBar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['error-snackbar'];\n this.matSnackBar.open(message, action, config);\n }\n\n openSuccessSnackBar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['success-snackbar'];\n this.matSnackBar.open(message, action, config);\n }\n\n onSelectionChanged(event: MatAutocompleteSelectedEvent): void {\n const selectedOption = event.option.value;\n\n this.selectedRoles = [];\n this.selectedRoles = selectedOption.role;\n }\n\n displayFn(user: UserProfile): string {\n return user && user.username ? user.username : '';\n }\n\n\n copyRoles() {\n const dialogRef = this.utilService.openConfirmDialog({\n title: 'epg.users.dialog.buttons.confirm',\n text: 'epg.users.dialog.messageconfirm'\n }).afterClosed().subscribe((result) => {\n if (result) {\n this.loadingCopyRoles = true;\n this.data.role = this.selectedRoles;\n this.userProfileService.updateRole$(this.data)\n .subscribe(async resp => {\n this.loadingCopyRoles = false;\n this.translateService.get(['epg.users.dialog.success-role', 'epg.users.dialog.buttons.close']).subscribe(translations => {\n this.openSuccessSnackBar(translations['epg.users.dialog.success-role'], translations['epg.users.dialog.buttons.close']);\n });\n }, async error => {\n this.loadingCopyRoles = false;\n this.translateService.get(['epg.users.dialog.success-role', 'epg.users.dialog.buttons.close']).subscribe(translations => {\n this.openErrorSnackBar(translations['epg.users.dialog.success-role'], translations['epg.users.dialog.buttons.close']);\n });\n })\n }\n });\n\n }\n\n\n getLanguageName(id: string): string {\n if (id === 'SPA') {\n return 'ESPAÑOL';\n }\n if (id === 'ENG') {\n return 'ENGLISH';\n }\n if (id === 'POR') {\n return 'PORTUGUES';\n }\n if (id === '' || id === null) {\n return 'N/A';\n }\n }\n\n getState(state: number) {\n if (state === 0) {\n return 'PENDIENTE DE APROBACIÓN';\n }\n\n if (state === 1) {\n return 'NO CONFIRMADO';\n }\n\n if (state === 2) {\n return 'RECHAZADO';\n }\n\n if (state === 3) {\n return 'ACTIVO';\n }\n\n if (state === 4) {\n return 'INACTIVO';\n }\n }\n\n\n matchRole(id: number): boolean {\n for (let i = 0; i < this.data.role.length; i++) {\n if (this.data.role[i].id === id) {\n return true;\n }\n }\n return false;\n }\n\n\n\n close(): void {\n this.dialogRef.close(this.data);\n }\n\n toggleRole(rol: RoleType, event): void {\n\n const dialogRef = this.utilService.openConfirmDialog({\n title: 'epg.users.dialog.buttons.confirm',\n text: 'epg.users.dialog.messageconfirm'\n }).afterClosed().subscribe((result) => {\n if (result) {\n if (event.checked) {\n this.data.role.push(rol);\n this.userProfileService.updateRole$(this.data)\n .subscribe(resp => {\n })\n }\n if (!event.checked) {\n let index = this.data.role.findIndex((role: RoleType) => role.id === rol.id);\n this.data.role.splice(index, 1);\n this.userProfileService.updateRole$(this.data)\n .subscribe(resp => {\n })\n }\n }\n if (!result)\n event.source.checked = !event.checked;\n });\n\n }\n\n updateState(state: number, action: string): void {\n\n const dialogRef = this.utilService.openConfirmDialog({\n title: 'epg.users.dialog.buttons.confirm',\n text: 'epg.users.dialog.messageconfirm'\n }).afterClosed().subscribe((result) => {\n if (result) {\n this.selectLoadingState(action, true);\n this.userProfileService.updateUserProfileStatus$(this.data.id, state).subscribe(\n (data: UserProfileResponse) => {\n this.selectLoadingState(action, false);\n this.translateService.get(['epg.users.dialog.success-state', 'epg.users.dialog.buttons.close']).subscribe(translations => {\n this.openSuccessSnackBar(translations['epg.users.dialog.success-state'], translations['epg.users.dialog.buttons.close']);\n });\n this.data = data.userProfiles[0];\n },\n (error) => {\n this.selectLoadingState(action, false);\n this.translateService.get(['epg.users.dialog.error-state', 'epg.users.dialog.buttons.close']).subscribe(translations => {\n this.openErrorSnackBar(translations['epg.users.dialog.error-state'], translations['epg.users.dialog.buttons.close']);\n });\n }\n );\n }\n });\n }\n\n async deleteUser() {\n\n let textConfirm = await this.translateService.get('epg.users.dialog.messageconfirm').toPromise();\n let buttonConfirm = await this.translateService.get('epg.users.dialog.buttons.confirm').toPromise();\n let buttonClose = await this.translateService.get('epg.users.dialog.buttons.close').toPromise();\n\n const dialogRef = this.utilService.openConfirmDialog({\n title: buttonConfirm,\n text: textConfirm,\n }).afterClosed().subscribe((result) => {\n if (result) {\n this.loadingDelete = true;\n this.userProfileService.removeUserProfile(this.data.id).subscribe(\n (data: UserProfileResponse) => {\n this.loadingDelete = false;\n localStorage.setItem('operation', \"delete\");\n this.dialogRef.close(data);\n this.translateService.get('epg.users.dialog.message-success-delete').subscribe((msg: string) => {\n this.openSuccessSnackBar(msg, buttonClose);\n });\n },\n (error) => {\n this.loadingDelete = false;\n this.translateService.get('epg.users.dialog.message-error-delete').subscribe((msg: string) => {\n this.openErrorSnackBar(msg, buttonClose);\n });\n }\n );\n }\n });\n }\n\n\n selectLoadingState(state: string, value: boolean) {\n switch (state) {\n case \"aprove\": {\n this.loadingAprove = value;\n break;\n }\n case \"reject\": {\n this.loadingReject = value;\n break;\n }\n case \"activate\": {\n this.loadingActivate = value;\n break;\n }\n case \"deactivate\": {\n this.loadingDeactivate = value;\n break;\n }\n\n }\n }\n\n ngOnDestroy(): void {\n this.dialogRef.close(this.data);\n }\n\n}\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\ntable {\\n width: 100%;\\n}\\n\\n.mat-mdc-form-field {\\n font-size: 14px;\\n width: 100%;\\n}\\n\\ntd, th {\\n width: 25%;\\n}\\n\\ntd {\\n cursor: pointer;\\n}\\n\\ntr:hover {\\n background-color: #f5f5f5 !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]), .mat-row:not([class*=mat-elevation-z]) {\\n height: 25px;\\n background: white;\\n text-align: left !important;\\n}\\n\\nth.mat-header-cell, td.mat-cell, td.mat-footer-cell {\\n padding-left: 24px !important;\\n}\\n\\nth .mat-checkbox .mat-checkbox-layout {\\n margin-bottom: 0 !important;\\n}\\n\\n.mw-md {\\n min-width: 5.5rem;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL3VzZXJzL3VzZXJzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BO0VBQ0ksY0FBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0FBTko7O0FBU0E7RUFDSSxhQUFBO0VBQ0Esc0JBQUE7RUFDQSxrQkFBQTtBQU5KOztBQVNBO0VBQ0ksV0FBQTtBQU5KOztBQVVBO0VBQ0ksV0FBQTtBQVBKOztBQVVBO0VBQ0ksZUFBQTtFQUNBLFdBQUE7QUFQSjs7QUFVRTtFQUNFLFVBQUE7QUFQSjs7QUFVRTtFQUNFLGVBQUE7QUFQSjs7QUFVRTtFQUNFLG9DQUFBO0FBUEo7O0FBV0U7RUFDRSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSwyQkFBQTtBQVJKOztBQVdBO0VBQ0ksNkJBQUE7QUFSSjs7QUFXQTtFQUNJLDJCQUFBO0FBUko7O0FBV0E7RUFDSSxpQkFBQTtBQVJKIiwiZmlsZSI6InNyYy9hcHAvZXBnL3VzZXJzL3VzZXJzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLXByaW1hcnk6ICM1QTYzRDQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAjM0Y0OENDO1xuJGNvbG9yLXRyZXM6ICNEN0Q3RDc7XG4kY29sb3ItY3VhdHJvOiAjMzU1Q0ZFO1xuJGNvbG9yLWNpbmNvOiAjQ0VDRUNFO1xuJGNvbG9yLXNlaXM6ICNiOWI4Yjg7XG5cbi50aXRsZS1mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB0O1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5mb3JtLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5cbnRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4ubWF0LW1kYy1mb3JtLWZpZWxkIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICB0ZCwgdGgge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cblxuICB0ZHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICB0cjpob3ZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7XG4gIH1cblxuXG4gIC5tYXQtaGVhZGVyLXJvdzpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwgLm1hdC1yb3c6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5cbnRoLm1hdC1oZWFkZXItY2VsbCwgdGQubWF0LWNlbGwsIHRkLm1hdC1mb290ZXItY2VsbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG59XG5cbnRoIC5tYXQtY2hlY2tib3ggLm1hdC1jaGVja2JveC1sYXlvdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLm13LW1kIHtcbiAgICBtaW4td2lkdGg6IDUuNXJlbTtcbn1cblxuXG5cbiJdfQ== */\";","import { Component, OnInit, ViewChild } from '@angular/core';\nimport {MatPaginator, MatPaginatorModule} from '@angular/material/paginator';\nimport {MatSort, MatSortModule} from '@angular/material/sort';\nimport {MatTableDataSource, MatTableModule} from '@angular/material/table';\nimport {MatCheckboxModule} from '@angular/material/checkbox';\n\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatMenuModule, MatMenuTrigger } from '@angular/material/menu';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport { MatDialog} from '@angular/material/dialog';\nimport { UsersDialogComponent } from './users-dialog/users-dialog.component';\nimport { RoleService } from 'src/app/shared/service/role.service';\nimport { RoleType } from 'src/app/shared/model/role-type';\nimport { UserProfileService } from 'src/app/shared/service/user-profile.service';\nimport { UserProfileResponse } from 'src/app/shared/response/user-profile-response';\nimport { UserProfile } from 'src/app/shared/model/user-profile';\nimport { BehaviorSubject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, filter } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UtilService } from 'src/app/shared/service/util.service';\nimport { MatSnackBar, MatSnackBarConfig } from '@angular/material/snack-bar'\nimport { ConfigGridAlias } from 'src/app/shared/model/config-grid-alias';\n\n@Component({\n selector: 'app-users',\n templateUrl: './users.component.html',\n styleUrls: ['./users.component.scss']\n})\n\n\nexport class UsersComponent implements OnInit {\n displayedColumns: string[] = ['firstName', 'lastName', 'username', 'state','Acciones'];\n //displayedColumns: string[] = ['firstName', 'lastName', 'username', 'state'];\n dataSource: MatTableDataSource;\n selection = new SelectionModel(true, []);\n roles: RoleType[] = [];\n\n currentPage: number = 0;\n pageSize: number = 15;\n totalSize: number = 0;\n\n selectedUserProfile: UserProfile[] = [];\n loadingUser: boolean = true;\n loadingDelete: boolean = false;\n loadingActivate: boolean = false;\n loadingApprove: boolean = false;\n loadingReject: boolean = false;\n\n filterValue: string = '';\n\n private filterSubject = new BehaviorSubject('');\n\n\n @ViewChild(MatPaginator) paginator: MatPaginator;\n @ViewChild(MatSort ) sort: MatSort = new MatSort();\n\n constructor(\n private roleService: RoleService,\n private userProfileService: UserProfileService,\n private translateService: TranslateService,\n private utilService: UtilService,\n private matSnackBar: MatSnackBar,\n private dialog: MatDialog,\n ) {\n this.dataSource = new MatTableDataSource([]);\n\n this.roleService.getRoles$().subscribe(\n (data:any) => {\n this.roles = data.roles;\n localStorage.setItem('roles', JSON.stringify(this.roles));\n });\n this.loadUsers(this.currentPage, this.pageSize);\n }\n\n ngOnInit(): void {\n this.filterSubject.pipe(\n debounceTime(400),\n distinctUntilChanged(),\n filter(value => value.length === 0 || value.length >= 3),\n ).subscribe(filterValue => {\n this.currentPage = 0;\n this.loadUsers(this.currentPage, this.pageSize, filterValue.trim().toLowerCase());\n });\n }\n\n ngAfterViewInit() {\n this.sort.sortChange.subscribe(() =>{\n this.currentPage = 0;\n this.loadUsers(this.currentPage, this.pageSize);\n });\n }\n\n loadUsers(page: number, size: number, keyword?:string){\n const sortField = this.sort.active;\n const sortDirection = this.sort.direction;\n\n const key = keyword ? keyword : null;\n\n this.loadingUser = true;\n this.userProfileService.getUserProfile$(page, size, sortField, sortDirection, key).subscribe(\n (data:UserProfileResponse) => {\n this.dataSource = new MatTableDataSource(data.userProfiles);\n this.totalSize = data.totalElements;\n this.loadingUser = false;\n },\n error => {\n console.log(error);\n }\n );\n }\n\n updateProfileStatus(state: number){\n //const filteredUserProfile = this.selectedUserProfile.filter((user:UserProfile) => user.state === 0);\n const ids = this.selectedUserProfile.map((user:UserProfile) => user.id);\n\n this.userProfileService.updateProfileStatus(ids, state).subscribe(\n (data:UserProfileResponse) => {\n this.selection.clear();\n this.selectedUserProfile = [];\n\n //busco indices de los elementos presentes en data dentro de this.dataSource.data\n const indexs:number[] = data.userProfiles.map((user:UserProfile) => this.dataSource.data.findIndex((user2:UserProfile) => user2.id === user.id));\n this.dataSource.data.forEach((user:UserProfile, index:number) => {\n if(indexs.includes(index)){\n const user2 = data.userProfiles.find((user3:UserProfile) => user3.id === user.id);\n this.dataSource.data[index] = user2;\n }\n });\n this.dataSource._updateChangeSubscription();\n },\n error => {\n console.log(error);\n }\n );\n }\n\n onChangePage(event: any) {\n this.loadUsers(event.pageIndex, event.pageSize);\n }\n\n isAllSelected() {\n const numSelected = this.selection.selected.length;\n const numRows = this.dataSource.data.length;\n return numSelected === numRows;\n }\n\n openDialog(row:UserProfile){\n this.dialog.open(UsersDialogComponent, {\n data: row,\n minWidth: '70%',\n }).afterClosed().subscribe((result: UserProfile) => {\n const index = this.dataSource.data.findIndex((user:UserProfile) => user.id === result.id);\n if(localStorage.getItem('operation') === 'delete'){\n this.dataSource.data.splice(index, 1);\n this.dataSource._updateChangeSubscription();\n localStorage.removeItem('operation');\n return;\n }\n this.dataSource.data[index] = result;\n this.dataSource._updateChangeSubscription();\n });\n }\n\n toggleAllRows() {\n console.log('toggleAllRows', this.isAllSelected());\n if (this.isAllSelected()) {\n this.selection.clear();\n this.selectedUserProfile = [];\n }\n else {\n this.selection.select(...this.dataSource.data);\n this.selectedUserProfile = [...this.dataSource.data];\n }\n }\n\n checkboxLabel(): string {\n if (this.isAllSelected()) {\n return 'deselect all';\n }\n else {\n return 'select all';\n }\n }\n\n toogleUserProfileSelection(row: UserProfile):void {\n const index = this.selectedUserProfile.findIndex((user:UserProfile) => user.id === row.id);\n if(index > -1){\n this.selectedUserProfile.splice(index, 1);\n this.selection.select(...this.selectedUserProfile);\n if(this.selectedUserProfile.length === 0)\n this.selection.clear();\n\n }\n else{\n this.selectedUserProfile.push(row);\n this.selection.select(...this.selectedUserProfile);\n }\n }\n\n\n\n applyFilter(event: Event) {\n const filterValue = (event.target as HTMLInputElement).value;\n\n this.filterSubject.next(filterValue);\n // if(filterValue.length === 0){\n // this.loadUsers(this.currentPage, this.pageSize);\n // }\n // if(filterValue.length >= 3){\n // this.loadUsers(this.currentPage, this.pageSize, filterValue.trim().toLowerCase());\n // }\n\n }\n\n clearFilter(){\n this.filterValue = '';\n this.filterSubject.next('');\n }\n\n getState(state:number){\n if(state === 0){\n return 'PENDIENTE DE APROBACIÓN';\n }\n\n if(state === 1){\n return 'NO CONFIRMADO';\n }\n\n if(state === 2){\n return 'RECHAZADO';\n }\n\n if(state === 3){\n return 'ACTIVO';\n }\n\n if(state === 4){\n return 'INACTIVO';\n }\n }\n\n openErrorSnackBar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['error-snackbar'];\n config.duration = 8000;\n this.matSnackBar.open(message, action, config);\n }\n\n openSuccessSnackBar(message: string, action: string) {\n let config = new MatSnackBarConfig();\n config.verticalPosition = \"top\";\n config.panelClass = ['success-snackbar'];\n config.duration = 8000;\n this.matSnackBar.open(message, action, config);\n }\n\n async deleteAll(){\n let textConfirm = await this.translateService.get('epg.users.dialog.messageDeleteAll').toPromise();\n let buttonConfirm = await this.translateService.get('epg.users.dialog.buttons.confirm').toPromise() ;\n\n this.utilService.openConfirmDialog({\n title: buttonConfirm,\n text: textConfirm,\n count: this.selectedUserProfile.length\n }).afterClosed().subscribe((result) => {\n console.log(result);\n if(result){\n this.loadingDelete = true;\n\n const ids = this.selectedUserProfile.map((user:UserProfile) => user.id);\n\n this.userProfileService.removeUsersProfiles(ids).subscribe(\n (data:UserProfileResponse) => {\n this.loadingDelete = false;\n this.selection.clear();\n this.selectedUserProfile = [];\n this.loadUsers(this.currentPage, this.pageSize, this.filterValue.trim().toLowerCase());\n this.translateService.get('epg.users.dialog.message-success-delete').subscribe((msg: string) => {\n this.openSuccessSnackBar(msg, 'Close');\n });\n },\n error => {\n this.loadingDelete = false;\n this.translateService.get('epg.users.dialog.message-error-delete').subscribe((msg: string) => {\n this.openErrorSnackBar(msg, 'Close');\n });\n console.log(error);\n }\n );\n\n }\n })\n\n }\n\n}\n\n\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 20pt;\\n font-weight: 500;\\n color: #b9b8b8;\\n width: auto;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #b9b8b8;\\n border-radius: 4px;\\n width: 140vh;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.module-select-container {\\n text-align: center;\\n margin-bottom: 15px;\\n}\\n\\n.mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n:host ::ng-deep .mat-header-cell, ::ng-deep .mat-sort-header-container {\\n justify-content: center;\\n}\\n\\n:host ::ng-deep .mat-sort-header-arrow {\\n color: #5A63D4;\\n opacity: 1;\\n}\\n\\n:host ::ng-deep .mat-paginator .mat-paginator-outer-container .mat-paginator-container {\\n min-height: 30px;\\n height: 30px;\\n background-color: #CECECE;\\n}\\n\\n:host ::ng-deep .mat-paginator-page-size {\\n height: 44px !important;\\n}\\n\\n:host ::ng-deep .mat-paginator-range-label {\\n margin: 0 32px -12px 32px !important;\\n}\\n\\n:host ::ng-deep .mat-paginator-navigation-first, ::ng-deep .mat-paginator-navigation-previous, ::ng-deep .mat-paginator-navigation-next, ::ng-deep .mat-paginator-navigation-last {\\n height: 30px !important;\\n}\\n\\n::ng-deep button:focus {\\n outline: none !important;\\n}\\n\\n.button-container {\\n text-align: center;\\n}\\n\\n.mat-raised-button:not([class*=mat-elevation-z]) {\\n color: white;\\n background-color: #355CFE !important;\\n margin-top: 10px;\\n height: 30px;\\n line-height: inherit;\\n}\\n\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n text-align: center;\\n border: 1px solid white;\\n color: #000000;\\n background-color: #CECECE !important;\\n border-top: 0px;\\n}\\n\\n.mat-row:hover {\\n background: #b9b8b8 !important;\\n}\\n\\n.row-height {\\n height: 35px !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]), .mat-row:not([class*=mat-elevation-z]) {\\n height: 30px;\\n background: white;\\n text-align: center;\\n}\\n\\n.mat-cell:not([class*=mat-elevation-z]), .mat-footer-cell:not([class*=mat-elevation-z]), .mat-header-cell:not([class*=mat-elevation-z]) {\\n border-bottom-width: 1px;\\n border-bottom-style: solid;\\n font-size: 9pt;\\n font-weight: normal;\\n font-family: Arial, sans-serif;\\n}\\n\\n.mensaje-error {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 20pt;\\n font-weight: 500;\\n color: #b9b8b8;\\n width: auto;\\n text-align: center;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL3Zpc3VhbC1sb2dzL3V0aWxzLWRpYWxvZ3MvdmlzdWFsLWxvZ3MtZGlhbG9ncy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTtFQUNJLGNBQUE7RUFDQSw4QkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGNBUlM7RUFTVCxXQUFBO0FBUEo7O0FBVUE7RUFDSSxhQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQUNBLFlBQUE7QUFQSjs7QUFVQTtFQUNJLFdBQUE7QUFQSjs7QUFVQTtFQUNJLGtCQUFBO0VBRUEsbUJBQUE7QUFSSjs7QUFXQTtFQUNJLFdBQUE7QUFSSjs7QUFXQTtFQUNJLG1CQUFBO0FBUko7O0FBV0E7RUFDSSx1QkFBQTtBQVJKOztBQVlBO0VBQ0ksY0FoRFk7RUFpRFosVUFBQTtBQVRKOztBQWFBO0VBQ0ksZ0JBQUE7RUFDQSxZQUFBO0VBQ0EseUJBcERVO0FBMENkOztBQWFBO0VBQ0ksdUJBQUE7QUFWSjs7QUFhQTtFQUNJLG9DQUFBO0FBVko7O0FBYUE7RUFDSSx1QkFBQTtBQVZKOztBQWFBO0VBQ0ksd0JBQUE7QUFWSjs7QUFhQTtFQUNJLGtCQUFBO0FBVko7O0FBY0E7RUFDSSxZQUFBO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTtBQVhKOztBQWNBO0VBQ0ksa0JBQUE7RUFDQSx1QkFBQTtFQUNBLGNBQUE7RUFDQSxvQ0FBQTtFQUNBLGVBQUE7QUFYSjs7QUFhQTtFQUNJLDhCQUFBO0FBVko7O0FBYUE7RUFDSSx1QkFBQTtBQVZKOztBQVlBO0VBQ0ksWUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7QUFUSjs7QUFXQTtFQUNJLHdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSw4QkFBQTtBQVJKOztBQVdBO0VBQ0ksY0FBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FuSFM7RUFvSFQsV0FBQTtFQUNBLGtCQUFBO0FBUkoiLCJmaWxlIjoic3JjL2FwcC9lcGcvdmlzdWFsLWxvZ3MvdXRpbHMtZGlhbG9ncy92aXN1YWwtbG9ncy1kaWFsb2dzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLXByaW1hcnk6ICM1QTYzRDQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAjM0Y0OENDO1xuJGNvbG9yLXRyZXM6ICNEN0Q3RDc7XG4kY29sb3ItY3VhdHJvOiAjMzU1Q0ZFO1xuJGNvbG9yLWNpbmNvOiAjQ0VDRUNFO1xuJGNvbG9yLXNlaXM6ICNiOWI4Yjg7XG5cbi8vIHRpdHVsbyBkZSB2aXN1YWwgbG9nc1xuLnRpdGxlLWZvcm0ge1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6MjBwdDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAkY29sb3Itc2VpcztcbiAgICB3aWR0aDogYXV0bztcbn1cbi8vIGNvbnRvcm5vIGRlbCB0aXR1bG9cbi5mb3JtLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3Itc2VpcztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgd2lkdGg6IDE0MHZoO1xufVxuXG4uZm9ybS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLm1vZHVsZS1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLm1hdC10YWJsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5maWVsZC10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xufVxuXG46aG9zdCA6Om5nLWRlZXAgLm1hdC1oZWFkZXItY2VsbCwgOjpuZy1kZWVwIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLy8gcGFyYSBsYXMgZmxlY2hhcyBkZSBvcmRlbmFtaWVudG9cbjpob3N0IDo6bmctZGVlcCAubWF0LXNvcnQtaGVhZGVyLWFycm93IHtcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLy9wYXJ0YSBiYWphIGRlIGxhIHRhYmxhLCBwYWdpbmF0b3Jcbjpob3N0IDo6bmctZGVlcCAubWF0LXBhZ2luYXRvciAubWF0LXBhZ2luYXRvci1vdXRlci1jb250YWluZXIgLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItY2luY28gO1xufVxuLy9cbjpob3N0IDo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1wYWdlLXNpemUge1xuICAgIGhlaWdodDogNDRweCAhaW1wb3J0YW50O1xufVxuLy9cbjpob3N0IDo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1yYW5nZS1sYWJlbCB7XG4gICAgbWFyZ2luOiAwIDMycHggLTEycHggMzJweCAhaW1wb3J0YW50O1xufVxuLy9cbjpob3N0IDo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLWZpcnN0LCA6Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1wcmV2aW91cywgOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbmV4dCwgOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbGFzdCB7XG4gICAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG59XG4vL1xuOjpuZy1kZWVwIGJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBkYXJsZSBjb2xvciBhbCBib3RvbiBjbG9zZSBcbi5tYXQtcmFpc2VkLWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jdWF0cm8gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbi8vZGFybGUgY29sb3IgYSBsYSB0YWJsYVxuLm1hdC1oZWFkZXItY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1jaW5jbyAhaW1wb3J0YW50O1xuICAgIGJvcmRlci10b3A6IDBweDtcbn1cbi5tYXQtcm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc2VpcyAhaW1wb3J0YW50O1xufVxuXG4ucm93LWhlaWdodCB7XG4gICAgaGVpZ2h0OiAzNXB4ICFpbXBvcnRhbnQ7XG59XG4ubWF0LWhlYWRlci1yb3c6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksIC5tYXQtcm93Om5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5tYXQtY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwgLm1hdC1mb290ZXItY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwgLm1hdC1oZWFkZXItY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGZvbnQtc2l6ZTogOXB0O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4ubWVuc2FqZS1lcnJvcntcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOjIwcHQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJGNvbG9yLXNlaXM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufSJdfQ== */\";","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { FileProcess } from '../../../shared/model/visual-logs-model/files';\nimport { VisualLogsService } from '../../../shared/service/visual-logs.service';\n\n@Component({\n selector: 'app-utils-dialogs',\n templateUrl: './visual-logs-dialogs.component.html',\n styleUrls: ['./visual-logs-dialogs.component.scss']\n})\nexport class UtilsDialogsComponent implements OnInit {\n @ViewChild(MatPaginator) tablePaginator: MatPaginator;\n\n itemLogs: FileProcess[] = [];\n dataSourceLogs = new MatTableDataSource([]);\n displayedColumns: String[]=[\"step\",\"detail\",\"start_time\"]\n idFile: number;\n file_name: String;\n mostrarBarra: boolean = false;\n mostrarMensaje: boolean = false;\n\n constructor(private _service: VisualLogsService, @Inject(MAT_DIALOG_DATA) public data: any, public dialogRef: MatDialogRef) {\n\n this.idFile = data.id;\n this.file_name=data.file_name;\n console.log(this.idFile)\n\n }\n\n ngOnInit(): void {\n \n this.mostrarBarra = true;\n this.mostrarMensaje = false;\n\n this._service.traerLogs(this.idFile).subscribe(result => {\n console.log(result);\n this.itemLogs = result;\n this.dataSourceLogs = new MatTableDataSource(result);\n this.dataSourceLogs.paginator = this.tablePaginator;\n this.mostrarBarra = false;\n this.mostrarMensaje = true;\n }\n );\n\n }\n\n close(): void {\n this.dialogRef.close();\n}\n\n}\n","export default \".title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 20pt;\\n font-weight: 500;\\n color: #b9b8b8;\\n width: auto;\\n}\\n\\n.form-container {\\n padding: 10px;\\n border: 2px solid #b9b8b8;\\n border-radius: 4px;\\n}\\n\\n.form-wrapper {\\n width: 100%;\\n}\\n\\n.module-select-container {\\n text-align: center;\\n margin-bottom: 15px;\\n}\\n\\n.select-container {\\n max-height: 420px;\\n width: 300px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n margin-right: 50px;\\n margin-left: 50px;\\n}\\n\\n.mat-select {\\n text-align: center;\\n font-size: 15px;\\n font-weight: bold;\\n}\\n\\n.mat-table {\\n width: 100%;\\n}\\n\\n.field-text {\\n text-align: initial;\\n}\\n\\n:host ::ng-deep .mat-header-cell,\\n::ng-deep .mat-sort-header-container {\\n justify-content: center;\\n padding: 0 !important;\\n}\\n\\n:host ::ng-deep .mat-sort-header-arrow {\\n color: #5A63D4;\\n opacity: 1;\\n}\\n\\n:host ::ng-deep .mat-paginator .mat-paginator-outer-container .mat-paginator-container {\\n min-height: 30px;\\n height: 30px;\\n background-color: #CECECE;\\n}\\n\\n:host ::ng-deep .mat-paginator-page-size {\\n height: 44px !important;\\n}\\n\\n:host ::ng-deep .mat-paginator-range-label {\\n margin: 0 32px -12px 32px !important;\\n}\\n\\n:host ::ng-deep .mat-paginator-navigation-first,\\n::ng-deep .mat-paginator-navigation-previous,\\n::ng-deep .mat-paginator-navigation-next,\\n::ng-deep .mat-paginator-navigation-last {\\n height: 30px !important;\\n}\\n\\n::ng-deep button:focus {\\n outline: none !important;\\n}\\n\\n.feed-button {\\n color: #355CFE;\\n}\\n\\n.button-container {\\n text-align: center;\\n}\\n\\n.filtros-container {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-around;\\n}\\n\\n.refresh-button {\\n margin-left: 90%;\\n display: flex;\\n flex-direction: column;\\n align-items: center;\\n}\\n\\n.select-container2 {\\n max-height: 420px;\\n margin-bottom: 1%;\\n display: inline-block;\\n vertical-align: top;\\n}\\n\\n.mat-raised-button:not([class*=mat-elevation-z]) {\\n color: white;\\n background-color: #355CFE !important;\\n height: 24px;\\n line-height: inherit;\\n}\\n\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n text-align: center;\\n border: 1px solid white;\\n color: #000000;\\n background-color: #CECECE !important;\\n border-top: 0px;\\n}\\n\\n.row-height {\\n height: 35px !important;\\n}\\n\\n.mat-row:hover {\\n background: #b9b8b8 !important;\\n}\\n\\n.mat-header-row:not([class*=mat-elevation-z]),\\n.mat-row:not([class*=mat-elevation-z]) {\\n height: 30px;\\n background: white;\\n text-align: center;\\n}\\n\\n.mat-cell:not([class*=mat-elevation-z]),\\n.mat-footer-cell:not([class*=mat-elevation-z]),\\n.mat-header-cell:not([class*=mat-elevation-z]) {\\n border-bottom-width: 1px;\\n border-bottom-style: solid;\\n font-size: 9pt;\\n font-weight: normal;\\n font-family: Arial, sans-serif;\\n}\\n\\n.visual-logs-card {\\n margin-bottom: 30px;\\n}\\n\\n.mat-cell {\\n padding-right: 0 !important;\\n}\\n\\n.file-icon-cell {\\n width: 100px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXBnL3Zpc3VhbC1sb2dzL3Zpc3VhbC1sb2dzLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBO0VBQ0ksY0FBQTtFQUNBLDhCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FSUztFQVNULFdBQUE7QUFQSjs7QUFXQTtFQUNJLGFBQUE7RUFDQSx5QkFBQTtFQUlBLGtCQUFBO0FBWEo7O0FBY0E7RUFDSSxXQUFBO0FBWEo7O0FBY0E7RUFDSSxrQkFBQTtFQUVBLG1CQUFBO0FBWko7O0FBZ0JBO0VBQ0ksaUJBQUE7RUFDQSxZQUFBO0VBRUEsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtBQWRKOztBQWlCQTtFQUNJLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0FBZEo7O0FBaUJBO0VBQ0ksV0FBQTtBQWRKOztBQWlCQTtFQUNJLG1CQUFBO0FBZEo7O0FBaUJBOztFQUVJLHVCQUFBO0VBQ0EscUJBQUE7QUFkSjs7QUFrQkE7RUFDSSxjQXZFWTtFQXdFWixVQUFBO0FBZko7O0FBbUJBO0VBQ0ksZ0JBQUE7RUFDQSxZQUFBO0VBQ0EseUJBM0VVO0FBMkRkOztBQW9CQTtFQUNJLHVCQUFBO0FBakJKOztBQXFCQTtFQUNJLG9DQUFBO0FBbEJKOztBQXNCQTs7OztFQUlJLHVCQUFBO0FBbkJKOztBQXVCQTtFQUNJLHdCQUFBO0FBcEJKOztBQXVCQTtFQUNJLGNBdkdXO0FBbUZmOztBQXNCQTtFQUNJLGtCQUFBO0FBbkJKOztBQXVCQTtFQUNJLGFBQUE7RUFDQSxtQkFBQTtFQUNBLDZCQUFBO0FBcEJKOztBQXVCQTtFQUNJLGdCQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsbUJBQUE7QUFwQko7O0FBdUJBO0VBQ0ksaUJBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7QUFwQko7O0FBd0JBO0VBQ0ksWUFBQTtFQUNBLG9DQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0FBckJKOztBQXlCQTtFQUNJLGtCQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0VBQ0Esb0NBQUE7RUFDQSxlQUFBO0FBdEJKOztBQXlCQTtFQUNJLHVCQUFBO0FBdEJKOztBQXlCQTtFQUNJLDhCQUFBO0FBdEJKOztBQXlCQTs7RUFFSSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtBQXRCSjs7QUF5QkE7OztFQUdJLHdCQUFBO0VBQ0EsMEJBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSw4QkFBQTtBQXRCSjs7QUF5QkE7RUFDSSxtQkFBQTtBQXRCSjs7QUF5QkE7RUFDSSwyQkFBQTtBQXRCSjs7QUF5QkE7RUFDSSxZQUFBO0FBdEJKIiwiZmlsZSI6InNyYy9hcHAvZXBnL3Zpc3VhbC1sb2dzL3Zpc3VhbC1sb2dzLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJGNvbG9yLXByaW1hcnk6ICM1QTYzRDQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAjM0Y0OENDO1xuJGNvbG9yLXRyZXM6ICNEN0Q3RDc7XG4kY29sb3ItY3VhdHJvOiAjMzU1Q0ZFO1xuJGNvbG9yLWNpbmNvOiAjQ0VDRUNFO1xuJGNvbG9yLXNlaXM6ICNiOWI4Yjg7XG5cbi8vIHRpdHVsbyBkZSB2aXN1YWwgbG9nc1xuLnRpdGxlLWZvcm0ge1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDIwcHQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJGNvbG9yLXNlaXM7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi8vIGNvbnRvcm5vIGRlbCB0aXR1bG9cbi5mb3JtLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3Itc2VpcztcbiAgICAvL2JvcmRlcjogMnB4IHNvbGlkICRjb2xvci1zZWNvbmRhcnk7XG4gICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICAvL2NvbG9yOiAkY29sb3ItcHJpbWFyeTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG5cbi5mb3JtLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ubW9kdWxlLXNlbGVjdC1jb250YWluZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbi8vIGZvcm1hdG8gZGVsIHNlbGVjdG9yIGRlIHByb2Nlc29zXG4uc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogNDIwcHg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIC8vZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDElO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogNTBweDtcbn1cblxuLm1hdC1zZWxlY3Qge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5tYXQtdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZmllbGQtdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbn1cblxuOmhvc3QgOjpuZy1kZWVwIC5tYXQtaGVhZGVyLWNlbGwsXG46Om5nLWRlZXAgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gcGFyYSBsYXMgZmxlY2hhcyBkZSBvcmRlbmFtaWVudG9cbjpob3N0IDo6bmctZGVlcCAubWF0LXNvcnQtaGVhZGVyLWFycm93IHtcbiAgICBjb2xvcjogJGNvbG9yLXByaW1hcnk7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLy9wYXJ0YSBiYWphIGRlIGxhIHRhYmxhLCBwYWdpbmF0b3Jcbjpob3N0IDo6bmctZGVlcCAubWF0LXBhZ2luYXRvciAubWF0LXBhZ2luYXRvci1vdXRlci1jb250YWluZXIgLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItY2luY28gO1xufVxuXG4vL1xuOmhvc3QgOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLXBhZ2Utc2l6ZSB7XG4gICAgaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8vXG46aG9zdCA6Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItcmFuZ2UtbGFiZWwge1xuICAgIG1hcmdpbjogMCAzMnB4IC0xMnB4IDMycHggIWltcG9ydGFudDtcbn1cblxuLy9cbjpob3N0IDo6bmctZGVlcCAubWF0LXBhZ2luYXRvci1uYXZpZ2F0aW9uLWZpcnN0LFxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tcHJldmlvdXMsXG46Om5nLWRlZXAgLm1hdC1wYWdpbmF0b3ItbmF2aWdhdGlvbi1uZXh0LFxuOjpuZy1kZWVwIC5tYXQtcGFnaW5hdG9yLW5hdmlnYXRpb24tbGFzdCB7XG4gICAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi8vXG46Om5nLWRlZXAgYnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5mZWVkLWJ1dHRvbntcbiAgICBjb2xvcjogJGNvbG9yLWN1YXRybztcbn1cbi5idXR0b24tY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgXG59XG5cbi5maWx0cm9zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4ucmVmcmVzaC1idXR0b257XG4gICAgbWFyZ2luLWxlZnQ6IDkwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLnNlbGVjdC1jb250YWluZXIyIHtcbiAgICBtYXgtaGVpZ2h0OiA0MjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLy8gZGFybGUgY29sb3IgYWwgYm90b24gdmVyIFxuLm1hdC1yYWlzZWQtYnV0dG9uOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWN1YXRybyAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLy9kYXJsZSBjb2xvciBhIGxhIHRhYmxhXG4ubWF0LWhlYWRlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgd2hpdGU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWNpbmNvICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMHB4O1xufVxuXG4ucm93LWhlaWdodCB7XG4gICAgaGVpZ2h0OiAzNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtcm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc2VpcyAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWhlYWRlci1yb3c6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LXJvdzpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tYXQtY2VsbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSxcbi5tYXQtZm9vdGVyLWNlbGw6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksXG4ubWF0LWhlYWRlci1jZWxsOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgZm9udC1zaXplOiA5cHQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG59XG5cbi52aXN1YWwtbG9ncy1jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4ubWF0LWNlbGx7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4uZmlsZS1pY29uLWNlbGx7XG4gICAgd2lkdGg6IDEwMHB4O1xufSJdfQ== */\";","import { DatePipe } from '@angular/common';\nimport { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { MatDialog } from '@angular/material/dialog';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { MatSort } from '@angular/material/sort';\nimport { UtilsDialogsComponent } from 'src/app/epg/visual-logs/utils-dialogs/visual-logs-dialogs.component';\nimport { Feeds } from 'src/app/shared/model/visual-logs-model/feeds';\nimport { FileProcess } from 'src/app/shared/model/visual-logs-model/files';\nimport { Process } from 'src/app/shared/model/visual-logs-model/process';\nimport { VisualLogsService } from 'src/app/shared/service/visual-logs.service';\n\n@Component({\n selector: 'app-visual-logs',\n templateUrl: './visual-logs.component.html',\n styleUrls: ['./visual-logs.component.scss']\n})\nexport class VisualLogsComponent implements OnInit {\n @ViewChild(MatPaginator) tablePaginator: MatPaginator;\n //@ViewChild(String \"tablePaginator\") tablePaginator: MatPaginator;\n @Output()\n public dateFromEmit = new EventEmitter();\n\n @Output()\n public dateToEmit = new EventEmitter();\n\n itemLista: Process[] = [];\n itemListaFeeds: Feeds[] = [];\n itemArchivo: FileProcess[] = [];\n statusArchivo: String[] = [];\n displayedColumns: String[] = [\"file_name\", \"feed\", \"status\", \"date\", \"time\", \" \"]\n dataSourceFile = new MatTableDataSource([]);\n disableSelect = new FormControl(false);\n idProcessSelected: number;\n mostrarBarra: boolean = false;\n startDateFilter: string[] = [];\n processSelected: boolean = false;\n\n private readonly MIN_DATE_IN_DAYS ;\n private readonly MAX_DATE_IN_DAYS = new Date().getDate() + 1;\n minDate = new Date();\n maxDate = new Date();\n range = new FormGroup({\n start: new FormControl('', Validators.required),\n end: new FormControl('', Validators.required)\n });\n\n filterForm:FormGroup;\n\n @ViewChild(MatSort, { static: true })\n sort: MatSort;\n\n\n constructor(private _service: VisualLogsService, private dialog: MatDialog) { \n this.filterForm = new FormGroup({\n feed: new FormControl(''),\n status: new FormControl(''),\n startDate: new FormControl(''),\n endDate: new FormControl('')\n });\n\n }\n\n ngOnInit(): void {\n this.minDate.setDate(this.MIN_DATE_IN_DAYS);\n this.maxDate.setDate(this.MAX_DATE_IN_DAYS);\n\n this._service.traerProcesos().subscribe(result => {\n this.itemLista = result;\n });\n\n this._service.traerFeeds().subscribe(result => {\n this.itemListaFeeds = result;\n });\n\n this._service.traerArchivosStatus().subscribe(result => {\n this.statusArchivo = result;\n });\n }\n\n openDialog(element) {\n\n this.dialog.open(UtilsDialogsComponent, {\n data: {\n id: element.id,\n file_name: element.file_name,\n },\n });\n }\n\n onselecprocess(deviceValue) {\n this.processSelected = true;\n this.mostrarBarra = true;\n this.filterForm.reset();\n this.startDateFilter[0] = \"\";\n this.startDateFilter[1] = \"\";\n this.actualizarTabla(deviceValue);\n }\n\n refresh(){\n this.onselecfilter(this.startDateFilter);\n }\n\n onselecfilter(value) {\n let feed = this.filterForm.get('feed')?.value;\n let status = this.filterForm.get('status')?.value;\n let startDate = this.startDateFilter[0];//this.filterForm.get('startDate')?.value;\n let endDate = this.startDateFilter[1];//this.filterForm.get('endDate')?.value;\n\n this._service.traerArchivosFiltered(feed, status, startDate, endDate, this.idProcessSelected).subscribe(result => {\n this.itemArchivo = result;\n this.dataSourceFile = new MatTableDataSource(result);\n this.dataSourceFile.paginator = this.tablePaginator;\n this.dataSourceFile.sort = this.sort;\n this.mostrarBarra = false;\n }\n );\n }\n\n actualizarTabla(id: number) {\n //this.filterForm.reset();\n this._service.traerArchivosId(id).subscribe(result => {\n this.itemArchivo = result;\n this.idProcessSelected = id;\n this.dataSourceFile = new MatTableDataSource(result);\n this.dataSourceFile.paginator = this.tablePaginator;\n this.dataSourceFile.sort = this.sort;\n this.mostrarBarra = false;\n }\n );\n }\n\n addEventFrom(event: MatDatepickerInputEvent) {\n this.startDateFilter[0] = this.format(event.value).toString();\n }\n\n addEventTo(event: MatDatepickerInputEvent) {\n this.startDateFilter[1] = this.format(event.value).toString();\n this.onselecfilter(this.startDateFilter);\n }\n\n format(date: Date): string {\n console.log(\"date\",date)\n\n const day = new Date(date).getDate().toString().padStart(2, '0');\n const month = (new Date(date).getMonth() + 1).toString().padStart(2, '0');\n const year = new Date(date).getFullYear();\n\n return `${year}-${month}-${day}`;\n }\n}\n","export default \".access-denied {\\n text-align: center;\\n font-weight: bold;\\n font-size: 30px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vYWNjZXNzLWRlbmllZC9hY2Nlc3MtZGVuaWVkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxrQkFBa0I7SUFDbEIsaUJBQWlCO0lBQ2pCLGVBQWU7QUFDbkIiLCJmaWxlIjoic3JjL2FwcC9sb2dpbi9hY2Nlc3MtZGVuaWVkL2FjY2Vzcy1kZW5pZWQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hY2Nlc3MtZGVuaWVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAzMHB4O1xufVxuIl19 */\";","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-access-denied',\n templateUrl: './access-denied.component.html',\n styleUrls: ['./access-denied.component.css']\n})\nexport class AccessDeniedComponent {}\n","export default \"::ng-deep .mat-dialog-container {\\n padding: 2px;\\n overflow: hidden;\\n background-color: #eee;\\n}\\n\\n.row {\\n height: 30px;\\n}\\n\\n.mat-dialog-title {\\n color: white;\\n background-color: #355CFE;\\n border-top-left-radius: 4px;\\n border-top-right-radius: 4px;\\n font-family: Arial, sans-serif;\\n font-size: 10pt;\\n font-weight: 600;\\n}\\n\\n.dialog-title {\\n margin-left: 20px;\\n}\\n\\n.mat-icon-button {\\n height: 30px;\\n}\\n\\n.mat-icon {\\n margin-top: -15px;\\n}\\n\\n::ng-deep .mat-dialog-content {\\n margin: 20px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vZGlhbG9nLXRpbWVvdXQvZGlhbG9nLXRpbWVvdXQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLDRCQUE0QjtJQUM1Qiw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCIiwiZmlsZSI6InNyYy9hcHAvbG9naW4vZGlhbG9nLXRpbWVvdXQvZGlhbG9nLXRpbWVvdXQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjo6bmctZGVlcCAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWU7XG59XG5cbi5yb3cge1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuLm1hdC1kaWFsb2ctdGl0bGUge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzU1Q0ZFO1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmRpYWxvZy10aXRsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG59XG5cbi5tYXQtaWNvbi1idXR0b24ge1xuICAgIGhlaWdodDogMzBweDtcbn1cblxuLm1hdC1pY29uIHtcbiAgICBtYXJnaW4tdG9wOiAtMTVweDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtZGlhbG9nLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMjBweDtcbn1cbiJdfQ== */\";","import { Component, OnDestroy } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Idle } from '@ng-idle/core';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-dialog-timeout',\n templateUrl: './dialog-timeout.component.html',\n styleUrls: ['./dialog-timeout.component.css']\n})\nexport class DialogTimeoutComponent implements OnDestroy {\n\n public timeout: any;\n private warningSubscription: Subscription;\n\n constructor(\n public dialogRef: MatDialogRef,\n private idle: Idle,\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer) {\n\n this.warningSubscription = this.idle\n .onTimeoutWarning\n .subscribe(countdown => this.timeout = { timeout: String(countdown)});\n\n iconRegistry.addSvgIcon(\n 'close',\n sanitizer.bypassSecurityTrustResourceUrl('../../assets/icons/twotone-close-24px.svg')\n );\n }\n\n ngOnDestroy(): void {\n this.warningSubscription.unsubscribe();\n }\n\n logout(): void {\n this.dialogRef.close(true);\n }\n\n stay(): void {\n this.dialogRef.close();\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { LoginComponent } from './login/login.component';\nimport { PasswordRecoveryComponent } from './password-recovery/password-recovery.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: LoginComponent\n },\n {\n path: 'password-recovery',\n component: PasswordRecoveryComponent\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class LoginRoutingModule { }\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { RouterModule } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { LoginComponent } from './login/login.component';\nimport { DialogTimeoutComponent } from './dialog-timeout/dialog-timeout.component';\nimport { RedirectAuthenticationComponent } from './redirect-authentication/redirect-authentication.component';\nimport { AccessDeniedComponent } from './access-denied/access-denied.component';\nimport { LoginRoutingModule } from './login-routing.module';\nimport { PasswordRecoveryComponent } from './password-recovery/password-recovery.component';\n\n@NgModule({\n declarations: [\n LoginComponent,\n DialogTimeoutComponent,\n RedirectAuthenticationComponent,\n AccessDeniedComponent,\n PasswordRecoveryComponent\n ],\n entryComponents: [\n DialogTimeoutComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule,\n TranslateModule,\n ReactiveFormsModule,\n RouterModule,\n LoginRoutingModule\n ]\n})\nexport class LoginModule { }\n","export default \".input-group-prepend,\\n.form-group>.form-control {\\n height: 28px;\\n font-family: Arial, sans-serif;\\n font-size: 11pt;\\n}\\n\\n.form-group>.form-control:focus {\\n border-color: #355CFE;\\n box-shadow: 0 0 8px #355CFE;\\n outline: 0 none;\\n}\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size:14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.form-container {\\n padding-top: 10px;\\n padding-bottom: 10px;\\n padding-left: 20px;\\n padding-right: 20px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n width: 400px;\\n margin-top: 30px;\\n margin-bottom: 30px;\\n margin-left: 33%;\\n}\\n\\n.cursor-pointer {\\n cursor: pointer;\\n}\\n\\n.cursor-pointer:hover {\\n text-decoration: underline;\\n}\\n\\n.form-check {\\n height: 28px;\\n font-family: Arial, sans-serif;\\n font-size: 11pt;\\n margin-bottom: 3%;\\n}\\n\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7SUFFSSxZQUFZO0lBQ1osOEJBQThCO0lBQzlCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsMkJBQTJCO0lBQzNCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsOEJBQThCO0lBQzlCLGNBQWM7SUFDZCxXQUFXO0lBQ1gsV0FBVztBQUNmOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFDQTtJQUNJLDBCQUEwQjtBQUM5Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWiw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLGlCQUFpQjtBQUNyQiIsImZpbGUiOiJzcmMvYXBwL2xvZ2luL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5mb3JtLWdyb3VwPi5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogMjhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB0O1xufVxuXG4uZm9ybS1ncm91cD4uZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMzNTVDRkU7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCAjMzU1Q0ZFO1xuICAgIG91dGxpbmU6IDAgbm9uZTtcbn1cblxuLnRpdGxlLWZvcm0ge1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6MTRwdDtcbiAgICBjb2xvcjogIzc3NztcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmZvcm0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzMyU7XG59XG5cbi5jdXJzb3ItcG9pbnRlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmN1cnNvci1wb2ludGVyOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmZvcm0tY2hlY2sge1xuICAgIGhlaWdodDogMjhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxMXB0O1xuICAgIG1hcmdpbi1ib3R0b206IDMlO1xufVxuXG4iXX0= */\";","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\nimport { MatIconRegistry } from \"@angular/material/icon\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { Router } from \"@angular/router\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { AlertService } from \"src/app/shared/service/alert.service\";\nimport { AuthenticationService } from \"../../shared/service/authentication.service\";\nimport { AuthorizationService } from \"src/app/shared/service/authorization.service\";\nimport { Role } from \"src/app/shared/model/role\";\nimport { UrlService } from \"src/app/shared/service/url.service\";\nimport { TranslateService } from \"@ngx-translate/core\";\n\n@Component({\n selector: \"app-login\",\n templateUrl: \"./login.component.html\",\n styleUrls: [\"./login.component.css\"],\n})\nexport class LoginComponent implements OnInit, OnDestroy {\n loginForm: FormGroup;\n loading = false;\n submitted = false;\n\n private unsubscription$: Subject;\n redirectUrl$: string | null;\n\n errorLogin: string;\n\n errorLoginMessageKey: boolean = false;\n pendingActivationMessageKey: boolean = false;\n accountRejectedMessageKey: boolean = false;\n inactiveAccountMessageKey: boolean = false;\n noRoleAccountMessageKey: boolean = false;\n\n constructor(\n private formBuilder: FormBuilder,\n private router: Router,\n private authenticationService: AuthenticationService,\n private authorizationService: AuthorizationService,\n private alertService: AlertService,\n private urlService: UrlService,\n private translateService: TranslateService,\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer\n ) {\n iconRegistry.addSvgIcon(\n \"person\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-person-24px.svg\"\n )\n );\n iconRegistry.addSvgIcon(\n \"lock\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-lock-24px.svg\"\n )\n );\n this.unsubscription$ = new Subject();\n this.translations();\n\n // Si ya esta logeado, lo redirige a EPG\n if (this.authenticationService.currentUserValue) {\n this.router.navigate([\"epg/networks\"]);\n }\n }\n\n ngOnInit() {\n this.loginForm = this.formBuilder.group({\n username: [\"\", [Validators.required, Validators.email]],\n password: [\"\", Validators.required],\n rememberMe: [false],\n });\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n get f() {\n return this.loginForm.controls;\n }\n\n onSubmit() {\n this.submitted = true;\n this.clearMessages();\n\n if (this.loginForm.invalid) {\n return;\n }\n\n this.loading = true;\n\n this.authenticationService\n .login$(\n this.f.username.value,\n this.f.password.value,\n this.f.rememberMe.value\n )\n .pipe(takeUntil(this.unsubscription$))\n .subscribe({\n next: () => {\n this.routeRole();\n },\n error:\n (error) => {\n console.log(error)\n switch (error) {\n case \"0\": // APPROVING_PENDING\n this.pendingActivationMessageKey = true;\n this.loading = false;\n case \"1\": // ACTIVATION_PENDING\n this.pendingActivationMessageKey = true;\n this.loading = false;\n break;\n case \"2\": // REJECTED\n this.accountRejectedMessageKey = true;\n this.loading = false;\n break;\n case \"3\": // ACTIVE\n this.routeRole();\n break;\n case \"4\": // INACTIVE\n this.inactiveAccountMessageKey = true;\n this.loading = false;\n break;\n case \"5\":\n this.noRoleAccountMessageKey = true;\n this.loading = false;\n break;\n default:\n if (error == 400) {\n this.alertService.error(this.errorLogin);\n this.loading = false;\n } else {\n this.errorLoginMessageKey = true;\n this.loading = false;\n }\n }\n },\n complete: () => {\n this.loading = false;\n }\n }\n );\n }\n\n forwotPassword() {\n this.router.navigate(['password-recovery']);\n }\n\n\n private clearMessages() {\n this.errorLoginMessageKey = false;\n this.pendingActivationMessageKey = false;\n this.accountRejectedMessageKey = false;\n this.inactiveAccountMessageKey = false;\n }\n\n private routeRole(): void {\n const superAdmin = this.authorizationService.isAuthorized([\n Role.SuperAdmin,\n ]);\n const legal = this.authorizationService.isAuthorized([Role.Legal]);\n const user = this.authorizationService.isAuthorized([Role.User]);\n\n const redirectUrl = this.urlService.getRedirectUrl();\n const params = this.urlService.getParams();\n\n if (superAdmin || user) {\n if (redirectUrl) {\n this.urlService.clearRedirectUrl();\n this.router.navigate([redirectUrl], { queryParams: params });\n } else {\n this.router.navigate([\"epg/networks\"]);\n }\n } else if (legal) {\n this.router.navigate([\"epg/legal\"]);\n } else {\n this.router.navigate([\"epg/networks\"]);\n }\n }\n\n //Translate Error\n private translations(): void {\n const keys = [\"login.form.errorLogin\"];\n\n this.translateService\n .stream(keys)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe((translations) => this.mapperToMessages(translations));\n }\n\n private mapperToMessages(translations: any): void {\n this.errorLogin = translations[\"login.form.errorLogin\"];\n }\n\n\n\n}\n","export default \".input-group-prepend,\\n.form-group>.form-control {\\n height: 28px;\\n font-family: Arial, sans-serif;\\n font-size: 11pt;\\n}\\n\\n.form-group>.form-control:focus {\\n border-color: #355CFE;\\n box-shadow: 0 0 8px #355CFE;\\n outline: 0 none;\\n}\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size:14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.form-container {\\n padding-top: 10px;\\n padding-bottom: 10px;\\n padding-left: 20px;\\n padding-right: 20px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n width: 480px;\\n margin-top: 30px;\\n margin-bottom: 30px;\\n margin-left: auto;\\n margin-right: auto;\\n}\\n\\n.cursor-pointer {\\n cursor: pointer;\\n}\\n\\n.cursor-pointer:hover {\\n text-decoration: underline;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vcGFzc3dvcmQtcmVjb3ZlcnkvcGFzc3dvcmQtcmVjb3ZlcnkuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7SUFFSSxZQUFZO0lBQ1osOEJBQThCO0lBQzlCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsMkJBQTJCO0lBQzNCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsOEJBQThCO0lBQzlCLGNBQWM7SUFDZCxXQUFXO0lBQ1gsV0FBVztBQUNmOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBQ0E7SUFDSSwwQkFBMEI7QUFDOUIiLCJmaWxlIjoic3JjL2FwcC9sb2dpbi9wYXNzd29yZC1yZWNvdmVyeS9wYXNzd29yZC1yZWNvdmVyeS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uZm9ybS1ncm91cD4uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTFwdDtcbn1cblxuLmZvcm0tZ3JvdXA+LmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzU1Q0ZFO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggIzM1NUNGRTtcbiAgICBvdXRsaW5lOiAwIG5vbmU7XG59XG5cbi50aXRsZS1mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOjE0cHQ7XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5mb3JtLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgd2lkdGg6IDQ4MHB4O1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5jdXJzb3ItcG9pbnRlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmN1cnNvci1wb2ludGVyOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiJdfQ== */\";","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { AuthenticationService } from 'src/app/shared/service/authentication.service';\n\n@Component({\n selector: 'app-password-recovery',\n templateUrl: './password-recovery.component.html',\n styleUrls: ['./password-recovery.component.css']\n})\nexport class PasswordRecoveryComponent implements OnInit {\n\n recoveryForm: FormGroup;\n\n loading = false;\n submitted = false;\n error = false;\n successRecovery = false;\n\n\n\n private unsubscription$: Subject;\n\n\n constructor(\n private formBuilder: FormBuilder,\n private router: Router,\n private translateService: TranslateService,\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer,\n private authService: AuthenticationService\n ) {\n\n this.unsubscription$ = new Subject();\n iconRegistry.addSvgIcon('person', sanitizer\n .bypassSecurityTrustResourceUrl('../../../assets/icons/filled-person-24px.svg')\n );\n }\n\n ngOnInit(): void {\n this.recoveryForm = this.formBuilder.group({\n email: ['',[Validators.required, Validators.email]]\n });\n }\n\n onSubmit() {\n console.log('Recovery password');\n this.submitted = true;\n this.error = false;\n this.successRecovery = false;\n if (this.recoveryForm.invalid) {\n return;\n }\n this.loading = true;\n\n console.log(this.recoveryForm.value.email);\n\n this.authService.resetPassword$(this.recoveryForm.value.email).subscribe(\n data => {\n this.loading = false;\n console.log(\"ok\");\n this.recoveryForm.reset();\n this.submitted = false;\n this.successRecovery = true;\n },\n error => {\n console.log(\"error\", error);\n this.loading = false;\n this.error = true;\n this.submitted = false;\n },\n\n );\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n}\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AuthenticationService } from '../../shared/service/authentication.service';\nimport { first } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-redirect-authentication',\n template: ``\n})\nexport class RedirectAuthenticationComponent implements OnInit, OnDestroy {\n\n private path: string;\n private locale: string;\n private refreshToken: string;\n private authSubscription: Subscription;\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private translate: TranslateService,\n private authenticationService: AuthenticationService\n ) { }\n\n ngOnInit() {\n this.setFields();\n this.loginWithToken();\n }\n\n ngOnDestroy(): void {\n this.authSubscription.unsubscribe();\n }\n\n private loginWithToken(): void {\n this.authSubscription = this.authenticationService\n .loginRefreshToken$(this.refreshToken)\n .pipe(first())\n .subscribe(\n () => {\n sessionStorage.setItem('locale', this.locale);\n this.translate.use(this.locale);\n this.router.navigate([this.path]);\n },\n error => {\n console.error(error);\n this.router.navigate(['']);\n });\n }\n\n /** Inicializa los campos 'path' 'locale' y 'refreshToken' */\n private setFields(): void {\n const pathString = this.route\n .snapshot\n .url\n .join(',');\n const arrayPath = pathString.split(',');\n arrayPath.splice(arrayPath.length - 2, 2);\n\n this.path = arrayPath.join('/');\n this.locale = this.route\n .snapshot\n .paramMap\n .get('locale');\n this.refreshToken = this.route\n .snapshot\n .paramMap\n .get('refresh_token');\n }\n\n}\n","import { NgModule } from \"@angular/core\";\nimport { RouterModule, Routes } from \"@angular/router\";\nimport { RegisterComponent } from './register/register.component';\n\n\nconst routes: Routes = [\n {\n path: '',\n component: RegisterComponent\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class RegisterRoutingModule { }","import { CommonModule } from \"@angular/common\";\nimport { NgModule } from \"@angular/core\";\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\nimport { RegisterComponent } from './register/register.component';\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatDialogModule } from \"@angular/material/dialog\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { RouterModule } from \"@angular/router\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { RegisterRoutingModule } from \"./register-routing.module\";\nimport { TermsComponent } from \"./terms/terms.component\";\n\n@NgModule({\n declarations: [\n RegisterComponent,\n TermsComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n MatIconModule,\n MatButtonModule,\n MatDialogModule,\n TranslateModule,\n ReactiveFormsModule,\n RouterModule,\n RegisterRoutingModule\n ]\n})\nexport class RegisterModule { }\n","export default \".input-group-prepend,\\n.form-group > .form-control {\\n height: 32px;\\n font-family: Arial, sans-serif;\\n font-size: 11pt;\\n}\\n\\n.form-group > .form-control:focus {\\n border-color: #355cfe;\\n box-shadow: 0 0 8px #355cfe;\\n outline: 0 none;\\n}\\n\\n.title-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 14pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.form-container {\\n padding-top: 10px;\\n padding-bottom: 10px;\\n padding-left: 20px;\\n padding-right: 20px;\\n border: 2px solid #ccc;\\n border-radius: 4px;\\n width: 1000px;\\n margin-top: 30px;\\n margin-bottom: 30px;\\n margin-left: 7%;\\n}\\n\\n.container {\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n}\\n\\n.description-form {\\n padding: 0 8px;\\n font-family: Arial, sans-serif;\\n font-size: 10pt;\\n color: #777;\\n width: auto;\\n}\\n\\n.subtitle-form {\\n font-size: 13pt;\\n color: #000;\\n}\\n\\n.right-container {\\n width: 48%;\\n}\\n\\n.left-container {\\n width: 48%;\\n}\\n\\n.option-select {\\n font-size: 12pt;\\n}\\n\\n.progress {\\n height: 10px;\\n}\\n\\n.progress-bar {\\n transition: width 0.3s ease-in-out;\\n}\\n\\n.bg-danger {\\n background-color: #dc3545;\\n}\\n\\n.bg-warning {\\n background-color: #ffc107;\\n}\\n\\n.bg-success {\\n background-color: #28a745;\\n}\\n\\n.font-progress-bar {\\n font-size: 1rem;\\n}\\n\\n.password-input {\\n display: flex;\\n}\\n\\n.password-progress {\\n width: 40%;\\n margin-left: 1em;\\n}\\n\\n.password {\\n width: 60%;\\n}\\n\\n.terms-link {\\n text-decoration: underline !important;\\n color: #355cfe !important;\\n}\\n\\n.terms-container{\\n margin-bottom: 3%;\\n margin-left: 1rem;\\n}\\n\\n.invalid-feedback{\\n display: flex;\\n}\\n\\n.is-invalid {\\n position: relative;\\n}\\n\\n.is-invalid-select {\\n border: 1px solid rgb(214, 15, 15);\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVnaXN0ZXIvcmVnaXN0ZXIvcmVnaXN0ZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7SUFFSSxZQUFZO0lBQ1osOEJBQThCO0lBQzlCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsMkJBQTJCO0lBQzNCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsOEJBQThCO0lBQzlCLGVBQWU7SUFDZixXQUFXO0lBQ1gsV0FBVztBQUNmOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0ksY0FBYztJQUNkLDhCQUE4QjtJQUM5QixlQUFlO0lBQ2YsV0FBVztJQUNYLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGtDQUFrQztBQUN0Qzs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLHFDQUFxQztJQUNyQywwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtDQUFrQztBQUN0QyIsImZpbGUiOiJzcmMvYXBwL3JlZ2lzdGVyL3JlZ2lzdGVyL3JlZ2lzdGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaW5wdXQtZ3JvdXAtcHJlcGVuZCxcbi5mb3JtLWdyb3VwID4gLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDExcHQ7XG59XG5cbi5mb3JtLWdyb3VwID4gLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzU1Y2ZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggIzM1NWNmZTtcbiAgICBvdXRsaW5lOiAwIG5vbmU7XG59XG5cbi50aXRsZS1mb3JtIHtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxNHB0O1xuICAgIGNvbG9yOiAjNzc3O1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHdpZHRoOiAxMDAwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA3JTtcbn1cblxuLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmRlc2NyaXB0aW9uLWZvcm0ge1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEwcHQ7XG4gICAgY29sb3I6ICM3Nzc7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5zdWJ0aXRsZS1mb3JtIHtcbiAgICBmb250LXNpemU6IDEzcHQ7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi5yaWdodC1jb250YWluZXIge1xuICAgIHdpZHRoOiA0OCU7XG59XG5cbi5sZWZ0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDQ4JTtcbn1cblxuLm9wdGlvbi1zZWxlY3Qge1xuICAgIGZvbnQtc2l6ZTogMTJwdDtcbn1cblxuLnByb2dyZXNzIHtcbiAgICBoZWlnaHQ6IDEwcHg7XG59XG5cbi5wcm9ncmVzcy1iYXIge1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi5iZy1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzM1NDU7XG59XG5cbi5iZy13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjMTA3O1xufVxuXG4uYmctc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI4YTc0NTtcbn1cblxuLmZvbnQtcHJvZ3Jlc3MtYmFyIHtcbiAgICBmb250LXNpemU6IDFyZW07XG59XG5cbi5wYXNzd29yZC1pbnB1dCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLnBhc3N3b3JkLXByb2dyZXNzIHtcbiAgICB3aWR0aDogNDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG59XG5cbi5wYXNzd29yZCB7XG4gICAgd2lkdGg6IDYwJTtcbn1cblxuLnRlcm1zLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICAjMzU1Y2ZlICFpbXBvcnRhbnQ7XG59XG5cbi50ZXJtcy1jb250YWluZXJ7XG4gICAgbWFyZ2luLWJvdHRvbTogMyU7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5pbnZhbGlkLWZlZWRiYWNre1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5pcy1pbnZhbGlkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pcy1pbnZhbGlkLXNlbGVjdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiKDIxNCwgMTUsIDE1KTtcbn1cbiJdfQ== */\";","import { Component, OnDestroy, OnInit } from \"@angular/core\";\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from \"@angular/forms\";\nimport { MatIconRegistry } from \"@angular/material/icon\";\nimport { DomSanitizer } from \"@angular/platform-browser\";\nimport { Router } from \"@angular/router\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\nimport { Role } from \"src/app/shared/model/role\";\nimport { AlertService } from \"src/app/shared/service/alert.service\";\nimport { AuthenticationService } from \"src/app/shared/service/authentication.service\";\nimport { AuthorizationService } from \"src/app/shared/service/authorization.service\";\nimport { CategoryService } from \"src/app/shared/service/category.service\";\nimport { UrlService } from \"src/app/shared/service/url.service\";\nimport { TermsComponent } from \"../terms/terms.component\";\nimport { MatDialog, MatDialogRef } from \"@angular/material/dialog\";\nimport { NewUser } from \"src/app/shared/model/new-user\";\nimport { NewAddress } from \"src/app/shared/model/new-user\";\nimport { NewCompany } from \"src/app/shared/model/new-user\";\nimport { Category } from \"src/app/shared/model/category\";\nimport { CountryService } from \"src/app/shared/service/country.service\";\nimport { Country } from \"src/app/shared/model/country\";\nimport { CountrySelect } from \"src/app/shared/model/countrySelect\";\nimport { LanguageSelect } from \"src/app/shared/model/languageSelect\";\nimport { LanguageService } from \"src/app/shared/service/language.service\";\nimport { CategorySelect } from \"src/app/shared/model/categorySelect\";\n\n@Component({\n selector: \"app-register\",\n templateUrl: \"./register.component.html\",\n styleUrls: [\"./register.component.css\"],\n})\nexport class RegisterComponent implements OnInit, OnDestroy {\n newUser: NewUser = {\n firstName: \"\",\n lastName: \"\",\n username: \"\",\n password: \"\",\n language: \"\",\n type: \"\",\n address: {\n city: \"\",\n country: \"\",\n street: \"\",\n zipCode: \"\",\n version: 0,\n },\n company: {\n name: \"\",\n version: 0,\n },\n enabled: false,\n version: 0,\n accountExpired: false,\n accountLocked: false,\n passwordExpired: false,\n dateCreated: \"\",\n userClass: \"\",\n state: 0,\n };\n registerForm: FormGroup;\n loading = false;\n submitted = false;\n passwordStrength = 0;\n message: string = \"\";\n categories: CategorySelect[];\n countries: CountrySelect[];\n languages: LanguageSelect[];\n\n\n private unsubscription$: Subject;\n redirectUrl$: string | null;\n\n successMessageKey: boolean = false;\n errorMessageKey: boolean = false;\n userAlreadyExistsMessageKey: boolean = false;\n invalidEmailMessageKey: boolean = false;\n passwordVisible: boolean = false;\n confirmPasswordVisible: boolean = false;\n\n constructor(\n private formBuilder: FormBuilder,\n private router: Router,\n private authenticationService: AuthenticationService,\n private authorizationService: AuthorizationService,\n private alertService: AlertService,\n private urlService: UrlService,\n private categoryService: CategoryService,\n private countryService: CountryService,\n private languageService: LanguageService,\n private dialog: MatDialog,\n private translateService: TranslateService,\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer\n ) {\n iconRegistry.addSvgIcon(\n \"person\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-person-24px.svg\"\n )\n );\n iconRegistry.addSvgIcon(\n \"lock\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-lock-24px.svg\"\n )\n );\n iconRegistry.addSvgIcon(\n \"email\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-email-24px.svg\"\n )\n );\n iconRegistry.addSvgIcon(\n \"language\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-language-24px.svg\"\n )\n );\n iconRegistry.addSvgIcon(\n \"category\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-category-24px.svg\"\n )\n );\n iconRegistry.addSvgIcon(\n \"company\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-company-24px.svg\"\n )\n );\n iconRegistry.addSvgIcon(\n \"country\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-country-24px.svg\"\n )\n );\n iconRegistry.addSvgIcon(\n \"city\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-city-24px.svg\"\n )\n );\n iconRegistry.addSvgIcon(\n \"house\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-house-24px.svg\"\n )\n );\n iconRegistry.addSvgIcon(\n \"pin\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/filled-pin-24px.svg\"\n )\n );\n this.unsubscription$ = new Subject();\n // this.translations();\n\n // Si ya esta logeado, lo redirige a EPG\n if (this.authenticationService.currentUserValue) {\n this.router.navigate([\"epg/networks\"]);\n }\n }\n\n ngOnInit() {\n this.registerForm = this.formBuilder.group({\n firstName: [\"\", Validators.required],\n lastName: [\"\", Validators.required],\n email: [\"\", [Validators.required, Validators.email]],\n password: [\"\", [Validators.required, Validators.minLength(8)]],\n confirmPassword: [\"\", Validators.required],\n language: [\"\", Validators.required],\n category: [\"\", Validators.required],\n company: [\"\", Validators.required],\n country: [\"\", Validators.required],\n city: [\"\", Validators.required],\n address: [\"\", Validators.required],\n zipCode: [\"\", Validators.required],\n terms: [false, Validators.requiredTrue],\n }, {\n validator: this.MustMatch('password', 'confirmPassword')\n });\n\n this.loadCategories();\n this.loadCountries();\n this.loadLanguages();\n }\n\n\n loadCategories() {\n this.categoryService.getCategories().subscribe(\n (data) => {\n this.categories = data;\n },\n (error) => {\n console.error('Error al cargar las categorías:', error);\n }\n );\n }\n\n loadCountries() {\n this.countryService.getCountries().subscribe(\n (data) => {\n this.countries = data;\n },\n (error) => {\n console.error('Error al cargar los paises:', error);\n }\n );\n }\n\n loadLanguages() {\n this.languageService.getLanguagesSelect().subscribe(\n (data) => {\n this.languages = data;\n },\n (error) => {\n console.error('Error al cargar los lenguajes:', error);\n }\n );\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n get f() {\n return this.registerForm.controls;\n }\n\n onSubmit() {\n this.submitted = true;\n\n this.loading = true;\n\n if (this.registerForm.invalid) {\n this.loading = false;\n return;\n }\n\n const formValues = this.registerForm.value;\n\n this.newUser = {\n firstName: formValues.firstName,\n lastName: formValues.lastName,\n username: formValues.email,\n password: formValues.password,\n language: formValues.language,\n type: formValues.category,\n address: {\n city: formValues.city,\n country: formValues.country,\n street: formValues.address,\n zipCode: formValues.zipCode,\n version: 0,\n },\n company: {\n name: formValues.company,\n version: 0,\n },\n enabled: false,\n version: 0,\n accountExpired: false,\n accountLocked: false,\n passwordExpired: false,\n dateCreated: \"\",\n userClass: \"com.turner.dmtla.tapkit.user.User\",\n state: 0,\n };\n\n console.log(\"Registrando nuevo usuario:\", this.newUser);\n\n this.authenticationService\n .register$(this.newUser)\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(\n (response) => {\n console.log(\"Respuesta del registro:\", response);\n\n if (response.success) {\n this.successMessageKey = true;\n setTimeout(() => {\n this.router.navigate([\"/login\"]);\n }, 5000);\n } else {\n if (response.message === \"UserAlreadyExists\") {\n this.userAlreadyExistsMessageKey = true;\n setTimeout(() => {\n this.userAlreadyExistsMessageKey = false;\n }, 3000);\n } else if (response.message === \"InvalidEmailDomain\") {\n this.invalidEmailMessageKey = true;\n } else {\n this.errorMessageKey = true;\n }\n }\n this.loading = false;\n },\n (error) => {\n console.error(\"Error al registrar el usuario:\", error);\n this.errorMessageKey = true;\n this.loading = false;\n }\n );\n }\n\n\n // custom validator to check that two fields match\n MustMatch(controlName: string, matchingControlName: string) {\n return (formGroup: FormGroup) => {\n const control = formGroup.controls[controlName];\n const matchingControl = formGroup.controls[matchingControlName];\n\n if (matchingControl.errors && !matchingControl.errors.mustMatch) {\n return;\n }\n\n if (control.value !== matchingControl.value) {\n matchingControl.setErrors({ mustMatch: true });\n } else {\n matchingControl.setErrors(null);\n }\n };\n }\n\n notDefault(control: AbstractControl): { [key: string]: boolean } | null {\n if (control.value === \"\") {\n return { default: true };\n }\n return null;\n }\n\n onPasswordChange() {\n const password = this.registerForm.get(\"password\").value;\n this.passwordStrength = this.calculatePasswordStrength(password);\n }\n\n calculatePasswordStrength(password: string): number {\n let strength = 0;\n\n if (password.length >= 8) {\n strength++;\n }\n if (/[a-z]/.test(password)) {\n strength++;\n }\n if (/[A-Z]/.test(password)) {\n strength++;\n }\n if (/[0-9]/.test(password)) {\n strength++;\n }\n\n return strength;\n }\n\n getPasswordStrengthClass(): string {\n if (this.passwordStrength < 2) {\n return \"bg-danger\";\n } else if (this.passwordStrength < 4) {\n return \"bg-warning\";\n } else {\n return \"bg-success\";\n }\n }\n\n getPasswordStrengthMessage(): string {\n if (this.passwordStrength < 2) {\n return this.translateService.instant(\"signup.passwordTooShort\");\n } else if (this.passwordStrength < 4) {\n return this.translateService.instant(\"signup.passwordWeak\");\n } else {\n return this.translateService.instant(\"signup.passwordSecure\");\n }\n }\n\n showDialog(): void {\n const language = this.registerForm.get(\"language\").value;\n console.log(\"Lenguaje activo:\", language);\n const dialogRef = this.dialog.open(TermsComponent, {\n data: { language: language },\n });\n }\n\n togglePasswordVisibility() {\n this.passwordVisible = !this.passwordVisible;\n }\n\n toggleConfirmPasswordVisibility() {\n this.confirmPasswordVisible = !this.confirmPasswordVisible;\n }\n}\n","export default \".title {\\n font-size: 3rem;\\n}\\n\\n.content {\\n font-size: 1rem;\\n}\\n\\n.mat-dialog-title {\\n display: flex !important;\\n justify-content: space-between !important;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcmVnaXN0ZXIvdGVybXMvdGVybXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksd0JBQXdCO0lBQ3hCLHlDQUF5QztBQUM3QyIsImZpbGUiOiJzcmMvYXBwL3JlZ2lzdGVyL3Rlcm1zL3Rlcm1zLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbn1cblxuLmNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLm1hdC1kaWFsb2ctdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4gIWltcG9ydGFudDtcbn1cbiJdfQ== */\";","import { Component, Inject, OnInit } from \"@angular/core\";\nimport {\n MAT_DIALOG_DATA,\n MatDialogRef,\n MatDialogActions,\n MatDialogClose,\n} from \"@angular/material/dialog\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\n@Component({\n selector: \"app-terms\",\n templateUrl: \"./terms.component.html\",\n styleUrls: [\"./terms.component.css\"],\n})\nexport class TermsComponent {\n\n constructor(\n public dialog: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any,\n private translateService: TranslateService\n ) {\n //this.translateService.use(this.data.language);\n }\n\n confirm() {\n this.dialog.close(true);\n }\n\n closeDialog() {\n this.dialog.close(false);\n }\n}\n","export default \".alert {\\n text-align: center;\\n margin-top: 1rem;\\n margin-bottom: 1rem;\\n}\\n\\n.close {\\n cursor: pointer;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGVBQWU7QUFDbkIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvYWxlcnQvYWxlcnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hbGVydCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmNsb3NlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4iXX0= */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { AlertService } from '../service/alert.service';\n\n@Component({\n selector: 'app-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.css']\n})\nexport class AlertComponent implements OnInit, OnDestroy {\n\n private unsubscription$: Subject;\n message: any;\n\n constructor(private alertService: AlertService) {\n this.unsubscription$ = new Subject();\n }\n\n ngOnInit() {\n this.alertService\n .getAlert$()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(message => this.alertCase(message));\n }\n\n ngOnDestroy() {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n removeAlert() {\n this.alertService.clear();\n }\n\n private alertCase(message: any): void {\n switch (message && message.type) {\n case 'info':\n message.cssClass = 'alert alert-info';\n break;\n case 'success':\n message.cssClass = 'alert alert-success';\n break;\n case 'warning':\n message.cssClass = 'alert alert-warning';\n break;\n case 'error':\n message.cssClass = 'alert alert-danger';\n break;\n }\n this.message = message;\n }\n\n}\n","export enum CountryEnum {\n ANGUILLA = 'Anguilla',\n ARGENTINA = 'Argentina',\n ARUBA = 'Aruba',\n AUSTRALIA = 'Australia',\n BAHAMAS = 'Bahamas',\n BARBADOS = 'Barbados',\n BELICE = 'Belice',\n BERMUDA = 'Bermuda',\n BOLIVIA = 'Bolivia',\n BRAZIL = 'Brazil',\n CAYMANISLANDS = 'Cayman Islands',\n CHILE = 'Chile',\n COLOMBIA = 'Colombia',\n SOUTHKOREA = 'South Korea',\n COSTARICA = 'Costa Rica',\n SEACRUISE = 'Sea Cruise',\n CUBA = 'Cuba',\n ECUADOR = 'Ecuador',\n ELSALVADOR = 'El Salvador',\n UNITEDSTATES = 'United States',\n GREECE = 'Greece',\n GUATEMALA = 'Guatemala',\n GUYANA = 'Guyana',\n HONDURAS = 'Honduras',\n HONGKONG = 'Hong Kong',\n HAITI = 'Haiti',\n ENGLAND = 'England',\n ITALY = 'Italy',\n JAPAN = 'Japan',\n MALAYSIA = 'Malaysia',\n MEXICO = 'Mexico',\n NICARAGUA = 'Nicaragua',\n NORWAY = 'Norway',\n PANAMA = 'Panama',\n PARAGUAY = 'Paraguay',\n PERU = 'Peru',\n PUERTORICO = 'Puerto Rico',\n DOMINICANREPUBLIC = 'Dominican Republic',\n TRINIDADANDTOBAGO = 'Trinidad and Tobago',\n URUGUAY = 'Uruguay',\n VENEZUELA = 'Venezuela'\n}\n\n\n","export enum LanguageEnum {\n SPA = 'SPA',\n ENG = 'ENG',\n POR = 'POR'\n}\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9kaWFsb2dzL2NvbmZpcm0tZGlhbG9nL2NvbmZpcm0tZGlhbG9nLmNvbXBvbmVudC5jc3MifQ== */\";","import { Component, Inject, OnInit } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef, MatDialogActions, MatDialogClose } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-confirm-dialog',\n templateUrl: './confirm-dialog.component.html',\n styleUrls: ['./confirm-dialog.component.css']\n})\nexport class ConfirmDialogComponent implements OnInit {\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef\n ) {\n }\n\n ngOnInit(): void {}\n\n confirm(){\n this.dialogRef.close(true);\n }\n\n cancel(){\n this.dialogRef.close(false);\n }\n\n\n\n}\n","export default \".footer {\\n position: relative;\\n bottom: 0;\\n width: 100%;\\n min-height: 160px;\\n background-color: #07016C;\\n margin: 20px 0 0 0;\\n padding: 20px 0 0 0;\\n border-top: 1px solid #ccc;\\n color: white;\\n font-family: Arial, sans-serif;\\n font-size: 0.80em;\\n}\\n\\n.footer-logo {\\n width: 200px;\\n height: 36px;\\n margin-bottom: 10px;\\n}\\n\\n.border-solid {\\n border-left: 1px solid #ccc;\\n}\\n\\n.networks-list {\\n float: left;\\n margin: 0 5px;\\n}\\n\\n.networks-loading {\\n text-align: center;\\n}\\n\\n.title-channels {\\n display: block;\\n font-size: 1.4em;\\n margin-block-start: 0em;\\n margin-block-end: 0em;\\n margin-inline-start: 0px;\\n margin-inline-end: 0px;\\n font-weight: bold;\\n height: 25px;\\n}\\n\\n.custom-width {\\n padding-right: 0px;\\n max-width: 516px;\\n padding-bottom: 10px;\\n}\\n\\n.custom-column {\\n height: 15px;\\n width: 115px;\\n}\\n\\n.developed-by {\\n color: white;\\n font-weight: bold;\\n padding-left: 5px;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGtCQUFrQjtJQUNsQixTQUFTO0lBQ1QsV0FBVztJQUNYLGlCQUFpQjtJQUNqQix5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQiwwQkFBMEI7SUFDMUIsWUFBWTtJQUNaLDhCQUE4QjtJQUM5QixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osWUFBWTtJQUNaLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIscUJBQXFCO0lBQ3JCLHdCQUF3QjtJQUN4QixzQkFBc0I7SUFDdEIsaUJBQWlCO0lBQ2pCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixpQkFBaUI7QUFDckIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxNjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcwMTZDO1xuICAgIG1hcmdpbjogMjBweCAwIDAgMDtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjgwZW07XG59XG5cbi5mb290ZXItbG9nbyB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uYm9yZGVyLXNvbGlkIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG59XG5cbi5uZXR3b3Jrcy1saXN0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAgNXB4O1xufVxuXG4ubmV0d29ya3MtbG9hZGluZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGl0bGUtY2hhbm5lbHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwZW07XG4gICAgbWFyZ2luLWJsb2NrLWVuZDogMGVtO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDBweDtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogMjVweDtcbn1cblxuLmN1c3RvbS13aWR0aCB7XG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgIG1heC13aWR0aDogNTE2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5jdXN0b20tY29sdW1uIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDExNXB4O1xufVxuXG4uZGV2ZWxvcGVkLWJ5IHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59Il19 */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { Observable, of, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { Network } from 'src/app/shared/model/network';\nimport { NetworkService } from 'src/app/shared/service/network.service';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.css']\n})\nexport class FooterComponent implements OnInit, OnDestroy {\n\n loadingNetworks = false;\n logoUrl: string;\n networks$: Observable;\n\n private unsubscription$: Subject;\n\n constructor(private networkService: NetworkService) {\n this.unsubscription$ = new Subject();\n //this.logoUrl = environment.bucketUrlImages + 'turner_logo.jpg';\n this.logoUrl = environment.bucketUrlImages + 'wbd_new_logo.png';\n }\n\n ngOnInit() {\n this.loadingNetworks = true;\n this.networkService\n .getNetworks$()\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(data => {\n this.networks$ = of(data)\n this.networkService.updateNetworks(data); //use this method to send network data to other components\n }).add(() => this.loadingNetworks = false); \n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n}\n","export default \".navbar {\\n position: relative;\\n top: 0;\\n width: 100%;\\n background-color: #07016C;\\n color: white;\\n}\\n\\n.navbar-brand{\\n margin-right: 21rem;\\n}\\n\\n.nav-item {\\n height: 40px;\\n}\\n\\n.nav-link {\\n cursor: pointer;\\n color: antiquewhite;\\n}\\n\\n.dropdown-menu {\\n position: sticky;\\n width: auto;\\n text-align: right;\\n right: 0;\\n left: auto;\\n}\\n\\n.dropdown-item:focus, .dropdown-item:hover {\\n color: black;\\n background-color: #b9b8b8;\\n}\\n\\n.invert-icon {\\n display: inline-block;\\n transform: scaleX(-1);\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sV0FBVztJQUNYLHlCQUF5QjtJQUN6QixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGlCQUFpQjtJQUNqQixRQUFRO0lBQ1IsVUFBVTtBQUNkOztBQUVBO0lBQ0ksWUFBWTtJQUNaLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixxQkFBcUI7QUFDekIiLCJmaWxlIjoic3JjL2FwcC9zaGFyZWQvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5hdmJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcwMTZDO1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLm5hdmJhci1icmFuZHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIxcmVtO1xufVxuXG4ubmF2LWl0ZW0ge1xuICAgIGhlaWdodDogNDBweDtcbn1cblxuLm5hdi1saW5rIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6IGFudGlxdWV3aGl0ZTtcbn1cblxuLmRyb3Bkb3duLW1lbnUge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuLmRyb3Bkb3duLWl0ZW06Zm9jdXMsIC5kcm9wZG93bi1pdGVtOmhvdmVyIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I5YjhiODtcbn1cblxuLmludmVydC1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xufVxuIl19 */\";","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { User } from '../model/user';\nimport { AuthenticationService } from '../service/authentication.service';\nimport { Role } from '../model/role';\nimport { AuthorizationService } from '../service/authorization.service';\nimport { MatIconRegistry } from '@angular/material/icon';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css']\n})\nexport class HeaderComponent implements OnInit, OnDestroy {\n\n logoUrl: string;\n currentUser: User;\n\n isUserRol: boolean;\n isLocalBreaksRol: boolean;\n isAncineRol: boolean;\n isLegalRol: boolean;\n isSuperAdminRol: boolean;\n isAdminUsersRol: boolean;\n isAdminContentRol: boolean;\n isMicroservicesRol: boolean;\n isLogRol: boolean;\n isAdminPress: boolean;\n\n languageList = [\n { code: 'en', label: 'english' },\n { code: 'es', label: 'español' },\n { code: 'pt', label: 'português' }\n ];\n\n private unsubscription$: Subject;\n\n constructor(\n private translate: TranslateService,\n private authenticationService: AuthenticationService,\n private authorizationService: AuthorizationService,\n iconRegistry: MatIconRegistry,\n sanitizer: DomSanitizer\n )\n {\n iconRegistry.addSvgIcon(\n \"logout\",\n sanitizer.bypassSecurityTrustResourceUrl(\n \"../../../assets/icons/logout-24px.svg\"\n )\n );\n this.unsubscription$ = new Subject();\n this.logoUrl = environment.bucketUrlImages + 'logo_tapkit_white.png';\n }\n\n ngOnInit(): void {\n this.defineLanguage();\n this.authenticationService\n .currentUser$\n .pipe(takeUntil(this.unsubscription$))\n .subscribe(user => this.defineAccess(user));\n }\n\n ngOnDestroy(): void {\n this.unsubscription$.next();\n this.unsubscription$.complete();\n }\n\n selectorLanguage(language: string) {\n this.translate.use(language);\n sessionStorage.setItem('locale', language);\n }\n\n logout() {\n this.authenticationService.logout();\n }\n\n private defineAccess(user: User): void {\n this.currentUser = user;\n this.isSuperAdminRol = this.authorizationService.isAuthorized([Role.SuperAdmin]);\n this.isAdminContentRol = this.authorizationService.isAuthorized([Role.AdminContent]);\n this.isAncineRol = this.authorizationService.isAuthorized([Role.Ancine]);\n this.isLegalRol = this.authorizationService.isAuthorized([Role.Legal]);\n this.isAdminUsersRol = this.authorizationService.isAuthorized([Role.AdminUsers]);\n this.isLogRol = this.authorizationService.isAuthorized([Role.Logs]);\n this.isLocalBreaksRol = this.authorizationService.isAuthorized([Role.Localbreaks]);\n this.isAdminPress = this.authorizationService.isAuthorized([Role.AdminPress]);\n this.isMicroservicesRol = this.authorizationService.isAuthorized([Role.Microservices]);\n }\n\n private defineLanguage(): void {\n const browserLang = this.translate.getBrowserLang();\n this.translate.addLangs(['en', 'es', 'pt']);\n let locale = sessionStorage.getItem('locale');\n\n if (!locale) {\n locale = browserLang.match(/en|es|pt/) ? browserLang : 'en';\n sessionStorage.setItem('locale', locale);\n }\n this.translate.use(locale);\n this.translate.setDefaultLang(locale);\n }\n\n}\n","export class ContactType {\n id: number;\n type: string;\n }\n","export class DataNetwork {\n codeNetwork: string;\n isClicked: boolean;\n\n constructor() {\n this.codeNetwork = '';\n this.isClicked = false;\n }\n}\n","export class NetworkDetails{\n urls: string;\n about: string;\n urlFacebook: string;\n urlTwitter: string;\n}\n","export class NetworkEpgFilesUpload {\n fileName: string;\n networkFile: File;\n }","export class NetworskDownloadData {\n id_network: number;\n network_code: string;\n tab_id: number;\n name: string;\n selected: boolean;\n file_id: number;\n path: string;\n}","export class EpgNewsUpload {\n imageName: string;\n imageFile: File;\n}","export enum Role {\n SuperAdmin = 'ROLE_SUPER_ADMIN',\n AdminContent = 'ROLE_ADMIN_CONTENT',\n AdminUsers = 'ROLE_ADMIN_USERS',\n AdminPress = 'ROLE_ADMIN_PRESS',\n Ancine = 'ROLE_ANCINE',\n Localbreaks = 'ROLE_LOCALBREAKS',\n User = 'ROLE_USER',\n Legal = 'ROLE_LEGAL',\n Logs = 'ROLE_LOGS',\n Microservices = 'ROLE_MICROSERVICES'\n}\n","import { Address } from \"./address\";\nimport { Company } from \"./company\";\nimport { RoleType } from \"./role-type\";\n\nexport class UserProfile {\n id: number;\n username: string;\n firstName: string;\n lastName: string;\n language: string;\n lastLogin: Date;\n dateCreated: Date;\n role: RoleType[];\n company: Company;\n address: Address;\n state: number;\n password?: string;\n}\n","import { Feed } from './feed';\n\nexport class User {\n id: number;\n username: string;\n firstName: string;\n lastName: string;\n accessToken: string;\n refreshToken: string;\n feeds: Feed[];\n}\n","export default \".list-position {\\n margin: 0 auto 20px;\\n padding-inline-start: 0%;\\n padding: 10px 0;\\n width: 805px;\\n}\\n\\n.network-list {\\n list-style-type: none;\\n max-height: 55px;\\n}\\n\\n.network-loading, .user-loading {\\n text-align: center;\\n}\\n\\n.network {\\n height: 55px;\\n border: 1px solid white;\\n overflow: hidden;\\n cursor: pointer;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL25ldHdvcmstbGlzdC9uZXR3b3JrLWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG1CQUFtQjtJQUNuQix3QkFBd0I7SUFDeEIsZUFBZTtJQUNmLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsZUFBZTtBQUNuQiIsImZpbGUiOiJzcmMvYXBwL3NoYXJlZC9uZXR3b3JrLWxpc3QvbmV0d29yay1saXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubGlzdC1wb3NpdGlvbiB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMCU7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIHdpZHRoOiA4MDVweDtcbn1cblxuLm5ldHdvcmstbGlzdCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1heC1oZWlnaHQ6IDU1cHg7XG59XG5cbi5uZXR3b3JrLWxvYWRpbmcsIC51c2VyLWxvYWRpbmcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm5ldHdvcmsge1xuICAgIGhlaWdodDogNTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbiJdfQ== */\";","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { Network } from 'src/app/shared/model/network';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-network-list',\n templateUrl: './network-list.component.html',\n styleUrls: ['./network-list.component.css']\n})\nexport class NetworkListComponent {\n\n @Input()\n networks$: Observable;\n\n @Input()\n loadingNetworks: boolean;\n\n @Input()\n style: any;\n\n @Input()\n activateStyle: any;\n\n @Input()\n deactivateStyle: any;\n\n @Output()\n public clickNetwork = new EventEmitter();\n\n @Input() showActiveOnly: boolean = true; \n\n\n logoUrl: string;\n\n constructor() {\n this.logoUrl = environment.bucketUrlImagesNetworks;\n }\n\n}\n","export default \".not-found {\\n text-align: center;\\n padding-top: 30px;\\n padding-bottom: 30px;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvc2hhcmVkL25vdC1mb3VuZC9ub3QtZm91bmQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsb0JBQW9CO0FBQ3hCIiwiZmlsZSI6InNyYy9hcHAvc2hhcmVkL25vdC1mb3VuZC9ub3QtZm91bmQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ub3QtZm91bmQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbn1cbiJdfQ== */\";","import { Component } from '@angular/core';\nimport { environment } from 'src/environments/environment';\n\n@Component({\n selector: 'app-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.css']\n})\nexport class NotFoundComponent {\n\n imageUrl: string;\n\n constructor() {\n this.imageUrl = environment.bucketUrlImages + '404.gif';\n }\n\n}\n","import { Feed } from '../model/feed';\nimport { ConfigGridAlias } from '../model/config-grid-alias';\nimport { Module } from '../model/module';\n\nexport class ConfigurationsRequest {\n module: Module;\n feeds: Feed[];\n fields: ConfigGridAlias[];\n}\n","\nexport class NewsletterRequest{\n fromId: number;\n subject: string;\n body: string;\n template: string;\n language: string;\n networksIds: number[];\n countries: string[];\n userIds: number[];\n\n\n constructor(\n fromId: number,\n subject: string,\n body: string,\n template: string,\n language: string,\n networksIds: number[],\n countries: string[],\n usersIds: number[]) {\n this.fromId = fromId;\n this.subject = subject;\n this.body = body;\n this.template = template;\n this.language = language;\n this.networksIds = networksIds;\n this.countries = countries;\n this.userIds = usersIds;\n }\n}\n","import { Newsletter } from \"../model/newsletters-model/newsletter\";\n\nexport class NewsletterResponse{\n newsletters: Newsletter[] = [];\n message: string;\n totalElements : number = 0;\n totalPages : number = 0;\n}\n","import { Injectable } from '@angular/core';\nimport { Subject, Observable } from 'rxjs';\nimport { Router, NavigationStart } from '@angular/router';\n\n@Injectable({ providedIn: 'root' })\nexport class AlertService {\n\n private subject$ = new Subject();\n private keepAfterRouteChange = false;\n\n constructor(private router: Router) {\n // Borra los mensajes de alerta ante el cambio de ruta\n // a menos que el indicador 'keepAfterRouteChange' sea true\n this.router.events.subscribe(event => {\n if (event instanceof NavigationStart) {\n if (this.keepAfterRouteChange) {\n this.keepAfterRouteChange = false;\n } else {\n // borra el mensaje de alerta\n this.clear();\n }\n }\n });\n }\n\n getAlert$(): Observable {\n return this.subject$.asObservable();\n }\n\n info(message: string, keepAfterRouteChange = false) {\n this.keepAfterRouteChange = keepAfterRouteChange;\n this.subject$.next({ type: 'info', text: message });\n }\n\n success(message: string, keepAfterRouteChange = false, timeout = 0) {\n this.keepAfterRouteChange = keepAfterRouteChange;\n this.subject$.next({ type: 'success', text: message });\n if(timeout !== 0)\n setTimeout(() => this.clear(), timeout*1000);\n }\n\n warning(message: string, keepAfterRouteChange = false) {\n this.keepAfterRouteChange = keepAfterRouteChange;\n this.subject$.next({ type: 'warning', text: message });\n }\n\n error(message: string, keepAfterRouteChange = false) {\n this.keepAfterRouteChange = keepAfterRouteChange;\n this.subject$.next({ type: 'error', text: message });\n }\n\n clear() {\n // borra la data llamando subject.next() sin parametros\n this.subject$.next();\n }\n}\n","import { HttpClient, HttpParams } from \"@angular/common/http\";\nimport { Injectable } from \"@angular/core\";\nimport { AncineGridsFile } from \"../model/ancine-grids-model/ancine-grids-file\";\nimport { environment } from \"src/environments/environment\";\nimport { Observable } from \"rxjs\";\nimport { AncineGridsList } from \"../model/ancine-grids-model/ancine-grids-list\";\nimport { Url } from \"url\";\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AncineGirdsService {\n\n constructor(private http: HttpClient) {\n //httpClient\n //activar o manejar el tema de CORS en spring \n }\n\n getFileByNetwork(_code: string, _type: string) {\n var params = new HttpParams();\n\n if (_code)\n params = params.set('code', _code);\n if (_type)\n params = params.set('type', _type);\n\n return this.http.get(environment.apiAncineGridsFileGetFileDate, { params, });\n //return this.http.get('http://localhost:8091/ancine/getfile/date');\n }\n\n getDownloadedFiles(filesList: string[]) {\n const params = new HttpParams().set('archivos', filesList.join(','));\n const responseType: 'arraybuffer' = 'arraybuffer';\n return this.http.get(environment.apiAncineGridsFileGetDownloadedFiles, { params, responseType });\n }\n\n getDownloadedFile(_archivo: string) {\n var params = new HttpParams();\n params = params.set('archivo', _archivo);\n //const responseType: 'arraybuffer' = 'arraybuffer';\n\n console.log(\"URL ancine = \", params)\n return this.http.get(environment.apiAncineGridsFileGetDownloadedFile, { params, responseType: 'arraybuffer', observe: 'response' });\n }\n\n}\n\n","\nimport { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Idle } from '@ng-idle/core';\nimport { BehaviorSubject, Observable, of, throwError } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { User } from 'src/app/shared/model/user';\nimport { environment } from 'src/environments/environment';\nimport { NewUser } from '../model/new-user';\nimport * as moment from 'moment';\nimport { GeneralService } from './general.service';\nimport { UserProfile } from '../model/user-profile';\nimport { CookieService } from 'ngx-cookie-service';\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class AuthenticationService {\n private currentUserSubject$: BehaviorSubject;\n public currentUser$: Observable;\n rememberMe: boolean = false;\n\n constructor(\n private idle: Idle,\n private http: HttpClient,\n private gralService: GeneralService,\n private router: Router,\n private cookieService: CookieService ) {\n\n\n {\n const storedUser = this.getCookie('session_user');\n if (storedUser) {\n this.currentUserSubject$ = new BehaviorSubject(JSON.parse(storedUser));\n } else {\n this.currentUserSubject$ = new BehaviorSubject(null);\n }\n this.currentUser$ = this.currentUserSubject$.asObservable();\n }\n }\n\n public get currentUserValue(): User {\n return this.currentUserSubject$.value;\n }\n\n /**\n * Login al servicio de Seguridad con las Credenciales del usuario\n *\n * @param username email del usuario\n * @param password contraseña del usuario\n */\n login$(\n username: string,\n password: string,\n rememberMe: boolean\n ): Observable {\n const body = `grant_type=password&scope=any&username=${username}&password=${password}`;\n return this.http.post(environment.apiSecurityUrl, body).pipe(\n map((data) => {\n this.mapperUserStorage(data, new User(), rememberMe);\n this.idle.watch();\n }),\n catchError((error) => {\n return throwError(error);\n })\n );\n }\n\n /**\n * Login al servicio de Seguridad con el RefreshToken\n * para actualizar el access_token vencido\n * o loguearse a la app desde un link hipervinculo (Tapkit redirect)\n *\n * @param refreshToken token JWT\n */\n loginRefreshToken$(refreshToken: string): Observable {\n const body = `grant_type=refresh_token&scope=any&refresh_token=${refreshToken}`;\n return this.http.post(environment.apiSecurityUrl, body).pipe(\n map((data) => {\n if (this.currentUserValue) {\n // Usuario logueado, solo actualiza access_token\n this.mapperUserStorage(\n data,\n this.currentUserValue,\n this.isRememberMe()\n );\n } else {\n // Login por redirect, instancia un nuevo usuario\n this.mapperUserStorage(\n data,\n new User(),\n this.isRememberMe()\n );\n this.idle.watch();\n }\n })\n );\n }\n\n /**\n * Elimina el usuario del sessionStorage\n * y setea el usuario actual en null\n */\n logout(): void {\n // this.getStorage().removeItem(\"session_user\");\n this.cookieService.delete('session_user');\n this.idle.stop();\n this.currentUserSubject$.next(null);\n this.router.navigate([\"/login\"]);\n }\n\n // validateEmailDomain(email: string): Observable {\n // return this.http\n // .post(\n // environment.apiSecurityUrlRegisterMailValidation,\n // email\n // )\n // .pipe(\n // catchError((error) => {\n // console.error(\"Error validating email domain\", error);\n // return of(false); // Retorna false en caso de error\n // })\n // );\n // }\n\n register$(user: NewUser): Observable {\n const now = moment().format(\"YYYY-MM-DD HH:mm:ss\");\n user.dateCreated = now;\n\n user.firstName = user.firstName;\n user.lastName = user.lastName;\n user.username = user.username;\n user.language = user.language;\n user.type = user.type;\n user.address.city = user.address.city;\n user.address.country = user.address.country;\n user.address.street = user.address.street;\n user.address.zipCode = user.address.zipCode;\n user.company.name = user.company.name;\n\n return this.http\n .post(`${environment.apiSecurityUrlRegister}`, user)\n .pipe(\n map((data) => ({ success: true, message: data })),\n catchError((error) => {\n let errorMessage = \"\";\n if (error === 400) {\n errorMessage = \"UserAlreadyExists\";\n } else if (error === 422) {\n errorMessage = \"InvalidEmailDomain\";\n } else {\n errorMessage = \"Error\";\n }\n return of({ success: false, message: errorMessage });\n })\n );\n }\n\n /*\n * Mapea los datos recibidos del servicio de seguridad al usuario pasado por parametro\n * y guarda los datos del mismo en el sessionStorage\n *\n * @param data response login\n * @param user usuario actual (logueado)\n */\n private mapperUserStorage(\n data: any,\n user: User,\n rememberMe: boolean\n ): void {\n user.accessToken = data.access_token;\n user.refreshToken = data.refresh_token;\n user.firstName = data.first_name;\n user.lastName = data.last_name;\n user.username = data.user_name;\n user.id = data.id;\n\n\n this.setCookie('session_user', JSON.stringify(user), rememberMe);\n\n\n \n this.currentUserSubject$.next(user);\n }\n\n resetPassword$(email: string): Observable {\n\n return this.http.post(`${environment.apiSecurityUrlResetPassword}`, { username: email }).pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n /**\n * Actualiza la contraseña del usuario\n *\n * @param newPassword nueva contraseña\n */\n changePassword$(oldPassword:string, newPassword: string): Observable {\n // const user = new UserProfile();\n // user.password = newPassword;\n // user.username = this.currentUserValue.username;\n // user.id = this.currentUserValue.id;\n\n const user = {\n newPassword: newPassword,\n username: this.currentUserValue.username,\n id: this.currentUserValue.id,\n password: oldPassword\n }\n\n return this.http.patch(`${environment.apiDomainUrlGetUserProfiles}/changePassword`, user).pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n\n private getStorage(): Storage {\n return localStorage.getItem(\"rememberMe\") === \"true\"\n ? localStorage\n : sessionStorage;\n }\n\n private setStorage(rememberMe: boolean): Storage {\n localStorage.setItem(\"rememberMe\", rememberMe.toString());\n return rememberMe ? localStorage : sessionStorage;\n }\n\n private isRememberMe(): boolean {\n return localStorage.getItem(\"rememberMe\") === \"true\";\n }\n\n private getCookie(cookieName: string): string {\n return this.cookieService.get(cookieName);\n }\n \n private setCookie(cookieName: string, value: string, rememberMe: boolean): void {\n if (rememberMe) {\n this.cookieService.set(cookieName, value, { expires: 30, path: '/' });\n } else {\n this.cookieService.set(cookieName, value, { path: '/' }); \n }\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { AuthenticationService } from './authentication.service';\nimport { JwtHelperService } from '@auth0/angular-jwt';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthorizationService {\n\n constructor(\n private jwtHelperService: JwtHelperService,\n private authenticationService: AuthenticationService\n ) { }\n\n /**\n * Verifica si el usuario logueado tiene permisos (roles)\n *\n * @param allowedRoles array con los roles permitidos para acceder a esa funcionalidad\n */\n public isAuthorized(allowedRoles: string[]): boolean {\n\n if (allowedRoles == null || allowedRoles.length === 0) {\n return false;\n }\n\n const currentUser = this.authenticationService.currentUserValue;\n if (!currentUser) {\n return false;\n }\n const accessToken = currentUser.accessToken;\n const decodeAccessToken = this.jwtHelperService.decodeToken(accessToken);\n\n if (!decodeAccessToken) {\n return false;\n }\n for (const rol of decodeAccessToken.authorities) {\n if (allowedRoles.includes(rol)) {\n return true;\n }\n }\n return false;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { CategorySelect } from '../model/categorySelect';\nimport { catchError } from 'rxjs/operators';\nimport { GeneralService } from './general.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CategoryService {\n\n\n private apiUrl = environment.apiSecurityUrlCategory;\n\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService) { \n }\n\n getCategories(): Observable {\n return this.http.get(this.apiUrl);\n }\n\n addCategory(category: CategorySelect): Observable {\n return this.http.post(`${this.apiUrl}/add`, category).pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n updateCategory(id: number, type: CategorySelect): Observable {\n return this.http.put(`${this.apiUrl}/update/${id}`, type).pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n deleteCategory(id: number): Observable {\n return this.http.delete(`${this.apiUrl}/delete/${id}`).pipe(\n catchError(this.gralService.handleError)\n );\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { ConfigGridAlias } from '../model/config-grid-alias';\nimport { ConfigGridMaster } from '../model/config-grid-master';\nimport { ConfigAliasResponse } from '../response/config-alias-response';\nimport { ConfigResponse } from '../response/config.response';\nimport { GeneralService } from './general.service';\nimport { ConfigurationsRequest } from '../request/configurations.request';\nimport { ConfigurationsResponse } from '../response/configurations.response';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ConfigService {\n\n private readonly LOCALE_ENGLISH = 'en';\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService) {\n }\n\n getConfigAlias$(): Observable {\n return this.http\n .get(environment.apiDomainUrlGetConfigAlias)\n .pipe(\n map(response => response\n .configGridAliasList\n .filter(field => field.locale.id === this.LOCALE_ENGLISH)),\n catchError(this.gralService.handleError)\n );\n }\n\n getConfigurations$(moduleId: string): Observable {\n return this.http\n .get(environment.apiDomainUrlGetConfigurations + moduleId)\n .pipe(\n map(response => response.configurations),\n catchError(this.gralService.handleError)\n );\n }\n\n postConfigurations$(request: ConfigurationsRequest): Observable {\n return this.http\n .post(environment.apiDomainUrlPostConfigurations, request)\n .pipe(catchError(this.gralService.handleError));\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient, HttpResponse } from \"@angular/common/http\";\nimport { Observable } from \"rxjs\";\nimport { environment } from \"src/environments/environment\";\nimport { Contact } from \"../model/contact\";\nimport { catchError } from \"rxjs/operators\";\nimport { GeneralService } from \"./general.service\";\nimport { ContactType } from \"../model/contactType\";\nimport { ContactContactType } from \"../model/contact-contact-type\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class ContactService {\n private apiUrl = environment.apiSecurityUrlContact;\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService\n ) {}\n\n getAllActiveContacts(): Observable {\n return this.http.get(\n `${this.apiUrl}/getAllActiveWithRelations`\n );\n }\n\n addContact(contact: Contact): Observable {\n console.log(\"contacto en service:\", contact);\n\n const url = `${this.apiUrl}/add`;\n\n const contactData = {\n id: contact.id,\n version: contact.version,\n email: contact.email,\n name: contact.name,\n zone: contact.zone,\n is_deleted: contact.is_deleted,\n selected: contact.selected,\n contactTypes: contact.contactTypes,\n networks: contact.networks\n };\n\n return this.http.post(url, contactData).pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n updateContact(contact: Contact): Observable> {\n return this.http.put(\n `${this.apiUrl}/edit/${contact.id}`, contact ,{ observe: 'response' }\n );\n }\n\n deleteContactList(ids: number[]): Observable {\n return this.http\n .put(`${this.apiUrl}/deleteList`, ids)\n .pipe(catchError(this.gralService.handleError));\n }\n\n getContactContactTypes(): Observable {\n return this.http.get(\n `${this.apiUrl}/getAllContactTypeRelations`\n );\n }\n\n getContactTypes(): Observable {\n console.log(\"ContactTypes (Service) 2:\", ContactType);\n return this.http.get(\n `${this.apiUrl}/getAllContactTypes`\n );\n }\n\n getNetworks(): Observable {\n return this.http.get(environment.apiNetworkEpgGetActiveNetworks);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { CountrySelect } from '../model/countrySelect';\nimport { catchError } from 'rxjs/operators';\nimport { GeneralService } from './general.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CountryService {\n\n\n private apiUrl = environment.apiSecurityUrlCountry;\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService) { \n }\n\n getCountries(): Observable {\n return this.http.get(this.apiUrl);\n }\n\n\n addCountry(country: CountrySelect): Observable {\n return this.http.post(`${this.apiUrl}/add`, country).pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n updateCountry(id: number, country: CountrySelect): Observable {\n return this.http.put(`${this.apiUrl}/update/${id}`, country).pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n deleteCountry(id: number): Observable {\n return this.http.delete(`${this.apiUrl}/delete/${id}`).pipe(\n catchError(this.gralService.handleError)\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { DataNetwork } from '../model/data-network';\nimport { Feed } from '../model/feed';\nimport { ConfigGridAlias } from '../model/config-grid-alias';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EpgDataService {\n\n public codeNetworkSubject$: BehaviorSubject;\n public codeNetwork$: Observable;\n\n constructor() {\n this.codeNetworkSubject$ = new BehaviorSubject(new DataNetwork());\n this.codeNetwork$ = this.codeNetworkSubject$.asObservable();\n }\n\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { EpgErrorResponse } from '../model/EpgErrorResponse';\nimport { MonthlyUploadResponse } from '../model/monthly-upload-model/MonthlyUploadResponse';\nimport { EpgNews } from '../model/news-model/news';\nimport { EpgNewsUpload } from '../model/news-model/news-upload';\nimport { GeneralService } from './general.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NewsService {\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService) { }\n\n getAllNetworkNews() {\n return this.http.get(environment.apiEpgGetAllNews);\n }\n\n getAllNetworkNewsByNetworkId(networkId: number) {\n var params = new HttpParams();\n if (networkId)\n params = params.set('networkId', networkId + \"\");\n\n return this.http.get(environment.apiEpgGetAllNewsByNetworkId, { params, });\n }\n\n uploadNewsFilesToS3(epgNewsUpload: EpgNewsUpload) {\n let formData = new FormData();\n\n formData.append('imageName', epgNewsUpload.imageName);\n formData.append('imageFile', epgNewsUpload.imageFile);\n\n return this.http.post(environment.apiEpgUploadNewsFiles, formData).pipe(\n catchError(this.gralService.handleError));\n }\n\n uploadNewsDB(epgNewsUploadDB: EpgNews): Observable{\n return this.http.post(environment.apiEpgUploadNewsDB, epgNewsUploadDB ).pipe(\n catchError(this.gralService.handleError));\n }\n\n deleteImageFromS3(imageName: string):Observable{\n let formData = new FormData();\n formData.append('imageName', imageName);\n return this.http.post(environment.apiEpgDeleteNewsImageFromS3, formData);\n }\n\n deleteNews(newsId: number): Observable{\n var params = new HttpParams();\n params = params.set('newsId', newsId + \"\");\n return this.http.delete(environment.apiEpgDeleteNewsDB, { params, });\n }\n\n findByNetworkDateAndImage(): Observable{\n return this.http.get(environment.apiDomainGetNewsForCarousel);\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { FeedResponse } from '../response/feed.response';\nimport { GeneralService } from './general.service';\nimport { Feed } from '../model/feed';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FeedService {\n [x: string]: any;\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService) {\n }\n\n getFeeds$(): Observable {\n this.http.get(environment.apiDomainUrlGetFeed).pipe(map(response => response.feeds),catchError(this.gralService.handleError))\n //console.log(\"****\"+ environment.apiDomainUrlGetFeed);\n return this.http.get(environment.apiDomainUrlGetFeed).pipe(map(response => response.feeds),catchError(this.gralService.handleError));\n }\n\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { FileConfigurations } from '../model/file-configurations';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileConfigurationsService {\n\n constructor(private http: HttpClient) { }\n\n getAllFilesConf(){\n return this.http.get(environment.apiDomainFileConfigurationAll);\n }\n\n getAllFilesConfByFileType(fileType: string){\n var params = new HttpParams();\n if (fileType)\n params = params.set('fileType', fileType + \"\");\n\n return this.http.get(environment.apiDomainFileConfigurationByFileType, { params, });\n }\n\n getAllFilesConfByFileTypeEnabled() {\n return this.http.get(environment.apiDomainFileConfigurationByFileTypeEnabled);\n }\n\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { FileExtensionsConfigurations } from '../model/file-extensions-configurations';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FileExtensionsConfigurationsService {\n\n constructor(private http: HttpClient) { }\n\n getAllFilesExtConf(){\n return this.http.get(environment.apiDomainFileExtensionConfigurationAll);\n }\n\n getAllFilesExtConfByConfId(fileConfigurationId: number){\n var params = new HttpParams();\n if (fileConfigurationId)\n params = params.set('fileConfigurationId', fileConfigurationId + \"\");\n\n return this.http.get(environment.apiDomainFileExtensionConfigurationByIdConfiguration, { params, });\n }\n\n getAllFilesExtConfByFileType(fileTypes: string[]){\n const params = new HttpParams().set('fileType', fileTypes.join(','));\n return this.http.get(environment.apiDomainFileExtensionConfigurationByFileType, { params, });\n }\n}\n","import { HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { throwError } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class GeneralService {\n\n constructor() { }\n\n public handleError(error: HttpErrorResponse) {\n if (error.error instanceof ErrorEvent) {\n // A client-side or network error occurred. Handle it accordingly.\n console.error('Ha ocurrido un error:', error.error.message);\n } else {\n // The backend returned an unsuccessful response code.\n // The response body may contain clues as to what went wrong,\n console.error(\n `Backend retorno codigo ${error.status}, ` +\n `el cuerpo fue: ${error.error}`);\n }\n // return an observable with a user-facing error message\n return throwError('Ha ocurrido un error, por favor intente mas tarde.');\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { GeneralService } from './general.service';\nimport { Observable } from 'rxjs';\nimport { map, catchError } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { Feed } from '../model/feed';\nimport { FeedResponse } from '../response/feed.response';\nimport { LanguageResponse } from '../response/language.response';\nimport { Language } from '../model/language';\nimport { LanguageSelect } from '../model/languageSelect';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LanguageService {\n\n private apiUrl = environment.apiSecurityUrlLanguage;\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService) {\n }\n\n getLanguages$(): Observable {\n this.http.get(environment.apiDomainGetLanguages).pipe(map(response => response.languages), catchError(this.gralService.handleError))\n //console.log(\"****\" + environment.apiDomainGetLanguages);\n return this.http.get(environment.apiDomainGetLanguages).pipe(map(response => response.languages), catchError(this.gralService.handleError));\n }\n\n getLanguagesSelect(): Observable {\n return this.http.get(this.apiUrl);\n }\n\n addLanguage(language: LanguageSelect): Observable {\n return this.http.post(`${this.apiUrl}/add`, language).pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n updateLanguage(id: number, language: LanguageSelect): Observable {\n return this.http.put(`${this.apiUrl}/update/${id}`, language).pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n deleteLanguage(id: number): Observable {\n return this.http.delete(`${this.apiUrl}/delete/${id}`).pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { GeneralService } from './general.service';\nimport { Module } from '../model/module';\nimport { Observable } from 'rxjs';\nimport { ModuleResponse } from '../response/module.response';\nimport { environment } from 'src/environments/environment';\nimport { map, catchError } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModuleService {\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService) {\n }\n\n getModules$(): Observable {\n return this.http\n .get(environment.apiDomainUrlGetModules)\n .pipe(\n map(response => response.modules),\n catchError(this.gralService.handleError));\n }\n\n}\n","import { HttpClient, HttpHeaders, HttpParams, HttpClientModule, HttpErrorResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { async, Observable, throwError } from 'rxjs';\nimport { catchError, map, tap } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { Monthly } from '../model/monthly';\nimport { FeedResponse } from '../response/feed.response';\nimport { MonthlyResponse } from '../response/monthly.response';\nimport { GeneralService } from './general.service';\nimport { MonthlyUploadError } from '../model/monthly-upload-model/MonthlyUploadError';\nimport { MonthlyUploadResponse } from '../model/monthly-upload-model/MonthlyUploadResponse';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MonthlyService {\n\n //private localURL = 'http://localhost:8085/';\n //private downloadMonthlyURL = 'monthlyshowsdownload.xls';\n //private publishMonthlyURL = 'monthlyshowsupload.xls';\n\n constructor(\n private httpClient: HttpClient,\n private gralService: GeneralService) {\n }\n\n\n public downloadMonthlyGrid(feedId: string, filename: string, from: string, to: string, fileLanguage: string)/*: Observable*/ {\n const headers = new HttpHeaders().append('Content-Type', 'application/json');\n\n let queryParams = new HttpParams();\n queryParams = queryParams.append('feedId', feedId);\n queryParams = queryParams.append('from', from);\n queryParams = queryParams.append('to', to);\n queryParams = queryParams.append('fileName', filename);\n queryParams = queryParams.append('fileLanguage', fileLanguage);\n\n console.log(\"URL monthly = \", environment.apiMonthlyUrlDownload)\n return this.httpClient.get(environment.apiMonthlyUrlDownload, { headers, params: queryParams, responseType: 'blob' as 'json'})\n //.pipe(catchError(this.handleError));\n\n }\n\n private /*async*/ handleError(error: any) { \n if (!(error instanceof String) && error.status === 0) {\n // A client-side or network error occurred. Handle it accordingly.\n console.error('An error occurred:', error);\n } else {\n // The backend returned an unsuccessful response code.\n // The response body may contain clues as to what went wrong.\n console.error(\n 'Backend returned ', error);\n //`Backend returned code ${error.status}, body was: `, error.error);\n }\n // Return an observable with a user-facing error message.\n return throwError(() => new Error('Something bad happened; please try again later.'));\n }\n/*\n parseErrorBlob(err): Observable {\n const reader: FileReader = new FileReader();\n const obs = Observable.create((observer: any) => {\n reader.onloadend = (e) => {\n observer.error(JSON.parse((e.target.result.toString())));\n observer.complete();\n }\n });\n reader.readAsText(err);\n return obs;\n}\n*/\n public publishMonthlyGrid(feedId: string, filename: string, from: string, to: string, fileLanguage: string) {\n const headers = new HttpHeaders().append('Content-Type', 'application/json');\n\n //const url = this.localURL + this.publishMonthlyURL\n\n let queryParams = new HttpParams();\n queryParams = queryParams.append('feedId', feedId);\n queryParams = queryParams.append('from', from);\n queryParams = queryParams.append('to', to);\n queryParams = queryParams.append('fileName', filename);\n queryParams = queryParams.append('fileLanguage', fileLanguage);\n\n console.log(\"URL monthly = \", environment.apiMonthlyUrlUpload)\n\n \n return this.httpClient.get(environment.apiMonthlyUrlUpload, { headers, params: queryParams, responseType: 'blob' as 'json' });\n \n }\n\n getMonthly$(): Observable {\n return this.httpClient\n .get(environment.apiDomainUrlGetMonthly)\n .pipe(\n map(response => response.monthly),\n catchError(this.gralService.handleError));\n }\n\n public uploadFilesToBucket(files: File[]): Observable{\n const formData = new FormData();\n for (let i = 0; i < files.length; i++) {\n formData.append('archivos', files[i]);\n }\n return this.httpClient.post(environment.apiMonthlyUrlSendFiles,formData).pipe(\n catchError(this.gralService.handleError));\n }\n\n}","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { NetworkContact } from '../model/network-contact';\nimport { Observable } from 'rxjs';\nimport { Contact } from '../model/contact';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkContactService {\n \n constructor(\n private http: HttpClient\n ) { }\n\n getAllContacts(networkId: number): Observable {\n let response = this.http.get(environment.apiNetworksContactsGetAllNetworkContacts + \"/\" + networkId);\n return response;\n }\n\n //cambiar la variable de environmmet\n addContact(networkId: number, contact: Contact): Observable {\n return this.http.post(`${environment.apiNetworksContactsGetAllNetworkContacts }/${networkId}/contacts`, contact);\n }\n\n //cambiar la variable de environmmet\n updateContact(contactId: number, contact: Contact): Observable {\n return this.http.put(`${environment.apiNetworksContactsGetAllNetworkContacts }/contacts/${contactId}`, contact);\n }\n}\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkDailygridsService {\n\n constructor(private http: HttpClient) { }\n\n downloadDailyGridsFile(feedId: string) {\n let headers : HttpHeaders = new HttpHeaders();\n headers = headers.set('Content-Type', 'application/vnd.ms-excel');\n let queryParams = new HttpParams();\n queryParams = queryParams.append('feedId', feedId);\n\n return this.http.get(environment.apiDailyGridsUrlDownload, { params: queryParams, headers: headers, responseType: 'blob'})\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NetworskDownloadData } from '../model/network-epg-model/networks-donwload-data';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkDataSharingService {\n private myObjectSubject = new Subject();\n\n constructor() { }\n\n getMyObjectSubject(): Observable{\n return this.myObjectSubject.asObservable();\n }\n\n updateMyObject(newState: NetworskDownloadData){\n this.myObjectSubject.next(newState);\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { NetworkEpg } from '../model/network-epg-model/network-epg';\nimport { saveAs } from 'file-saver';\nimport { Observable } from 'rxjs';\nimport { NewNetworkEpg } from '../model/new-network-epg';\nimport { MonthlyUploadResponse } from '../model/monthly-upload-model/MonthlyUploadResponse';\nimport { catchError } from 'rxjs/operators';\nimport { GeneralService } from './general.service';\nimport { NetworkEpgFilesUpload } from '../model/network-epg-model/network-epg-files-upload';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkEpgService {\n\n constructor( \n private http: HttpClient,\n private gralService: GeneralService\n ) { }\n\n getAllNetwork(){\n return this.http.get(environment.apiNetworEpgGetAllNetwork);\n }\n\n getActiveNetworks(){\n return this.http.get(environment.apiNetworkEpgGetActiveNetworks);\n }\n\n saveNetworkEpg(networkEpg: NewNetworkEpg): Observable {\n return this.http.post(environment.apiDomainNetworkEpgSave, networkEpg).pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n \n uploadFilesToS3(epgUpload: any) {\n let formData = new FormData();\n\n\n formData.append('logoImageName', epgUpload.logo.fileName);\n formData.append('logoImageFile', epgUpload.logo.networkFile);\n\n formData.append('reflectedLogoImageName', epgUpload.reflectedLogo.fileName);\n formData.append('reflectedLogoImageFile', epgUpload.reflectedLogo.networkFile);\n\n \n //cambiar el nombre de la response \n return this.http.post(environment.apiEpgSaveNetworkFileToS3, formData).pipe(\n catchError(this.gralService.handleError));\n }\n\n\n downloadFile(url: string): void {\n let filename = url.split('/').pop();\n const blob = new Blob([url]);\n saveAs(blob,filename);\n }\n\n}\n","import { NetworkEpakList } from './../model/network-epg-model/network-epak-list';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { TapkitFile } from '../model/network-epg-model/tapkit-file';\nimport { NetworkGridsList } from '../model/network-epg-model/network-grids-list';\nimport { NetworksGridsData } from '../model/network-epg-model/grids-data';\nimport { BehaviorSubject } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\nimport { NetworskDownloadData } from '../model/network-epg-model/networks-donwload-data';\nimport { GeneralService } from './general.service';\nimport { NetworkDownloadData } from '../model/network-epg-model/network-download-data';\nimport { LocalBreaksFilesByFeed } from '../model/network-epg-model/localbreaks-files-with-feed';\nimport { TapkitFileResponse } from '../response/tapkit-file.response';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkGridsService {\n private gridsFilesData: { [networkId: number]: NetworkGridsList[] } = {};\n private epakFilesData: { [networkId: number]: NetworkEpakList[] } = {};\n private updateFilesData: { [networkId: number]: TapkitFileResponse } = {};\n private gridsFilesSubject = new BehaviorSubject([]);\n private epakFilesSubject = new BehaviorSubject([]);\n\n gridFiles$ = this.gridsFilesSubject.asObservable();\n epakFiles$ = this.epakFilesSubject.asObservable();\n\n networksData: NetworksGridsData = {};\n\n constructor(private http: HttpClient,\n private gralService: GeneralService) { }\n\n // fijarse si va un observable o no en la declaracion, Observable\n getFilesFilteredByNetworkIdAndMonth(networkId: number, file_type: string, desde: number, hasta: number) {\n //behaviourSubject<>\n var params = new HttpParams();\n\n if (networkId)\n params = params.set('networkId', networkId + \"\");\n if (file_type)\n params = params.set('file_type', file_type + \"\");\n if (desde)\n params = params.set('desde', desde + \"\");\n if (hasta)\n params = params.set('hasta', hasta + \"\");\n\n return this.http.get(environment.apiNetworEpgGetAllNetworkGrids, { params, }).pipe(tap(result => {\n this.gridsFilesData[networkId] = result;\n this.gridsFilesSubject.next(result);\n })\n\n )\n }\n\n getEpakFiles(networkId: number) {\n\n var params = new HttpParams();\n\n if (networkId)\n params = params.set('networkId', networkId + \"\");\n\n return this.http.get(environment.apiNetworEpgGetAllEpakFiles, { params, }).pipe(tap(result => {\n this.epakFilesData[networkId] = result;\n this.epakFilesSubject.next(result);\n })\n\n )\n }\n\n getUpdateFiles(networkId: number) {\n\n var params = new HttpParams();\n\n if (networkId)\n params = params.set('networkId', networkId + \"\");\n\n return this.http.get(environment.apiNetworEpgGetUpdates, { params, }).pipe(tap(result => {\n this.updateFilesData[networkId] = result;\n })\n\n )\n }\n\n getFilesFilteredByNetworkIdMonthAndDate(networkId: number, file_type: string, selectedDate: string) {\n var params = new HttpParams();\n\n if (networkId)\n params = params.set('networkId', networkId + \"\");\n if (file_type)\n params = params.set('file_type', file_type + \"\");\n if (selectedDate)\n params = params.set('selectedDate', selectedDate + \"\");\n\n //return this.http.get(environment.apiNetworEpgGetAllNetworkLocalBreaksByDate, { params, });\n return this.http.get(environment.apiNetworEpgGetAllNetworkLocalBreaksByDate, { params, })\n }\n\n getDownloadedFiles(filesList: NetworkDownloadData[]) {\n const headers = { 'Content-Type': 'application/json' };\n const requestBody = JSON.stringify(filesList);\n console.log(requestBody);\n return this.http.post(environment.apiNetworksGridsFileGetDownloadedFiles, requestBody, { 'headers': headers, responseType: 'arraybuffer' });\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { NetworkDownloadData } from '../model/network-epg-model/network-download-data';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkLocalbreaksService {\n\n constructor(private http: HttpClient) { }\n\n downloadLocalBreaksFile(filesList: NetworkDownloadData) {\n const headers = { 'Content-Type': 'application/json' };\n const requestBody = JSON.stringify(filesList);\n\n return this.http.post(environment.apiNetworksLocalBreaksDownloadLocalBreaksFile, requestBody, {\n headers: headers,\n responseType: 'blob'\n });\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { environment } from 'src/environments/environment';\nimport { NetworkTab } from '../model/network-epg-model/network-tab';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkTabService {\n\n constructor(private http: HttpClient) { }\n\n getAllNetworkTab(){\n return this.http.get(environment.apiNetworEpgGetAllNetworkTab);\n }\n \n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\nimport { environment } from 'src/environments/environment';\nimport { NetworkResponse } from '../response/network.response';\nimport { GeneralService } from './general.service';\nimport { Network } from '../model/network';\nimport { NetworksUploadFilesUser } from '../model/network-epg-model/network-upload-files-user';\nimport { MonthlyUploadResponse } from '../model/monthly-upload-model/MonthlyUploadResponse';\nimport { BehaviorSubject } from 'rxjs';\nimport { NetworkSubscriptionResponse } from '../response/network-subscription-response';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NetworkService {\n private networksSource = new BehaviorSubject([]);\n networks$ = this.networksSource.asObservable();\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService) {\n }\n\n //Send network data from this components to another\n updateNetworks(networks: Network[]) {\n this.networksSource.next(networks);\n }\n\n getNetworks$(): Observable {\n return this.http\n .get(environment.apiDomainUrlGetNetwork)\n .pipe(\n map(response => response.networks),\n catchError(this.gralService.handleError));\n }\n\n\n getNetworksAncine$(): Observable {\n return this.http\n .get(environment.apiDomainUrlGetNetworkAncine)\n .pipe(\n map(response => response.networks),\n catchError(this.gralService.handleError));\n }\n\n uploadFile(formData: FormData): Observable {\n return this.http.post(environment.apiDomainPostNetworkFile, formData);\n }\n\n // uploadFile(networksUploadFiles: NetworksUploadFiles): Observable {\n // return this.http.post(environment.apiDomainPostNetworkFile, networksUploadFiles);\n // }\n\n // registerDownloadedFile(formData: FormData): Observable {\n // return this.http.post(environment.apiDomainPostNetworkFile, formData);\n // }\n\n getFilesByUser(username: String): Observable {\n let params = new HttpParams();\n params = params.set('username', username + \"\");\n return this.http.get(environment.apiDomainGetNetworkFilesByUser, { params, });\n }\n\n deleteFile(fileId: Number): Observable {\n let params = new HttpParams();\n params = params.set('fileId', fileId + \"\");\n return this.http.delete(environment.apiDomainDeleteFile, { params, });\n }\n\n deleteFileFromS3(filePath: String): Observable {\n let params = new HttpParams();\n params = params.set('filePath', filePath + \"\");\n return this.http.delete(environment.apiEpgDeleteFileFromS3, { params, });\n }\n\n subscribeNetworks(requestBody: any): Observable {\n\n return this.http.post(environment.apiDomainUrlPostNetworkSubscription, requestBody);\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { GeneralService } from './general.service';\nimport { environment } from 'src/environments/environment';\nimport { catchError } from 'rxjs/operators';\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { Newsletter } from '../model/newsletters-model/newsletter';\nimport { NewsletterRequest } from '../request/newsletter.request';\nimport { NewsletterResponse } from '../response/newsletter.response';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NewsletterService {\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService\n ) { }\n\n private newslettersSubject = new BehaviorSubject(new NewsletterResponse());\n private onlyMeSubject = new BehaviorSubject(false);\n private newsletterMessage = new BehaviorSubject('

hola

');\n private indexTabSubject = new BehaviorSubject(1);\n\n getNewsletterList$(): Observable {\n return this.newslettersSubject.asObservable();\n }\n\n setNewsletterList(newsletters: NewsletterResponse): void {\n this.newslettersSubject.next(newsletters);\n }\n getOnlyMe$(): Observable {\n return this.onlyMeSubject.asObservable();\n }\n\n setOnlyMe(onlyMe: boolean): void {\n this.onlyMeSubject.next(onlyMe);\n }\n\n getIndexTab$(): Observable {\n return this.indexTabSubject.asObservable();\n }\n\n setIndexTab(index: number): void {\n this.indexTabSubject.next(index);\n }\n\n getNewsletterMessage$(): Observable {\n return this.newsletterMessage.asObservable();\n }\n\n setNewsletterMessage(message: string): void {\n this.newsletterMessage.next(message);\n }\n\n\n getNewsletters$(page?:number,size?:number,state?:string,userId?:number, keyword?:string):Observable {\n // let url = environment.apiDomainUrlNewsletters + '/list';\n // if(state){\n // url = environment.apiDomainUrlNewsletters + '/list?state=' + state;\n // }\n // if(state && userId){\n // url = environment.apiDomainUrlNewsletters + '/list?state=' + state + '&userId=' + userId;\n // }\n // return this.http.get(url)\n let url = environment.apiDomainUrlNewsletters + '/list';\n const queryParams = [];\n\n if(page){\n queryParams.push('page=' + page);\n }\n if(size){\n queryParams.push('size=' + size);\n }\n if(state){\n queryParams.push('state=' + state);\n }\n if(userId){\n queryParams.push('userId=' + userId);\n }\n if(keyword){\n queryParams.push('keyword=' + keyword);\n }\n if(queryParams.length > 0){\n url += '?' + queryParams.join('&');\n }\n\n return this.http.get(url)\n .pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n draftNewsletter$(newsletter: NewsletterRequest): Observable {\n return this.http.post(environment.apiDomainUrlNewsletters + '/draftNewsletter', newsletter)\n .pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n sendNewsletter$(newsletter: NewsletterRequest): Observable {\n return this.http.post(environment.apiDomainUrlNewsletters + '/sendNewsletter', newsletter)\n .pipe(\n catchError(this.gralService.handleError)\n );\n }\n\n\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators'\nimport { environment } from 'src/environments/environment';\nimport { RoleType } from '../model/role-type';\nimport { GeneralService } from './general.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RoleService {\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService\n ) { }\n\n\n getRoles$(): Observable {\n return this.http\n .get(environment.apiDomainUrlGetRoles + '/list')\n .pipe(\n catchError(this.gralService.handleError));\n }\n\n\n}\n","import { HttpClient, HttpResponse } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { LogVersion } from 'src/app/shared/model/log-version';\nimport { GeneralService } from 'src/app/shared/service/general.service';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ShowService {\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService\n ) { }\n\n download$(feed: string): Observable> {\n return this.http\n .get(environment.apiEpgUrlDownload + feed, {\n observe: 'response',\n responseType: 'blob' as 'json'\n })\n .pipe(catchError(this.gralService.handleError));\n }\n\n getLogVersion$(feed: string): Observable {\n return this.http\n .get(environment.apiEpgUrlLogVersion + feed)\n .pipe(catchError(this.gralService.handleError));\n }\n\n legalDownload$(\n reportType: string,\n feed: string,\n dateFrom: Date,\n dateTo: Date): Observable> {\n\n const requestURI = environment.apiEpgUrlLegalDownload\n + reportType + '/'\n + feed + '/'\n + this.dateFromISO(dateFrom) + '/'\n + this.dateToISO(dateTo);\n\n return this.http\n .get(requestURI, {\n observe: 'response',\n responseType: 'blob' as 'json'\n })\n .pipe(catchError(this.gralService.handleError));\n }\n\n private dateFromISO(date: Date): string {\n let dateFromISO = new Date(date)\n dateFromISO.setUTCHours(6, 0, 0, 0);\n const dateISO = dateFromISO.toISOString();\n //date.setUTCHours(6, 0, 0, 0);\n //const dateISO = date.toISOString();\n return dateISO;\n }\n\n private dateToISO(date: Date): string {\n let dateToISO = new Date(date)\n dateToISO.setUTCHours(5, 59, 59, 999);\n const dateISO = dateToISO.toISOString();\n //date.setUTCHours(5, 59, 59, 999);\n //const dateISO = date.toISOString();\n return dateISO;\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { Router, NavigationExtras, Params } from '@angular/router';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UrlService {\n\n private redirectUrl : string | null;\n private queryParams : Params | null;\n \n constructor(private router: Router) {}\n \n // Método para establecer la URL de destino\n setRedirectUrl(url: string, queryParams?: Params): void {\n this.redirectUrl = url\n this.queryParams = queryParams\n }\n \n // Método para obtener la URL de destino\n getRedirectUrl(): string | null{\n return this.redirectUrl;\n }\n\n getParams(): Params{\n return this.queryParams;\n }\n\n //Borrar URL\n clearRedirectUrl(): void {\n this.redirectUrl = null;\n }\n\n // Método para redirigir a la URL de destino almacenada\n redirectToStoredUrl(): void{\n const url = this.redirectUrl || '/';\n const navigationExtras: NavigationExtras = {\n queryParams: { redirect: url }\n };\n this.router.navigate(['/login'], navigationExtras);\n }\n \n}\n\n","import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { catchError } from 'rxjs/operators'\nimport { GeneralService } from './general.service';\nimport { environment } from 'src/environments/environment';\nimport { Observable } from 'rxjs';\nimport { UserProfileResponse } from '../response/user-profile-response';\nimport { RoleType } from '../model/role-type';\nimport { UserProfile } from '../model/user-profile';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserProfileService {\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService\n ) { }\n\n\n getUserProfile$(page: number, size: number, sortFiel?:String, sortDirection?:string, keyword?:string ): Observable {\n\n if (sortFiel === undefined || sortFiel === null){\n sortFiel = 'username';\n }\n\n if (sortDirection === undefined || sortDirection === null || sortDirection === ''){\n sortDirection = 'asc';\n }\n\n let url = environment.apiDomainUrlGetUserProfiles+`?page=${page}&size=${size}&sortBy=${sortFiel},${sortDirection}`;\n if(keyword !== undefined && keyword !== null && keyword !== '')\n url = environment.apiDomainUrlGetUserProfiles+`?page=${page}&size=${size}&sortBy=${sortFiel},${sortDirection}&keyword=${keyword}`;\n\n return this.http\n .get(url)\n .pipe(\n catchError(this.gralService.handleError));\n }\n\n\n getUserProfilesToNewsletter(networks:number[], countries:string[], language:string, onlyTurnerEmployees?:boolean): Observable {\n\n var params = new HttpParams();\n\n if (networks !== undefined && networks !== null && networks.length > 0)\n params = params.set('networks', networks.toString());\n\n if (countries !== undefined && countries !== null && countries.length > 0)\n params = params.set('countries', countries.toString());\n\n if (language !== undefined && language !== null && language !== '')\n params = params.set('language', language);\n\n if (onlyTurnerEmployees !== undefined && onlyTurnerEmployees !== null)\n params = params.set('onlyTurnerEmployees', onlyTurnerEmployees.toString());\n\n\n return this.http\n .get(environment.apiDomainUrlGetUserProfiles+`/getToNewsletters`,{ params })\n .pipe(\n catchError(this.gralService.handleError));\n }\n\n getUserProfileByUsername$(username: string): Observable {\n return this.http\n .get(environment.apiDomainUrlGetUserProfiles+`/${username}`)\n .pipe(\n catchError(this.gralService.handleError));\n }\n\n getUserProfileById$(id: number): Observable {\n return this.http\n .get(environment.apiDomainUrlGetUserProfiles+`/id/${id}`)\n .pipe(\n catchError(this.gralService.handleError));\n }\n\n updateUserProfileStatus$(id: number, state: number): Observable {\n\n return this.http\n .patch(environment.apiDomainUrlGetUserProfiles+`/${id}/state?state=${state}`, null)\n .pipe(\n catchError(this.gralService.handleError));\n }\n\n updateProfileStatus(ids: number[], state: number): Observable {\n let headers: HttpHeaders = new HttpHeaders();\n headers = headers.set('Content-Type', 'application/json');\n\n\n return this.http\n .patch(environment.apiDomainUrlGetUserProfiles+`/updatestates?state=${state}&usersIds=${ids.toString()}`,{\n headers: headers,\n //params: {usersIds: ids.toString()}\n })\n .pipe(\n catchError(this.gralService.handleError));\n }\n\n updateProfile$(user: UserProfile): Observable {\n\n return this.http\n .put(environment.apiDomainUrlGetUserProfiles+`/update`, user)\n .pipe(\n catchError(this.gralService.handleError));\n}\n\n updateRole$(user: UserProfile): Observable {\n\n return this.http\n .put(environment.apiDomainUrlGetUserProfiles + `/addRoles`, user)\n .pipe(\n catchError(this.gralService.handleError));\n }\n\n searchUser$(search: string): Observable {\n return this.http\n .get(environment.apiDomainUrlGetUserProfiles+`/search?keyword=${search}`)\n .pipe(\n catchError(this.gralService.handleError));\n }\n\n removeUserProfile(id: number): Observable {\n return this.http\n .delete(environment.apiDomainUrlGetUserProfiles+`/remove?id=${id}`)\n .pipe(\n catchError(this.gralService.handleError));\n }\n\nremoveUsersProfiles(ids: number[]): Observable {\n let headers: HttpHeaders = new HttpHeaders();\n headers = headers.set('Content-Type', 'application/json');\n\n return this.http\n .delete(\n environment.apiDomainUrlGetUserProfiles + `/removeUsers`,\n {\n headers: headers,\n params: {usersIds: ids.toString()},\n\n }\n )\n .pipe(catchError(this.gralService.handleError));\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { User } from 'src/app/shared/model/user';\nimport { GeneralService } from 'src/app/shared/service/general.service';\nimport { environment } from 'src/environments/environment';\nimport { Feed } from 'src/app/shared/model/feed';\nimport { FeedSubscriptionResponse } from 'src/app/shared/response/feed-subscription.response';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n\n constructor(\n private http: HttpClient,\n private gralService: GeneralService\n ) { }\n\n getUser$(): Observable {\n return this.http\n .get(environment.apiDomainUrlGetUser)\n .pipe(catchError(this.gralService.handleError));\n }\n\n subscribeToEPG$(feeds: Feed[]): Observable {\n return this.http\n .put(environment.apiDomainUrlPutUserSubscription, feeds)\n .pipe(catchError(this.gralService.handleError));\n }\n\n registerDownloadedFile(formData: FormData): Observable {\n return this.http.post(environment.apiDomainUrlPostUserFileDownloaded, formData);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from '../dialogs/confirm-dialog/confirm-dialog.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UtilService {\n\n constructor( private matDialog: MatDialog) { }\n\n openConfirmDialog(datos:{\n title?: string,\n text?: string\n count?: number,\n } )\n {\n return this.matDialog.open(ConfirmDialogComponent, {\n minWidth: '35vw',\n disableClose: true,\n data:datos,\n autoFocus: false,\n panelClass: 'confirm-dialog-container'\n });\n }\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs/internal/Observable';\nimport { environment } from 'src/environments/environment';\nimport { Feeds } from '../model/visual-logs-model/feeds';\nimport { FileProcess } from '../model/visual-logs-model/files';\nimport { Process } from '../model/visual-logs-model/process';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class VisualLogsService {\n\n constructor(private http: HttpClient) { \n //httpClient\n //activar o manejar el tema de CORS en spring \n }\n\n traerProcesos(){\n\n return this.http.get(environment.apiDatacityUrlGetProcess);\n //return this.http.get('http://10.161.103.21:8080/getprocess');\n\n }\n\n traerArchivosId(id:number){\n\n return this.http.get(environment.apiDatacityUrlGetFiles + id);\n //return this.http.get('http://10.161.103.21:8080/getfiles/byid_process/'+ id);\n\n }\n\n traerArchivosStatus(){\n\n return this.http.get(environment.apiDatacityUrlGetStatus);\n //return this.http.get('http://10.161.103.21:8080/getfiles');\n\n }\n\n traerArchivosFiltered(feed: string, status: string, startDate: string, endDate: string, id_process: number): Observable {\n var params = new HttpParams();\n\n if (id_process)\n params = params.append('id_process', id_process+\"\");\n if (feed)\n params = params.append('feed', feed);\n if (status){\n //console.log(status)\n params = params.append('status', status);}\n if (startDate && endDate){\n console.log(startDate);\n console.log(endDate);\n params = params.append('startDate', startDate);\n params = params.append('endDate', endDate);\n }\n // console.log(params)\n\n //return this.http.get('http://localhost:8080/getfiltered');\n //return this.http.get('http://10.161.103.21:8080/getfiles');\n return this.http.get(environment.apiDatacityUrlGetFiltered , {params,});\n }\n \n traerLogs(id:number){\n\n return this.http.get(environment.apiDatacityUrlGetLogs + id);\n //return this.http.get('http://10.161.103.21:8080/getlogs/byid_file/'+ id);\n\n }\n\n traerFeeds(){\n\n return this.http.get(environment.apiDatacityUrlGetFeeds);\n //return this.http.get('http://10.161.103.21:8080/getfeeds');\n\n }\n\n\n}\n","/**\n * Helper con funcionalidades comunes\n * para el manejo de Arrays\n *\n * author gamartinez\n *\n */\nexport class ArrayHelper {\n\n /**\n * Ordena el array pasado por parametro,\n * por el campo del mismo pasado por parametro\n *\n * param list\n * param nameField\n */\n public static orderBy(list: Array, nameField: string): void {\n if (this.validateParams(list, nameField)) {\n return;\n }\n list.sort((a, b) => {\n if (a[nameField] > b[nameField]) {\n return 1;\n }\n if (a[nameField] < b[nameField]) {\n return -1;\n }\n return 0;\n });\n }\n\n /**\n * Verifica si el elemento pasado por parametro,\n * esta dentro del array pasado por parametro\n * (similar a array.includes() pero con objetos)\n *\n * param list\n * param element\n */\n public static contains(list: Array, element: any): boolean {\n if (this.validateParams(list, element)) {\n return;\n }\n let i = list.length;\n while (i--) {\n if (list[i].id === element.id) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Valida que los parametros recibidos no sean nulos o indefinidos\n *\n * param list\n * param field\n */\n private static validateParams(list: Array, field: any): boolean {\n if (!list || !field) {\n console.error('No puede recibir un parametro undefined');\n return true;\n }\n return false;\n }\n\n}\n","import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot, ActivatedRoute } from '@angular/router';\nimport { AuthenticationService } from '../service/authentication.service';\nimport { Injectable } from '@angular/core';\nimport { AuthorizationService } from '../service/authorization.service';\nimport { UrlService } from '../service/url.service';\n\n/**\n * Evita que los usuarios no autenticados, accedan a rutas restringidas\n */\n@Injectable({ providedIn: 'root' })\nexport class EpgGuard implements CanActivate {\n\n constructor(\n private router: Router,\n private authenticationService: AuthenticationService,\n private authorizationService: AuthorizationService,\n private urlService: UrlService\n ) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n const currentUser = this.authenticationService.currentUserValue;\n if (currentUser) {\n const isAuthorized = this.authorizationService.isAuthorized(route.data.allowedRoles);\n if (!isAuthorized) {\n this.router.navigate(['/access_denied']);\n }\n return true;\n }\n // no ha iniciado session, guarda URL, redirije al login\n let url:string;\n url = state.url;\n if(url.includes(\"?\")){\n url = url.slice(0,url.indexOf(\"?\"));\n }\n \n this.urlService.setRedirectUrl(url, route.queryParams);\n this.router.navigate(['/login']);\n return false;\n }\n\n}\n","import { MatPaginatorIntl } from '@angular/material/paginator';\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Subscription } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomPaginator extends MatPaginatorIntl implements OnDestroy {\n\n private translateSubscription: Subscription;\n\n constructor(private translateService: TranslateService) {\n super();\n this.getTranslations();\n }\n\n ngOnDestroy(): void {\n this.translateSubscription.unsubscribe();\n }\n\n getTranslations() {\n this.translateSubscription = this.translateService.stream([\n 'paginator.itemsPerPage',\n 'paginator.firstPage',\n 'paginator.previousPage',\n 'paginator.nextPage',\n 'paginator.lastPage'\n ]).subscribe(translation => {\n this.itemsPerPageLabel = translation['paginator.itemsPerPage'];\n this.firstPageLabel = translation['paginator.firstPage'];\n this.previousPageLabel = translation['paginator.previousPage'];\n this.nextPageLabel = translation['paginator.nextPage'];\n this.lastPageLabel = translation['paginator.lastPage'];\n this.changes.next();\n });\n }\n\n getRangeLabel = function(page: number, pageSize: number, length: number) {\n if (length === 0 || pageSize === 0) {\n return '0 de ' + length;\n }\n length = Math.max(length, 0);\n const startIndex = page * pageSize;\n\n const endIndex = startIndex < length ?\n Math.min(startIndex + pageSize, length) :\n startIndex + pageSize;\n\n return this.translateService.instant(\n 'paginator.range', {\n startIndex,\n endIndex,\n length\n }\n );\n };\n\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { AuthenticationService } from '../service/authentication.service';\n\n/**\n * Intercepta las respuestas http de la API para verificar si hubo algun error\n */\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n\n private readonly UNAUTHORIZED: number = 401;\n private readonly SERVER_ERROR: number = 500;\n\n constructor(private authenticationService: AuthenticationService) {}\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(request)\n .pipe(catchError(err => {\n var errorTranslated = \"Error\";\n if (err.status === this.UNAUTHORIZED) {\n this.authenticationService.logout();\n errorTranslated = err.error.error_description;\n } else if (err.status === this.SERVER_ERROR) {\n errorTranslated = \"Server failed to execute request\";\n } else {\n errorTranslated = err.status; //err.message;\n }\n //console.error(\"interceptor error = \", err);\n //const error = err.error.error_description || err.statusText;\n return throwError(errorTranslated);\n }));\n }\n\n}\n","import { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, BehaviorSubject } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { AuthenticationService } from '../service/authentication.service';\nimport { JwtHelperService } from '@auth0/angular-jwt';\nimport { switchMap, map, filter, take } from 'rxjs/operators';\nimport { User } from '../model/user';\n\n\n/**\n * Intercepta las solicitudes http, para agregar al header:\n * > Accept-Language : locale\n * > Content-Type : application/json (solo si el usuario esta logueado)\n * > Authorization : access_token JWT (solo si el usuario esta logueado)\n */\n@Injectable()\nexport class JwtInterceptor implements HttpInterceptor {\n\n private isRefreshing = false;\n private refreshTokenSubject$: BehaviorSubject = new BehaviorSubject(null);\n private contentType: string;\n private contentTypeSplitted: string;\n\n constructor(\n private authenticationService: AuthenticationService,\n private jwtHelperService: JwtHelperService\n ) { }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n const currentUser = this.authenticationService.currentUserValue;\n request = request.clone({\n setHeaders: {\n 'Accept-Language': sessionStorage.getItem('locale')\n }\n });\n\n if (request.url === environment.apiSecurityUrl) {\n request = request.clone({\n setHeaders: {\n Authorization: 'Basic bXljbGllbnQ6c2VjcmV0',\n 'Content-Type': 'application/x-www-form-urlencoded'\n }\n });\n } else if (currentUser && currentUser.accessToken) {\n // Si existe el token lo agregamos al encabezado de la peticion\n const isTokenExpired = this.jwtHelperService.isTokenExpired(currentUser.accessToken);\n if (isTokenExpired) {\n // Si el token expiro obtenemos un nuevo token\n return this.refreshToken(request, next, currentUser);\n } else {\n request = this.addAccessToken(request, currentUser.accessToken);\n }\n }\n return next.handle(request);\n }\n\n /**\n * Pide un nuevo access_token al servicio de Seguridad\n *\n * @param request request con token vencido\n * @param next puntero a la siguiente funcion que maneje la peticion\n * @param currentUser usuario de la sesion actual\n */\n private refreshToken(\n request: HttpRequest,\n next: HttpHandler,\n currentUser: User) {\n\n if (this.isRefreshing) {\n return this.refreshTokenSubject$\n .pipe(filter(token => token != null),\n take(1),\n switchMap(newAccessToken => next.handle(this.addAccessToken(request, newAccessToken))));\n } else {\n this.isRefreshing = true;\n this.refreshTokenSubject$.next(null);\n return this.authenticationService\n .loginRefreshToken$(currentUser.refreshToken)\n .pipe(switchMap(() => {\n this.isRefreshing = false;\n this.refreshTokenSubject$.next(currentUser.accessToken);\n return next.handle(this.addAccessToken(request, currentUser.accessToken));\n }));\n }\n }\n\n /**\n * Agrega el access_token al Header\n *\n * @param request solicitud http\n * @param accessToken token JWT\n */\n // private addAccessToken(request: HttpRequest, accessToken: string) {\n // return request.clone({\n // setHeaders: {\n // Authorization: `Bearer ${accessToken}`,\n // 'Content-Type': 'application/json'\n // }\n // });\n // }\n\n private addAccessToken(request: HttpRequest, accessToken: string) {\n if (request.body instanceof FormData) {\n return request.clone({\n setHeaders: {\n Authorization: `Bearer ${accessToken}`\n }\n });\n }\n return request.clone({\n setHeaders: {\n Authorization: `Bearer ${accessToken}`,\n 'Content-Type': 'application/json'\n }\n });\n }\n}\n","import { AbstractControl, ValidationErrors, ValidatorFn } from '@angular/forms';\n\nexport function uniqueCodeValidator(existingCodes: string[]): ValidatorFn {\n return (control: AbstractControl): ValidationErrors | null => {\n if (!existingCodes || !Array.isArray(existingCodes)) {\n return null;\n }\n\n // Normaliza el valor introducido y los existentes a mayúsculas\n const newCode = control.value?.trim().toUpperCase();\n const isDuplicate = existingCodes.some(code => code.toUpperCase() === newCode);\n\n return isDuplicate ? { duplicateCode: true } : null;\n };\n}\n","/************************************************\n * Ambientes definidos por variables de entorno *\n ***********************************************/\n\n// tslint:disable-next-line: no-string-literal\nconst URL_BUCKET = window['env']['url_bucket'];\n// tslint:disable-next-line: no-string-literal\nconst URL_API = window['env']['url_api'];\n\nconst URL_MONTHLY = window['env']['url_monthly'];\n// tslint:disable-next-line: no-string-literal\nconst PROD = window['env']['prod'];\n\nexport const environment = {\n production: PROD,\n\n /** Session Timeout en segundos */\n timeout: 900, // 15 minutos\n timeoutPopup: 30, // 30 segundos\n\n /** URIs Bucket S3 */\n bucketUrlFeeds: `${URL_BUCKET}/images`,\n bucketUrlImages: `${URL_BUCKET}/images/`,\n bucketUrlImagesNetworks: `${URL_BUCKET}/images/networks/`,\n bucketUrlImagesNetworksLogo: `${URL_BUCKET}/images/networks/logos/`,\n bucketUrlImagesNewsLogo: `${URL_BUCKET}/images/news/`,\n\n /** URIs Cloud-EPG Service */\n apiEpgUrlDownload: `${URL_API}/epg/shows/download/`,\n apiEpgUrlLogVersion: `${URL_API}/epg/shows/logversion/`,\n apiEpgUrlLegalDownload: `${URL_API}/epg/shows/legal/download/`,\n\n /** URIs Cloud-Domain Service */\n apiDomainGetCategories: `${URL_API}/domain/categories`,\n apiDomainGetLanguages: `${URL_API}/domain/languages`,\n apiDomainUrlGetModules: `${URL_API}/domain/modules`,\n apiDomainUrlGetConfigurations: `${URL_API}/domain/configurations/module/`,\n apiDomainUrlPostConfigurations: `${URL_API}/domain/configurations/settings`,\n apiDomainUrlGetConfigAlias: `${URL_API}/domain/configurations/alias`,\n apiDomainUrlGetNetwork: `${URL_API}/domain/networks`,\n apiDomainUrlPostNetworkSubscription: `${URL_API}/domain/subscriptionNetwork/subscribe`,\n apiDomainUrlGetNetworkAncine: `${URL_API}/domain/networks/ancine`,\n apiDomainUrlGetFeed: `${URL_API}/domain/feeds`,\n apiDomainUrlGetUser: `${URL_API}/domain/users/data`,\n apiDomainUrlGetRoles: `${URL_API}/domain/roles`,\n apiDomainUrlGetUserProfiles: `${URL_API}/domain/userProfiles`,\n apiDomainUrlPutUserSubscription: `${URL_API}/domain/users/subscription`,\n apiDomainUrlPostUserFileDownloaded: `${URL_API}/domain/users/register/downloaded/file`,\n apiDomainUrlGetMonthly: `${URL_API}/domain/monthly`,\n apiDomainFileExtensionConfigurationAll: `${URL_API}/domain/fileextensionconfigurations/getall/`,\n apiDomainFileExtensionConfigurationByIdConfiguration: `${URL_API}/domain/fileextensionconfigurations/getallbyconfigurationid/`,\n apiDomainFileExtensionConfigurationByFileType: `${URL_API}/domain/fileextensionconfigurations/getall/byfiletype/`,\n apiDomainFileConfigurationAll: `${URL_API}/domain/fileconfigurations/getall/`,\n apiDomainFileConfigurationByFileType: `${URL_API}/domain/fileconfigurations/getallbyfiletype/`,\n apiDomainFileConfigurationByFileTypeEnabled: `${URL_API}/domain/fileconfigurations/getallbyfiletypeenabled/`,\n apiDomainUrlNewsletters: `${URL_API}/domain/newsletter`,\n\n apiDomainGetNewsForCarousel: `${URL_API}/domain/news/getall/forcarousel/`,\n\n /** URIs MonthlyGrids */\n apiMonthlyUrlDownload: `${URL_API}/monthly/monthlyshowsdownload`,\n apiMonthlyUrlUpload: `${URL_API}/monthly/monthlyshowsupload`,\n apiMonthlyUrlSendFiles: `${URL_API}/epg/tapkitFrontEnd/monthly/uploadFiles`,\n\n /** URIs DailyGrids */\n apiDailyGridsUrlDownload: `${URL_API}/daily/shows.xls`,\n\n /** URIs DatacityLogs */\n apiDatacityUrlGetProcess: `${URL_API}/datacity/getprocess`,\n apiDatacityUrlGetFiles: `${URL_API}/datacity/getfiles/byid_process/`,\n apiDatacityUrlGetStatus: `${URL_API}/datacity/getfilesstatus`,\n apiDatacityUrlGetFiltered: `${URL_API}/datacity/getfiltered`,\n apiDatacityUrlGetLogs: `${URL_API}/datacity/getlogs/byid_file/`,\n apiDatacityUrlGetFeeds: `${URL_API}/datacity/getfeeds`,\n\n /** URIs Ancine */\n apiAncineGridsFileGetFileDate: `${URL_API}/domain/ancine/getfile/network`,\n apiAncineGridsFileGetDownloadedFile: `${URL_API}/epg/tapkitFrontEnd/ancine/downloadfile`,\n apiAncineGridsFileGetDownloadedFiles: `${URL_API}/epg/tapkitFrontEnd/ancine/downloadfiles`,\n\n /** URIs NetworkEpg */\n apiNetworEpgGetAllNetwork: `${URL_API}/domain/networkepg/getallnetwork`,\n apiNetworkEpgGetActiveNetworks: `${URL_API}/domain/networkepg/getactivenetworks`,\n apiDomainNetworkEpgSave: `${URL_API}/domain/networkepg/save`,\n\n /** URIs NetworkTab */\n apiNetworEpgGetAllNetworkTab: `${URL_API}/domain/networktab/getallnetworktab`,\n /** URIs NetworkGrids */\n apiNetworEpgGetAllNetworkGrids: `${URL_API}/domain/networkgrids/getfilesfilteredbymonths`,\n apiNetworEpgGetAllEpakFiles: `${URL_API}/domain/networkgrids/getepakfiles`,\n apiNetworEpgGetUpdates: `${URL_API}/domain/networkgrids/updates`,\n apiNetworEpgGetAllNetworkLocalBreaksByDate: `${URL_API}/domain/networkgrids/getlocalbreaksfilesfilteredbydate`,\n apiNetworksGridsFileGetDownloadedFiles: `${URL_API}/epg/tapkitFrontEnd/networksepg/downloadfiles`,\n /** URIs NetworkContacts */\n apiNetworksContactsGetAllNetworkContacts: `${URL_API}/domain/networkcontacts/getallcontacts`,\n apiNetworksContactsGetAllContactTypes: `${URL_API}/domain//contactType/getalltypes`,\n /** URIs Network LocalBreaks */\n apiNetworksLocalBreaksDownloadLocalBreaksFile: `${URL_API}/epg/tapkitLocalBreaks/downloadfile`,\n /** URIs Network Upload */\n apiDomainPostNetworkFile: `${URL_API}/domain/networks/upload`,\n apiDomainGetNetworkFilesByUser: `${URL_API}/domain/tapkitfiles/getfiles/byusername`,\n apiDomainDeleteFile: `${URL_API}/domain/tapkitfiles/deletefile`,\n apiEpgDeleteFileFromS3: `${URL_API}/epg/tapkitFrontEnd/networkUpload/deleteFile`,\n apiEpgSaveFileToS3: `${URL_API}/epg/tapkitFrontEnd/`,\n\n\n apiEpgSaveNetworkFileToS3: `${URL_API}/epg/tapkitFrontEnd/networkUpload/saveFiles`,\n\n\n\n /** URIs EpgNews */\n apiEpgGetAllNews: `${URL_API}/domain/news/getall`,\n apiEpgGetAllNewsByNetworkId: `${URL_API}/domain/news/getall/bynetworkid`,\n apiEpgUploadNewsFiles: `${URL_API}/epg/tapkitFrontEnd/news/uploadFiles`,\n apiEpgDeleteNewsImageFromS3: `${URL_API}/epg/tapkitFrontEnd/news/deleteImage`,\n apiEpgUploadNewsDB: `${URL_API}/domain/news/uploadDB`,\n apiEpgDeleteNewsDB: `${URL_API}/domain/news/delete/byid`,\n // apiEpgUpdateNewsDB: `${URL_API}/domain/news/updateDB`,\n /** URIs Cloud-Security Service */\n apiSecurityUrl: `${URL_API}/security/oauth/token`,\n apiSecurityUrlResetPassword: `${URL_API}/security/users/reset`,\n apiSecurityUrlRegister: `${URL_API}/security/users/save`,\n apiSecurityUrlChangePassword: `${URL_API}/security/users/changePassword`,\n apiSecurityUrlRegisterMailValidation: `${URL_API}/security/email/validate`,\n apiSecurityUrlCategory: `${URL_API}/security/select/categories`,\n apiSecurityUrlCountry: `${URL_API}/security/select/countries`,\n apiSecurityUrlLanguage: `${URL_API}/security/select/languages`,\n // apiSecurityUrlGetAllActiveContacts: `${URL_API}/security/contact/getAllActive`,\n apiSecurityUrlContact: `${URL_API}/security/contact`,\n apiSecurityUrlAddContact: `${URL_API}/security/contact/add`,\n // apiSecurityUrlDeleteContact: `${URL_API}/security/contact/delete`,\n // apiSecurityUrlDeleteContactList: `${URL_API}/security/contact/deleteList`,\n apiSecurityUrlEditContact: `${URL_API}/security/contact/edit`\n\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","\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()\n .bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}