{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app.component.html","webpack:///src/app/epg/admin-configurations/admin-configurations.component.html","webpack:///src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/configuration-contacts.component.html","webpack:///src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/contact-dialog/contact-dialog.component.html","webpack:///src/app/epg/admin-configurations/configuration-networks/configuration-networks.component.html","webpack:///src/app/epg/admin-configurations/configuration-networks/create-network/create-network.component.html","webpack:///src/app/epg/admin-configurations/configuration-networks/edit-network/delete-network-dialog/delete-network-dialog.component.html","webpack:///src/app/epg/admin-configurations/configuration-networks/edit-network/edit-network.component.html","webpack:///src/app/epg/admin-configurations/configuration-register/category/category-dialog/category-dialog.component.html","webpack:///src/app/epg/admin-configurations/configuration-register/category/category.component.html","webpack:///src/app/epg/admin-configurations/configuration-register/configuration-register.component.html","webpack:///src/app/epg/admin-configurations/configuration-register/country/country-dialog/country-dialog.component.html","webpack:///src/app/epg/admin-configurations/configuration-register/country/country.component.html","webpack:///src/app/epg/admin-configurations/configuration-register/language/language-dialog/language-dialog.component.html","webpack:///src/app/epg/admin-configurations/configuration-register/language/language.component.html","webpack:///src/app/epg/ancine/ancine-feed-grid/ancine-feed-grid.component.html","webpack:///src/app/epg/ancine/ancine-feed-grid/utils-dialogs/ancine-utils-dialogs-component/ancine-utils-dialogs-component.component.html","webpack:///src/app/epg/ancine/ancine.component.html","webpack:///src/app/epg/configuration-grid/config-confirm/config-confirm.component.html","webpack:///src/app/epg/configuration-grid/config-confirm/dialog-config/dialog-config.component.html","webpack:///src/app/epg/configuration-grid/config-feed-grid/config-feed-grid.component.html","webpack:///src/app/epg/configuration-grid/configuration-grid.component.html","webpack:///src/app/epg/configuration-grid/field-selector/field-selector.component.html","webpack:///src/app/epg/configuration-grid/module-select/module-select.component.html","webpack:///src/app/epg/epg-subscription/epg-subscription.component.html","webpack:///src/app/epg/epg-subscription/feed-confirm/dialog-confirm/dialog-confirm.component.html","webpack:///src/app/epg/epg-subscription/feed-confirm/feed-confirm.component.html","webpack:///src/app/epg/epg-subscription/feed-grid/feed-grid.component.html","webpack:///src/app/epg/epg-subscription/feed-search/feed-search.component.html","webpack:///src/app/epg/epg.component.html","webpack:///src/app/epg/legal/feed-download/feed-download.component.html","webpack:///src/app/epg/legal/filter-report/filter-report.component.html","webpack:///src/app/epg/legal/legal-feed-grid/legal-feed-grid.component.html","webpack:///src/app/epg/legal/legal-feed-search/legal-feed-search.component.html","webpack:///src/app/epg/legal/legal.component.html","webpack:///src/app/epg/monthly-grids/monthly/monthly.component.html","webpack:///src/app/epg/monthly-grids/monthly/utils-dialog/monthly-utils-dialogs-component-component/monthly-utils-dialogs-component-component.component.html","webpack:///src/app/epg/network-subscription/network-subscription.component.html","webpack:///src/app/epg/networks-upload/networks-upload.component.html","webpack:///src/app/epg/networks-upload/utils-dialog/networks-upload-utils-dialog/networks-upload-utils-dialog.component.html","webpack:///src/app/epg/networks/networks/networks.component.html","webpack:///src/app/epg/networks/networks/utils-dialog/feeds-utils-dialog/feeds-utils-dialog.component.html","webpack:///src/app/epg/networks/networks/utils-dialog/network-utils-dialog/network-utils-dialog.component.html","webpack:///src/app/epg/networks/networks/utils-dialog/websites-utils-dialog/websites-utils-dialog.component.html","webpack:///src/app/epg/news/news/news.component.html","webpack:///src/app/epg/news/news/utils-dialog/news-dialogs/news-dialogs.component.html","webpack:///src/app/epg/newsletters/newsletter-draft-table/newsletter-draft-table.component.html","webpack:///src/app/epg/newsletters/newsletter-editor/newsletter-editor.component.html","webpack:///src/app/epg/newsletters/newsletter-sent-table/newsletter-sent-table.component.html","webpack:///src/app/epg/newsletters/newsletters.component.html","webpack:///src/app/epg/profile/account/account.component.html","webpack:///src/app/epg/profile/change-password/change-password.component.html","webpack:///src/app/epg/profile/personal-data/personal-data.component.html","webpack:///src/app/epg/profile/profile.component.html","webpack:///src/app/epg/users/users-dialog/users-dialog.component.html","webpack:///src/app/epg/users/users.component.html","webpack:///src/app/epg/visual-logs/utils-dialogs/visual-logs-dialogs.component.html","webpack:///src/app/epg/visual-logs/visual-logs.component.html","webpack:///src/app/login/access-denied/access-denied.component.html","webpack:///src/app/login/dialog-timeout/dialog-timeout.component.html","webpack:///src/app/login/login/login.component.html","webpack:///src/app/login/password-recovery/password-recovery.component.html","webpack:///src/app/register/register/register.component.html","webpack:///src/app/register/terms/terms.component.html","webpack:///src/app/shared/alert/alert.component.html","webpack:///src/app/shared/dialogs/confirm-dialog/confirm-dialog.component.html","webpack:///src/app/shared/footer/footer.component.html","webpack:///src/app/shared/header/header.component.html","webpack:///src/app/shared/network-list/network-list.component.html","webpack:///src/app/shared/not-found/not-found.component.html","webpack:///src/app/app.component.css","webpack:///src/app/app.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/app.routing.module.ts","webpack:///src/app/epg/admin-configurations/admin-configurations.component.css","webpack:///src/app/epg/admin-configurations/admin-configurations.component.ts","webpack:///src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/configuration-contacts.component.css","webpack:///src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/configuration-contacts.component.ts","webpack:///src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/contact-dialog/contact-dialog.component.css","webpack:///src/app/epg/admin-configurations/configuration-contacts/configuration-contacts/contact-dialog/contact-dialog.component.ts","webpack:///src/app/epg/admin-configurations/configuration-networks/configuration-networks.component.css","webpack:///src/app/epg/admin-configurations/configuration-networks/configuration-networks.component.ts","webpack:///src/app/epg/admin-configurations/configuration-networks/create-network/create-network.component.scss","webpack:///src/app/epg/admin-configurations/configuration-networks/create-network/create-network.component.ts","webpack:///src/app/epg/admin-configurations/configuration-networks/edit-network/delete-network-dialog/delete-network-dialog.component.css","webpack:///src/app/epg/admin-configurations/configuration-networks/edit-network/delete-network-dialog/delete-network-dialog.component.ts","webpack:///src/app/epg/admin-configurations/configuration-networks/edit-network/edit-network.component.scss","webpack:///src/app/epg/admin-configurations/configuration-networks/edit-network/edit-network.component.ts","webpack:///src/app/epg/admin-configurations/configuration-register/category/category-dialog/category-dialog.component.css","webpack:///src/app/epg/admin-configurations/configuration-register/category/category-dialog/category-dialog.component.ts","webpack:///src/app/epg/admin-configurations/configuration-register/category/category.component.css","webpack:///src/app/epg/admin-configurations/configuration-register/category/category.component.ts","webpack:///src/app/epg/admin-configurations/configuration-register/configuration-register.component.scss","webpack:///src/app/epg/admin-configurations/configuration-register/configuration-register.component.ts","webpack:///src/app/epg/admin-configurations/configuration-register/country/country-dialog/country-dialog.component.css","webpack:///src/app/epg/admin-configurations/configuration-register/country/country-dialog/country-dialog.component.ts","webpack:///src/app/epg/admin-configurations/configuration-register/country/country.component.css","webpack:///src/app/epg/admin-configurations/configuration-register/country/country.component.ts","webpack:///src/app/epg/admin-configurations/configuration-register/language/language-dialog/language-dialog.component.css","webpack:///src/app/epg/admin-configurations/configuration-register/language/language-dialog/language-dialog.component.ts","webpack:///src/app/epg/admin-configurations/configuration-register/language/language.component.css","webpack:///src/app/epg/admin-configurations/configuration-register/language/language.component.ts","webpack:///src/app/epg/ancine/ancine-feed-grid/ancine-feed-grid.component.scss","webpack:///src/app/epg/ancine/ancine-feed-grid/ancine-feed-grid.component.ts","webpack:///src/app/epg/ancine/ancine-feed-grid/utils-dialogs/ancine-utils-dialogs-component/ancine-utils-dialogs-component.component.scss","webpack:///src/app/epg/ancine/ancine-feed-grid/utils-dialogs/ancine-utils-dialogs-component/ancine-utils-dialogs-component.component.ts","webpack:///src/app/epg/ancine/ancine.component.scss","webpack:///src/app/epg/ancine/ancine.component.ts","webpack:///src/app/epg/configuration-grid/config-confirm/config-confirm.component.css","webpack:///src/app/epg/configuration-grid/config-confirm/config-confirm.component.ts","webpack:///src/app/epg/configuration-grid/config-confirm/dialog-config/dialog-config.component.css","webpack:///src/app/epg/configuration-grid/config-confirm/dialog-config/dialog-config.component.ts","webpack:///src/app/epg/configuration-grid/config-feed-grid/config-feed-grid.component.css","webpack:///src/app/epg/configuration-grid/config-feed-grid/config-feed-grid.component.ts","webpack:///src/app/epg/configuration-grid/configuration-grid.component.css","webpack:///src/app/epg/configuration-grid/configuration-grid.component.ts","webpack:///src/app/epg/configuration-grid/field-selector/field-selector.component.css","webpack:///src/app/epg/configuration-grid/field-selector/field-selector.component.ts","webpack:///src/app/epg/configuration-grid/module-select/module-select.component.css","webpack:///src/app/epg/configuration-grid/module-select/module-select.component.ts","webpack:///src/app/epg/epg-routing.module.ts","webpack:///src/app/epg/epg-subscription/epg-subscription.component.css","webpack:///src/app/epg/epg-subscription/epg-subscription.component.ts","webpack:///src/app/epg/epg-subscription/feed-confirm/dialog-confirm/dialog-confirm.component.css","webpack:///src/app/epg/epg-subscription/feed-confirm/dialog-confirm/dialog-confirm.component.ts","webpack:///src/app/epg/epg-subscription/feed-confirm/feed-confirm.component.css","webpack:///src/app/epg/epg-subscription/feed-confirm/feed-confirm.component.ts","webpack:///src/app/epg/epg-subscription/feed-grid/feed-grid.component.css","webpack:///src/app/epg/epg-subscription/feed-grid/feed-grid.component.ts","webpack:///src/app/epg/epg-subscription/feed-search/feed-search.component.css","webpack:///src/app/epg/epg-subscription/feed-search/feed-search.component.ts","webpack:///src/app/epg/epg.component.ts","webpack:///src/app/epg/epg.module.ts","webpack:///src/app/epg/legal/feed-download/feed-download.component.css","webpack:///src/app/epg/legal/feed-download/feed-download.component.ts","webpack:///src/app/epg/legal/filter-report/filter-report.component.css","webpack:///src/app/epg/legal/filter-report/filter-report.component.ts","webpack:///src/app/epg/legal/legal-feed-grid/legal-feed-grid.component.css","webpack:///src/app/epg/legal/legal-feed-grid/legal-feed-grid.component.ts","webpack:///src/app/epg/legal/legal-feed-search/legal-feed-search.component.css","webpack:///src/app/epg/legal/legal-feed-search/legal-feed-search.component.ts","webpack:///src/app/epg/legal/legal.component.css","webpack:///src/app/epg/legal/legal.component.ts","webpack:///src/app/epg/monthly-grids/monthly/monthly.component.scss","webpack:///src/app/epg/monthly-grids/monthly/monthly.component.ts","webpack:///src/app/epg/monthly-grids/monthly/utils-dialog/monthly-utils-dialogs-component-component/monthly-utils-dialogs-component-component.component.scss","webpack:///src/app/epg/monthly-grids/monthly/utils-dialog/monthly-utils-dialogs-component-component/monthly-utils-dialogs-component-component.component.ts","webpack:///src/app/epg/network-subscription/network-subscription.component.scss","webpack:///src/app/epg/network-subscription/network-subscription.component.ts","webpack:///src/app/epg/networks-upload/networks-upload.component.scss","webpack:///src/app/epg/networks-upload/networks-upload.component.ts","webpack:///src/app/epg/networks-upload/utils-dialog/networks-upload-utils-dialog/networks-upload-utils-dialog.component.scss","webpack:///src/app/epg/networks-upload/utils-dialog/networks-upload-utils-dialog/networks-upload-utils-dialog.component.ts","webpack:///src/app/epg/networks/networks/networks.component.scss","webpack:///src/app/epg/networks/networks/networks.component.ts","webpack:///src/app/epg/networks/networks/utils-dialog/feeds-utils-dialog/feeds-utils-dialog.component.scss","webpack:///src/app/epg/networks/networks/utils-dialog/feeds-utils-dialog/feeds-utils-dialog.component.ts","webpack:///src/app/epg/networks/networks/utils-dialog/network-utils-dialog/network-utils-dialog.component.scss","webpack:///src/app/epg/networks/networks/utils-dialog/network-utils-dialog/network-utils-dialog.component.ts","webpack:///src/app/epg/networks/networks/utils-dialog/websites-utils-dialog/websites-utils-dialog.component.scss","webpack:///src/app/epg/networks/networks/utils-dialog/websites-utils-dialog/websites-utils-dialog.component.ts","webpack:///src/app/epg/news/news/news.component.scss","webpack:///src/app/epg/news/news/news.component.ts","webpack:///src/app/epg/news/news/utils-dialog/news-dialogs/news-dialogs.component.scss","webpack:///src/app/epg/news/news/utils-dialog/news-dialogs/news-dialogs.component.ts","webpack:///src/app/epg/newsletters/newsletter-draft-table/newsletter-draft-table.component.scss","webpack:///src/app/epg/newsletters/newsletter-draft-table/newsletter-draft-table.component.ts","webpack:///src/app/epg/newsletters/newsletter-editor/newsletter-editor.component.css","webpack:///src/app/epg/newsletters/newsletter-editor/newsletter-editor.component.ts","webpack:///src/app/epg/newsletters/newsletter-sent-table/newsletter-sent-table.component.scss","webpack:///src/app/epg/newsletters/newsletter-sent-table/newsletter-sent-table.component.ts","webpack:///src/app/epg/newsletters/newsletters.component.scss","webpack:///src/app/epg/newsletters/newsletters.component.ts","webpack:///src/app/epg/profile/account/account.component.scss","webpack:///src/app/epg/profile/account/account.component.ts","webpack:///src/app/epg/profile/change-password/change-password.component.scss","webpack:///src/app/epg/profile/change-password/change-password.component.ts","webpack:///src/app/epg/profile/personal-data/personal-data.component.scss","webpack:///src/app/epg/profile/personal-data/personal-data.component.ts","webpack:///src/app/epg/profile/profile.component.scss","webpack:///src/app/epg/profile/profile.component.ts","webpack:///src/app/epg/users/users-dialog/users-dialog.component.scss","webpack:///src/app/epg/users/users-dialog/users-dialog.component.ts","webpack:///src/app/epg/users/users.component.scss","webpack:///src/app/epg/users/users.component.ts","webpack:///src/app/epg/visual-logs/utils-dialogs/visual-logs-dialogs.component.scss","webpack:///src/app/epg/visual-logs/utils-dialogs/visual-logs-dialogs.component.ts","webpack:///src/app/epg/visual-logs/visual-logs.component.scss","webpack:///src/app/epg/visual-logs/visual-logs.component.ts","webpack:///src/app/login/access-denied/access-denied.component.css","webpack:///src/app/login/access-denied/access-denied.component.ts","webpack:///src/app/login/dialog-timeout/dialog-timeout.component.css","webpack:///src/app/login/dialog-timeout/dialog-timeout.component.ts","webpack:///src/app/login/login-routing.module.ts","webpack:///src/app/login/login.module.ts","webpack:///src/app/login/login/login.component.css","webpack:///src/app/login/login/login.component.ts","webpack:///src/app/login/password-recovery/password-recovery.component.css","webpack:///src/app/login/password-recovery/password-recovery.component.ts","webpack:///src/app/login/redirect-authentication/redirect-authentication.component.ts","webpack:///src/app/register/register-routing.module.ts","webpack:///src/app/register/register.module.ts","webpack:///src/app/register/register/register.component.css","webpack:///src/app/register/register/register.component.ts","webpack:///src/app/register/terms/terms.component.css","webpack:///src/app/register/terms/terms.component.ts","webpack:///src/app/shared/alert/alert.component.css","webpack:///src/app/shared/alert/alert.component.ts","webpack:///src/app/shared/constants/country.enum.ts","webpack:///src/app/shared/constants/language.enum.ts","webpack:///src/app/shared/dialogs/confirm-dialog/confirm-dialog.component.css","webpack:///src/app/shared/dialogs/confirm-dialog/confirm-dialog.component.ts","webpack:///src/app/shared/footer/footer.component.css","webpack:///src/app/shared/footer/footer.component.ts","webpack:///src/app/shared/header/header.component.css","webpack:///src/app/shared/header/header.component.ts","webpack:///src/app/shared/model/contactType.ts","webpack:///src/app/shared/model/data-network.ts","webpack:///src/app/shared/model/network-details.ts","webpack:///src/app/shared/model/network-epg-model/network-epg-files-upload.ts","webpack:///src/app/shared/model/network-epg-model/networks-donwload-data.ts","webpack:///src/app/shared/model/news-model/news-upload.ts","webpack:///src/app/shared/model/role.ts","webpack:///src/app/shared/model/user-profile.ts","webpack:///src/app/shared/model/user.ts","webpack:///src/app/shared/network-list/network-list.component.css","webpack:///src/app/shared/network-list/network-list.component.ts","webpack:///src/app/shared/not-found/not-found.component.css","webpack:///src/app/shared/not-found/not-found.component.ts","webpack:///src/app/shared/request/configurations.request.ts","webpack:///src/app/shared/request/newsletter.request.ts","webpack:///src/app/shared/response/newsletter.response.ts","webpack:///src/app/shared/service/alert.service.ts","webpack:///src/app/shared/service/ancine-grids.service.ts","webpack:///src/app/shared/service/authentication.service.ts","webpack:///src/app/shared/service/authorization.service.ts","webpack:///src/app/shared/service/category.service.ts","webpack:///src/app/shared/service/config.service.ts","webpack:///src/app/shared/service/contact.service.ts","webpack:///src/app/shared/service/country.service.ts","webpack:///src/app/shared/service/epg-data.service.ts","webpack:///src/app/shared/service/epg-news.service.ts","webpack:///src/app/shared/service/feed.service.ts","webpack:///src/app/shared/service/file-configurations.service.ts","webpack:///src/app/shared/service/file-extensions-configurations.service.ts","webpack:///src/app/shared/service/general.service.ts","webpack:///src/app/shared/service/language.service.ts","webpack:///src/app/shared/service/module.service.ts","webpack:///src/app/shared/service/monthly.service.ts","webpack:///src/app/shared/service/network-contact.service.ts","webpack:///src/app/shared/service/network-dailygrids.service.ts","webpack:///src/app/shared/service/network-data-sharing.service.ts","webpack:///src/app/shared/service/network-epg.service.ts","webpack:///src/app/shared/service/network-grids.service.ts","webpack:///src/app/shared/service/network-localbreaks.service.ts","webpack:///src/app/shared/service/network-tab.service.ts","webpack:///src/app/shared/service/network.service.ts","webpack:///src/app/shared/service/newsletter.service.ts","webpack:///src/app/shared/service/role.service.ts","webpack:///src/app/shared/service/show.service.ts","webpack:///src/app/shared/service/url.service.ts","webpack:///src/app/shared/service/user-profile.service.ts","webpack:///src/app/shared/service/user.service.ts","webpack:///src/app/shared/service/util.service.ts","webpack:///src/app/shared/service/visual-logs.service.ts","webpack:///src/app/shared/utils/array-helper.ts","webpack:///src/app/shared/utils/auth.guard.ts","webpack:///src/app/shared/utils/custom-paginator.ts","webpack:///src/app/shared/utils/error.interceptor.ts","webpack:///src/app/shared/utils/jwt.interceptor.ts","webpack:///src/app/shared/utils/unique-code.validator.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys","Object","AppComponent","dialog","authService","idle","defineSessionTimeout","setIdle","timeout","setTimeout","timeoutPopup","setInterrupts","onIdleEnd","subscribe","watch","onIdleStart","openDialog","onTimeout","dialogRef","close","logout","open","height","width","disableClose","autoFocus","afterClosed","result","selector","template","AppModule","declarations","imports","forRoot","loader","provide","useFactory","HttpLoaderFactory","deps","config","tokenGetter","providers","useClass","useValue","multi","bootstrap","http","sessionStorage","getItem","routes","path","redirectTo","pathMatch","component","loadChildren","m","LoginModule","RegisterModule","EpgModule","AppRoutingModule","AdminConfigurationsComponent","translateService","ConfigurationContactsComponent","contactService","utilService","snackBar","contacts","selectedContacts","displayedColumns","isEditing","dataSource","uniqueTypes","uniqueNetworks","selectedTypes","selectedNetworks","loadContacts","filterPredicate","data","filter","filters","JSON","parse","matchesType","types","length","some","type","contactTypes","includes","matchesNetwork","networks","network","sort","isLoading","getAllActiveContacts","Array","from","Set","reduce","acc","contact","forEach","push","isLoadingDelete","isLoadingAdd","error","console","event","checked","index","indexOf","splice","addContact","updatedContact","updateContact","get","toPromise","textConfirm","buttonConfirm","openConfirmDialog","title","text","selectedContactIds","deleteContactList","duration","panelClass","selected","c","contactForm","reset","selectedContactId","undefined","stringify","value","filterType","applyFilter","ContactDialogComponent","fb","typeOptions","networkOptions","group","name","required","email","zone","getContactTypes","getNetworks","contactTypesIds","mapToIds","networksIds","setValue","log","invalid","contactData","next","response","err","names","options","key","option","find","opt","ConfigurationNetworksComponent","networkService","epgDataService","unsubscription$","loadingNetworks","networks$","style","activateStyle","opacity","clicked","deactivateStyle","selectedNetwork$","selectedNetwork","selectedNetworkCode$","pipe","n","showingAncine","showCreateNetwork","dataNetwork","loadNetworks","nets","getNetworks$","mapperNetworks","add","codeNetwork","isClicked","codeNetworkSubject$","selectedNetworkCode","resetNetworkStyles","complete","CreateNetworkComponent","networkEpgService","newNetwork","nameEn","nameEs","namePt","informationEn","informationEs","informationPt","urlsEn","urlsEs","urlsPt","urlTwitterEn","urlTwitterEs","urlTwitterPt","urlFacebookEn","urlFacebookEs","urlFacebookPt","feedText","feedHorarios","visible","active","activepcm","logo","factSheet","pressKit","feedImage","listNetworks","imageExtensions","defaultLogoUrl","bucketUrlImages","maxWidthLogo","maxHeightLogo","maxWidthLogoRef","maxHeightLogoRef","allowedExtension","updateInProgress","imageMessage","networkImage","networkReflectedImage","imageReflectedMessage","savingInProgress","existingNetworkCodes","isCodesLoaded","networkEpgLogoUpload","networkEpgReflectedLogoUpload","logoUrl","bucketUrlImagesNewsLogo","networkForm","name_en","name_es","name_pt","information_en","information_es","information_pt","url_en","pattern","url_es","url_pt","url_twitter_en","url_twitter_es","url_twitter_pt","url_facebook_en","url_facebook_es","url_facebook_pt","feeds","horarios","stream","translations","mapperToMessages","loadExistingCodes","valid","uploadToS3","networkFile","fileName","toLowerCase","epgUpload","reflectedLogo","uploadFilesToS3","registerInDB","showSnackbar","errorMessage","formValues","toUpperCase","saveNetworkEpg","res","successfulFilesPublicationMessage","formDirective","resetForm","showErrorSnackbar","errorDBMessage","message","action","verticalPosition","selectedFile","target","files","fileExtension","split","pop","reader","FileReader","size","readAsDataURL","onload","img","Image","src","naturalHeight","naturalWidth","networkCode","getAllNetwork","setValidators","updateValueAndValidity","DeleteNetworkDialogComponent","minDate","Date","confirmed","date","deactivationDate","EditNetworkComponent","loadingSelectedNetwork","isAddingContact","bucketUrlImagesNetworksLogo","reflectedLogoUrl","bucketUrlImagesNetworks","updateSelectedNetwork","networkContactForm","typeContacts","array","checkAndLoadSelectedNetwork","patchValue","disable","loadSelectedNetworkData","enable","networkUpdated","reflected","networkName","CategoryDialogComponent","categoryForm","category","newCategory","CategoryComponent","categoryService","categories","loadCategories","getCategories","addCategory","updateCategory","deleteCategory","selectedCategoryId","ConfigurationRegisterComponent","activeSection","section","CountryDialogComponent","countryForm","country","newCountry","CountryComponent","countryService","countries","loadCountries","getCountries","addCountry","updateCountry","deleteCountry","selectedCountryId","LanguageDialogComponent","languageForm","language","newLanguage","LanguageComponent","languageService","languages","loadLanguages","getLanguagesSelect","addLanguage","updateLanguage","deleteLanguage","selectedLanguageId","AncineGridComponent","_service","epgComponent","panelOpenState","ancineNetworksData","selectedFiles","mostrarTab3","tab1","tab2","tab3","countSelected","tabs","filesPublic","filesDaily","filesRestricted","getFileByNetwork","ancineFile","findIndex","file","a","b","channelId","localeCompare","AncineUtilsDialogsComponentComponent","filesLists","descargando","deshabilitar","showErrorMessage","getDownloadedFiles","arrayBuffer","arrayBufferToFile","blob","Blob","item","AncineComponent","ConfigConfirmComponent","alertService","configService","iconRegistry","sanitizer","loadingConfirm","addSvgIcon","bypassSecurityTrustResourceUrl","request","selection","configSelected$","fields","warning","settings","acceptDialog","clear","postConfigurations$","success","DialogConfigComponent","ConfigFeedGridComponent","loadFieldToSelect","paginator","row","emit","toggle","isSelected","feed","ConfigurationGridComponent","feedService","moduleService","loadingAlias","loadingSelected","loadingDatasource","feedsSelected","configAlias$","configAlias","configSelected","configField","loadModules","loadFeedsGrid","getModules$","modules","getFeeds$","mapperFeeds","filterNetworkSetup","codeNetwork$","filterNetwork","getConfigAlias$","aliasList","mapperFieldToSelect","orderBy","getConfigurations$","configs","contains","validateStructure","list1","list2","isValid","field","lastIndex","lastFeedSelected","alias","mapperFieldSelected","trim","filteredData","FieldSelectorComponent","previousContainer","container","previousIndex","currentIndex","ModuleSelectComponent","moduleEmit","moduleCtrl","children","canActivate","allowedRoles","SuperAdmin","Microservices","User","Legal","Ancine","isAncine","Localbreaks","AdminContent","Logs","AdminPress","EpgRoutingModule","EpgSubscriptionComponent","userService","showService","translateButtton","feedsFiltered","filterAllField","updateTableVersion","getUser$","user","updateTableSelected","select","labelButton","isAllSelected","deselectAll","selectAll","getLogVersion$","logVersion","version","charSearch","allSelected","DialogConfirmComponent","FeedConfirmComponent","loadingDownload","alertMessageDownload","downloadByFeed","feedsTotal","feedsCounter","download$","downloadFile","body","getContentDispositionValue","headers","url","window","URL","createObjectURL","document","createElement","setAttribute","appendChild","href","download","click","replace","subscribeToEPG$","FeedGridComponent","FeedSearchComponent","keyupSearch","selectOrDeselectAll","EpgComponent","route","dataUrl","snapshot","firstChild","getNetworksAncine$","entryComponents","FeedDownloadComponent","validateReportMessage","validateRangeMessage","validateParams","selecteds","legalDownload$","reportType","dateFrom","dateTo","FilterReportComponent","reportTypeEmit","dateFromEmit","dateToEmit","MIN_DATE_IN_DAYS","getDate","MAX_DATE_IN_DAYS","START_LEGAL_ID","maxDate","reportTypeCtrl","range","start","end","setDate","reportTypes","startsWith","LegalFeedGridComponent","LegalFeedSearchComponent","LegalComponent","MY_FORMATS","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","MonthlyComponent","monthlyService","fileExtensionsConfigurationsService","fileConfigurationsService","itemLista","feedSelected","filesSelected","extensions","searchTerm","actionGridProgress","newfiles","archivosSeleccionados","subiendoArchivos","errorResponse","getMonthly$","feedtimezoneId","filteredItems","inputDate","month","year","monthReal","toString","clone","format","getAllFilesConfByFileType","monthlyFileConfiguration","getExtensions","processingDownloadMessage","processingPublishMessage","successfulDownloadMessage","successfulPublishMessage","noDataFeedErrorMessage","monthlyErrorMessage","monthlyErrorUploadMessage","monthlySuccessUploadMessage","normalizedMonthAndYear","datepicker","monthly","feedId","filename","language_id","country_id","fileLanguage","downloadMonthlyGrid","manageExcelFile","openSucessSnackBar","openErrorSnackBar","info","publishMonthlyGrid","dataType","binaryData","filePath","downloadLink","getAllFilesExtConfByConfId","monthlyFileExtensionsConfigurations","fileExtensionId","invalidFiles","extension","endsWith","updateFilesSelected","archivo","uploadFilesToBucket","uploadErrors","messages","filterValue","cleanString","str","startsWithFilter","includesFilter","concat","slice","MonthlyUtilsDialogsComponentComponentComponent","filesErrors","NetworkSubscriptionComponent","authenticationService","networkList","periods","networkCrtl","periodCrtl","filteredNetworkList","allNetworksSelected","getActiveNetworks","sortedResult","valueChanges","selectedValues","getSelectedNetworks","selectedPeriod","currentUser","currentUserValue","netwoksIds","selectedIds","requestBody","period","username","subscribeNetworks","NetworksUploadComponent","dataSourceFile","showProgressBar","callReady","fileTypes","net","getLanguages$","getAllFilesConfByFileTypeEnabled","fileType","getAllFiles","getFilesByUser","tablePaginator","refreshTable","networkId","elementSelected","deleteFile","fileDeletitionInProgress","deleteFileFromS3","tapkitFileId","fileDeletitionSuccess","fileDeletitionError","NetworksUploadUtilsDialogComponent","networksUploadFiles","netUpFile","datepickers","toArray","ctrlValue","i","idStatus","status","waitingToDownloadStatus","element","pendingStatus","formData","FormData","append","formattedDate","uploadFile","failedStatus","uploadedStatus","every","NetworksComponent","networkGridsService","networkTabService","dataSharingServices","networkLocalbreaksService","networkContactService","networkDailyGridsService","newsService","renderer","networkUrl","tabIndex","networksData","networkTabs","networkEpg","networkSelected","networkNotSelected","gridsFileBoolean","highligthFileBoolean","imagesFileBoolean","videosFileBoolean","localbreaksFileBoolean","dailyGridsFileBoolean","epakFileBoolean","updateFileBoolean","networskDownloadData","tabNames","epgNewsCarousel","numSlides","isPaused","datePickerStartDate","datePickerChanged","localBreaksFilesByFeed","localBreaksDataSourceFile","localBreaksDisplayedColumns","dailyGridsFilesByFeed","dailyGridsDataSourceFile","dailyGridsDisplayedColumns","networkDownloadData","tabsNames","logoUrlBig","modifiedFileParams","queryParams","createdFileParams","networkDetails","lang","getAllNetworkTab","changeNetwork","changeContacts","changeNetworkDetails","networkEpgActual","langChangeSubscription","onLangChange","langChangeEvent","getMyObjectSubject","id_network","tab_id","gf","gfl","lista","file_id","donwloadExternalFiles","findByNetworkDateAndImage","documentElement","setProperty","querySelector","classList","remove","getAllContacts","currentNetworkContact","bucketUrlFeeds","currentNetwork","idSeleccionado","currentTab","getMinTab","tabsGetData","about","urls","urlFacebook","urlTwitter","idSel","selectedNetworkTabs","tab","minTabId","min","tabId","gridsFiles","daily","destacados","imagenes","videos","localBreakFiles","epak","updates","getNetworkGrids","selectedTabIndex","columns","buttonId","link","minWidth","netData","networkData","gridsFile","network_code","file_type","networkGrids","getFilesFilteredByNetworkIdAndMonth","meses_desde","meses_hasta","getFilesFilteredByNetworkIdMonthAndDate","localbreakstablePaginator","getEpakFiles","getUpdateFiles","downloadLocalBreaksFile","manageCsvFile","localBreaksMessageOk","localBreaksMessageError","downloadDailyGridsFile","fileParam","zipName","networkDownloadDataArray","isArray","createNetworkData","showErrorSnackBar","infoMessage","lastSlashIndex","lastIndexOf","substring","unsubscribe","FeedsUtilsDialogComponent","NetworkUtilsDialogComponent","_netService","showMesage","filesToDownload","netDownloadData","downloadedFile","accessToken","dateFormat","registerDownloadedFile","updateMyObject","lastDownloadedDate","getFullYear","getMonth","day","hours","getHours","minutes","getMinutes","seconds","getSeconds","milliseconds","getMilliseconds","WebsitesUtilsDialogComponent","websitesData","NewsComponent","networkNewsService","mostrarBarra","networkNews","videoExtensions","getAllNews","getAllNetworkNewsByNetworkId","news","isEdit","editarBoolean","refresh","getAllFilesExtConfByFileType","newsFileExtensionsConfigurations","fileConfigurationId","NewsDialogsComponent","maxWidth","maxHeight","updateButtonInProgress","subtitle","description","expdate","video","epgNewsUpload","selectorForm","validators","dateRangeValidator","image","imageName","expirationDate","control","startDate","endDate","isBefore","dateRange","publicationFilesInProcessMessage","eventType","deleteNews","update","deletingRegister","registerDelete","failedToDeleteRegister","deleteImageFromS3","uploadNewsFilesToS3","uploadData","uploadNewsDB","imageFile","selectedDate","newFileName","NewsletterDraftTableComponent","newsletterService","currentPage","pageSize","totalSize","filterSubject","loadNewsletters","localStorage","userId","keyword","state","sortField","sortDirection","direction","getNewsletters$","resp","newsletters","totalElements","pageIndex","NewsletterEditorComponent","sendNewsletter","content","html","setNewsletterMessage","NewsletterSentTableComponent","NewslettersComponent","userProfileService","matSnackBar","disableCountrySelect","disableLangualgeSelect","disableUserSelect","countryCrtl","langCrtl","usersCrtl","templateCtrl","subjectCtrl","loadingSend","loadingDraft","allCountriesSelected","AllUsersSelected","AllTurnerChecked","countryList","langList","usersList","filteredUserList","templateList","getIndexTab$","indexTab","getOnlyMe$","onlyMe","getNewsletters","getUserProfileByUsername$","setItem","userProfiles","getUserProfilesToNewsletter","countriesIds","usersIds","setIndexTab","getNewsletterMessage$","sendNewsletter$","openSuccessSnackBar","draftNewsletter$","AccountComponent","formBuilder","loading","successUpdateAccount","errorUpdateAccount","accountForm","usernametCtrl","disabled","nameCtrl","firstName","lastNameCtrl","lastName","companyCtrl","company","countryCtrl","address","cityCtrl","city","addressCtrl","street","zipCodeCtrl","zipCode","controls","updateProfile$","ChangePasswordComponent","submitted","errorChangePassword","successChangePassword","passwordMismatchError","hideCurrentPassword","hideNewPassword","hideConfirmPassword","passwordForm","currentPasswordCtrl","newPasswordCtrl","confirmPasswordCtrl","changePassword$","setErrors","PersonalDataComponent","successUpdatePersonalData","errorUpdatePersonalData","PersonalDataForm","ProfileComponent","activedSection","getUserProfileById$","UsersDialogComponent","roles","selectedRoles","loadingAprove","loadingReject","loadingActivate","loadingDeactivate","loadingCopyRoles","loadingDelete","showAlert","filteredUsers","String","search","users","searchUser$","openFromComponent","selectedOption","role","updateRole$","rol","source","selectLoadingState","updateUserProfileStatus$","buttonClose","removeUserProfile","msg","UsersComponent","roleService","selectedUserProfile","loadingUser","loadingApprove","getRoles$","loadUsers","sortChange","page","getUserProfile$","ids","updateProfileStatus","indexs","user2","user3","_updateChangeSubscription","numSelected","numRows","removeItem","count","removeUsersProfiles","UtilsDialogsComponent","itemLogs","dataSourceLogs","mostrarMensaje","idFile","file_name","traerLogs","VisualLogsComponent","itemListaFeeds","itemArchivo","statusArchivo","disableSelect","startDateFilter","processSelected","filterForm","traerProcesos","traerFeeds","traerArchivosStatus","deviceValue","actualizarTabla","onselecfilter","traerArchivosFiltered","idProcessSelected","traerArchivosId","padStart","AccessDeniedComponent","DialogTimeoutComponent","warningSubscription","onTimeoutWarning","countdown","LoginRoutingModule","forChild","LoginComponent","router","authorizationService","urlService","errorLoginMessageKey","pendingActivationMessageKey","accountRejectedMessageKey","inactiveAccountMessageKey","noRoleAccountMessageKey","navigate","loginForm","password","rememberMe","clearMessages","login$","f","routeRole","errorLogin","superAdmin","isAuthorized","legal","redirectUrl","getRedirectUrl","params","getParams","clearRedirectUrl","PasswordRecoveryComponent","successRecovery","recoveryForm","resetPassword$","RedirectAuthenticationComponent","translate","setFields","loginWithToken","authSubscription","loginRefreshToken$","refreshToken","locale","use","pathString","join","arrayPath","paramMap","RegisterRoutingModule","RegisterComponent","newUser","enabled","accountExpired","accountLocked","passwordExpired","dateCreated","userClass","passwordStrength","successMessageKey","errorMessageKey","userAlreadyExistsMessageKey","invalidEmailMessageKey","passwordVisible","confirmPasswordVisible","registerForm","minLength","confirmPassword","terms","requiredTrue","validator","MustMatch","register$","controlName","matchingControlName","formGroup","matchingControl","errors","mustMatch","calculatePasswordStrength","strength","test","instant","TermsComponent","AlertComponent","getAlert$","alertCase","cssClass","CountryEnum","LanguageEnum","ConfirmDialogComponent","FooterComponent","updateNetworks","HeaderComponent","languageList","label","defineLanguage","currentUser$","defineAccess","isSuperAdminRol","isAdminContentRol","isAncineRol","isLegalRol","isAdminUsersRol","AdminUsers","isLogRol","isLocalBreaksRol","isAdminPress","isMicroservicesRol","browserLang","getBrowserLang","addLangs","match","setDefaultLang","ContactType","DataNetwork","NetworkDetails","NetworkEpgFilesUpload","NetworskDownloadData","EpgNewsUpload","Role","UserProfile","NetworkListComponent","clickNetwork","showActiveOnly","NotFoundComponent","imageUrl","ConfigurationsRequest","NewsletterRequest","fromId","subject","userIds","NewsletterResponse","totalPages","AlertService","subject$","keepAfterRouteChange","events","asObservable","providedIn","AncineGirdsService","_code","_type","set","apiAncineGridsFileGetFileDate","filesList","responseType","apiAncineGridsFileGetDownloadedFiles","_archivo","apiAncineGridsFileGetDownloadedFile","observe","AuthenticationService","gralService","cookieService","storedUser","getCookie","currentUserSubject$","post","apiSecurityUrl","mapperUserStorage","isRememberMe","stop","now","apiSecurityUrlRegister","access_token","refresh_token","first_name","last_name","user_name","setCookie","apiSecurityUrlResetPassword","handleError","oldPassword","newPassword","patch","apiDomainUrlGetUserProfiles","cookieName","expires","AuthorizationService","jwtHelperService","decodeAccessToken","decodeToken","authorities","CategoryService","apiUrl","apiSecurityUrlCategory","put","ConfigService","LOCALE_ENGLISH","apiDomainUrlGetConfigAlias","configGridAliasList","moduleId","apiDomainUrlGetConfigurations","configurations","apiDomainUrlPostConfigurations","ContactService","apiSecurityUrlContact","is_deleted","apiNetworkEpgGetActiveNetworks","CountryService","apiSecurityUrlCountry","EpgDataService","NewsService","apiEpgGetAllNews","apiEpgGetAllNewsByNetworkId","apiEpgUploadNewsFiles","epgNewsUploadDB","apiEpgUploadNewsDB","apiEpgDeleteNewsImageFromS3","newsId","apiEpgDeleteNewsDB","apiDomainGetNewsForCarousel","FeedService","apiDomainUrlGetFeed","FileConfigurationsService","apiDomainFileConfigurationAll","apiDomainFileConfigurationByFileType","apiDomainFileConfigurationByFileTypeEnabled","FileExtensionsConfigurationsService","apiDomainFileExtensionConfigurationAll","apiDomainFileExtensionConfigurationByIdConfiguration","apiDomainFileExtensionConfigurationByFileType","GeneralService","ErrorEvent","LanguageService","apiSecurityUrlLanguage","apiDomainGetLanguages","ModuleService","apiDomainUrlGetModules","MonthlyService","httpClient","to","apiMonthlyUrlDownload","apiMonthlyUrlUpload","apiDomainUrlGetMonthly","apiMonthlyUrlSendFiles","NetworkContactService","apiNetworksContactsGetAllNetworkContacts","contactId","NetworkDailygridsService","apiDailyGridsUrlDownload","NetworkDataSharingService","myObjectSubject","newState","NetworkEpgService","apiNetworEpgGetAllNetwork","apiDomainNetworkEpgSave","apiEpgSaveNetworkFileToS3","NetworkGridsService","gridsFilesData","epakFilesData","updateFilesData","gridsFilesSubject","epakFilesSubject","gridFiles$","epakFiles$","desde","hasta","apiNetworEpgGetAllNetworkGrids","apiNetworEpgGetAllEpakFiles","apiNetworEpgGetUpdates","apiNetworEpgGetAllNetworkLocalBreaksByDate","apiNetworksGridsFileGetDownloadedFiles","NetworkLocalbreaksService","apiNetworksLocalBreaksDownloadLocalBreaksFile","NetworkTabService","apiNetworEpgGetAllNetworkTab","NetworkService","networksSource","apiDomainUrlGetNetwork","apiDomainUrlGetNetworkAncine","apiDomainPostNetworkFile","apiDomainGetNetworkFilesByUser","fileId","apiDomainDeleteFile","apiEpgDeleteFileFromS3","apiDomainUrlPostNetworkSubscription","NewsletterService","newslettersSubject","onlyMeSubject","newsletterMessage","indexTabSubject","apiDomainUrlNewsletters","newsletter","RoleService","apiDomainUrlGetRoles","ShowService","apiEpgUrlDownload","apiEpgUrlLogVersion","requestURI","apiEpgUrlLegalDownload","dateFromISO","dateToISO","setUTCHours","dateISO","toISOString","UrlService","navigationExtras","redirect","UserProfileService","sortFiel","onlyTurnerEmployees","UserService","apiDomainUrlGetUser","apiDomainUrlPutUserSubscription","apiDomainUrlPostUserFileDownloaded","UtilService","matDialog","datos","VisualLogsService","apiDatacityUrlGetProcess","apiDatacityUrlGetFiles","apiDatacityUrlGetStatus","id_process","apiDatacityUrlGetFiltered","apiDatacityUrlGetLogs","apiDatacityUrlGetFeeds","ArrayHelper","list","nameField","EpgGuard","setRedirectUrl","CustomPaginator","getRangeLabel","Math","max","startIndex","endIndex","getTranslations","translateSubscription","translation","itemsPerPageLabel","firstPageLabel","previousPageLabel","nextPageLabel","lastPageLabel","changes","ErrorInterceptor","UNAUTHORIZED","SERVER_ERROR","handle","errorTranslated","error_description","JwtInterceptor","isRefreshing","refreshTokenSubject$","setHeaders","Authorization","isTokenExpired","addAccessToken","token","newAccessToken","uniqueCodeValidator","existingCodes","newCode","isDuplicate","duplicateCode","URL_BUCKET","URL_API","URL_MONTHLY","PROD","environment","production","apiDomainGetCategories","apiNetworksContactsGetAllContactTypes","apiEpgSaveFileToS3","apiSecurityUrlChangePassword","apiSecurityUrlRegisterMailValidation","apiSecurityUrlAddContact","apiSecurityUrlEditContact","bootstrapModule"],"mappings":"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","file":"main-es5.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"]}