{"version":3,"sources":["webpack:///$_lazy_route_resources|lazy|groupOptions: {}|namespace object","webpack:///src/app/services/base.service.ts","webpack:///src/app/services/order.service.ts","webpack:///src/app/components/search-type-edict/search-type-edict.component.html","webpack:///src/app/components/search-type-edict/search-type-edict.component.ts","webpack:///src/app/components/main-type/main-type.component.ts","webpack:///src/app/components/main-type/main-type.component.html","webpack:///src/app/services/user.service.ts","webpack:///src/app/components/main-home/main-home.component.html","webpack:///src/app/components/main-home/main-home.component.ts","webpack:///src/app/services/navigate.service.ts","webpack:///src/app/components/type-order-table/type-order-table.component.html","webpack:///src/app/components/type-order-table/type-order-table.component.ts","webpack:///src/app/components/type-order/type-order.component.html","webpack:///src/app/components/type-order/type-order.component.ts","webpack:///src/app/services/statistics.service.ts","webpack:///src/app/services/time.service.ts","webpack:///src/app/services/ocr.service.ts","webpack:///src/app/components/ocr-control/ocr-control.component.ts","webpack:///src/app/components/ocr-control/ocr-control.component.html","webpack:///src/app/components/tiny-editor/tiny-editor.component.ts","webpack:///src/app/components/type-control/type-control.component.html","webpack:///src/app/components/type-control/type-control.component.ts","webpack:///src/app/components/type-order-item/type-order-item.component.html","webpack:///src/app/components/type-order-item/type-order-item.component.ts","webpack:///src/app/components/search-edict/search-edict.component.html","webpack:///src/app/components/search-edict/search-edict.component.ts","webpack:///src/app/components/order-history/order-history.component.html","webpack:///src/app/components/order-history/order-history.component.ts","webpack:///src/app/components/order-table/order-table.component.html","webpack:///src/app/components/order-table/order-table.component.ts","webpack:///src/app/components/order/order.component.html","webpack:///src/app/components/order/order.component.ts","webpack:///src/app/components/order-document-history/order-document-history.component.html","webpack:///src/app/components/order-document-history/order-document-history.component.ts","webpack:///src/app/components/order-item/order-item.component.html","webpack:///src/app/components/order-item/order-item.component.ts","webpack:///src/app/components/search-validate-edict/search-validate-edict.component.html","webpack:///src/app/components/search-validate-edict/search-validate-edict.component.ts","webpack:///src/app/components/validate-order-table/validate-order-table.component.html","webpack:///src/app/components/validate-order-table/validate-order-table.component.ts","webpack:///src/app/components/validate-order/validate-order.component.html","webpack:///src/app/components/validate-order/validate-order.component.ts","webpack:///src/app/components/main-report/main-report.component.ts","webpack:///src/app/components/main-report/main-report.component.html","webpack:///src/app/datasources/products-data-source.ts","webpack:///src/app/services/products.service.ts","webpack:///src/app/components/admin-products/admin-products.component.html","webpack:///src/app/components/admin-products/admin-products.component.ts","webpack:///src/app/models/product-field.model.ts","webpack:///src/app/components/product-detail/product-detail.component.html","webpack:///src/app/components/product-detail/product-detail.component.ts","webpack:///src/app/services/user-admin.service.ts","webpack:///src/app/services/roles.service.ts","webpack:///src/app/services/branches.service.ts","webpack:///src/app/components/admin-user-detail/admin-user-detail.component.html","webpack:///src/app/components/admin-user-detail/admin-user-detail.component.ts","webpack:///src/app/datasources/user-admin-data-source.ts","webpack:///src/app/models/usr-info.model.ts","webpack:///src/app/components/admin-user-create/admin-user-create.component.html","webpack:///src/app/components/admin-user-create/admin-user-create.component.ts","webpack:///src/app/components/admin-users/admin-users.component.html","webpack:///src/app/components/admin-users/admin-users.component.ts","webpack:///src/app/datasources/branches-data-source.ts","webpack:///src/app/components/admin-branches/admin-branches.component.html","webpack:///src/app/components/admin-branches/admin-branches.component.ts","webpack:///src/app/services/server-routes.service.ts","webpack:///src/app/components/admin-roles-detail/admin-roles-detail.component.html","webpack:///src/app/components/admin-roles-detail/admin-roles-detail.component.ts","webpack:///src/app/datasources/roles-data-source.ts","webpack:///src/app/components/admin-roles/admin-roles.component.html","webpack:///src/app/components/admin-roles/admin-roles.component.ts","webpack:///src/app/components/product-new/product-new.component.html","webpack:///src/app/components/product-new/product-new.component.ts","webpack:///src/app/services/editions.service.ts","webpack:///src/app/components/main-publish/main-publish.component.html","webpack:///src/app/components/main-publish/main-publish.component.ts","webpack:///src/app/services/publish.service.ts","webpack:///src/app/components/publish-edition/publish-edition.component.html","webpack:///src/app/components/publish-edition/publish-edition.component.ts","webpack:///src/app/services/auth-guard.service.ts","webpack:///src/app/components/login/login.component.html","webpack:///src/app/components/login/login.component.ts","webpack:///src/app/components/forbidden/forbidden.component.ts","webpack:///src/app/components/forbidden/forbidden.component.html","webpack:///src/app/components/no-access/no-access.component.ts","webpack:///src/app/components/no-access/no-access.component.html","webpack:///src/app/components/not-found/not-found.component.ts","webpack:///src/app/components/not-found/not-found.component.html","webpack:///src/app/components/logout/logout.component.ts","webpack:///src/app/components/logout/logout.component.html","webpack:///src/app/datasources/editions-data-source.ts","webpack:///src/app/components/admin-new-edition/admin-new-edition.component.html","webpack:///src/app/components/admin-new-edition/admin-new-edition.component.ts","webpack:///src/app/components/admin-editions/admin-editions.component.html","webpack:///src/app/components/admin-editions/admin-editions.component.ts","webpack:///src/app/components/admin-editions/confirm-delete-dialog.html","webpack:///src/app/services/cert.service.ts","webpack:///src/app/components/cert-index/cert-index.component.html","webpack:///src/app/components/cert-index/cert-index.component.ts","webpack:///src/app/components/cert-detail/cert-detail.component.html","webpack:///src/app/modules/app-routing.module.ts","webpack:///src/app/components/cert-detail/cert-detail.component.ts","webpack:///src/app/modules/material.module.ts","webpack:///src/app/animations/fade-in.animation.ts","webpack:///src/app/animations/slide.animation.ts","webpack:///src/app/components/edition-statistics/edition-statistics.component.html","webpack:///src/app/components/edition-statistics/edition-statistics.component.ts","webpack:///src/app/components/main-toolbar/main-toolbar.component.html","webpack:///src/app/components/main-toolbar/main-toolbar.component.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/main.ts","webpack:///node_modules/moment/locale|sync|/^/.*$"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","id","module","exports","BaseService","throwErrorSource","Subject","throwErrorSource$","this","asObservable","hostDomain","error","description","next","OrderService","httpClient","baseService","historySource","historySource$","topic","get","pipe","catchError","err","handleError","line","idx","orderDocument","post","orderId","index","orderDocumentData","lapse","key","value","comment","SearchTypeEdictComponent","orderService","router","autocompleteCtrl","filteredOrders","valueChanges","startWith","debounceTime","distinctUntilChanged","switchMap","val","autocompleteType","evt","navigateByUrl","option","itemSelected","MainTypeComponent","UserService","userSource","userSource$","subscribe","isLoggedIn","user","refreshStatus","navigate","menuRoutes","routes","filter","route","url","indexOf","MainHomeComponent","userService","NavigateService","location","back","TypeOrderTableComponent","displayedColumns","TypeOrderComponent","activatedRoute","snapshot","paramMap","getType","r","order","StatisticsService","statisticsSource","statisticsSource$","editionId","TimeService","workDateSource$","Observable","timer","v","OcrService","formData","OcrControlComponent","ocrService","ocrCtrl","event","fileList","target","files","length","isCopied","file","FormData","append","name","processOcr","success","setValue","ocrText","emitEvent","fileChange","TinyEditorComponent","editorContentChange","_disabled","status","editor","getBody","setAttribute","_isActive","tinymce","remove","init","branding","debounce","menubar","selector","language","language_url","skin_url","content_css","plugins","toolbar","autoresize_bottom_margin","autoresize_max_height","elementpath","paste_as_text","setup","on","disabled","content","getContent","emit","TypeControlComponent","debouncer","uuid","htmlChange","map","documentData","console","log","skip","isSaved","isSaving","saveDocumentData","inputCtrl","valueChange","disable","enable","subscription","add","setTimeout","TypeOrderItemComponent","statisticsService","timeService","PluginManager","forEach","ui","registry","addToggleButton","tooltip","text","toUpperCase","onAction","_","execCommand","onSetup","api","formatter","formatChanged","state","setActive","activeIndex","itemType","timeSubscription","workDate","isPastItem","items","publishDates","some","documents","data","a","interval","unsubscribe","document","saveDocument","refreshStatistics","cancelSaveDocument","SearchEdictComponent","autocompleteSearch","OrderHistoryComponent","getHistory","history","OrderTableComponent","OrderComponent","getSearch","OrderDocumentHistoryComponent","historyDocument","OrderItemComponent","loading","itemSearch","SearchValidateEdictComponent","autocompleteValidate","ValidateOrderTableComponent","ValidateOrderComponent","initOrder","getValidate","validate","internalStatus","refreshHistory","reason","invalidate","MainReportComponent","$event","selectedDate","selectedStartDate","selectedEndDate","certSelectedStartDate","certSelectedEndDate","onChange","onStartDateChange","onEndDateChange","onCertStartDateChange","onCertEndDateChange","ProductsDataSource","productsService","productsSubject","BehaviorSubject","loadingSubject","loading$","collectionViewer","complete","page","limit","sort","viewOnlyActive","getProducts","count","products","finalize","p","ProductsService","params","product","productCode","AdminProductsComponent","selection","dataSource","loadProducts","sortChange","paginator","pageIndex","tap","pageSize","direction","active","changeOnlyActive","ProductField","type","sortId","printTitle","ProductDetailComponent","productService","fb","createForm","productForm","group","productDescription","headerImage","legalReference","isPrintable","fields","array","reset","setFields","setControl","f","formModel","fieldsDeepCopy","Object","assign","getProduct","rebuildForm","push","removeAt","saveProduct","prepareSaveProduct","onSubmit","addField","revert","UserAdminService","email","roles","branches","userName","city","office","RolesService","roleName","BranchesService","AdminUserDetailComponent","userAdminService","rolesService","branchesService","dialogRef","close","userInfo","getRoles","setupRoles","getBranches","setupBranches","rolesResp","role","userRole","checked","branchesResp","branch","userBranch","activeBranches","q","activeRoles","updateUserInfo","saveUserInfo","onNoClick","saveChanges","UserAdminDataSource","useradminService","usersSubject","getUsers","users","UsrInfoC","updated","updatedBy","AdminUserCreateComponent","saveUser","AdminUsersComponent","dialog","loadUsers","open","width","autoFocus","afterClosed","result","BranchesDataSource","branchesSubject","deleteBranches","AdminBranchesComponent","loadBranches","ServerRoutesService","routeIds","AdminRolesDetailComponent","routesService","roleInfo","getRoutes","setupRoutes","routesResp","roleRoutes","routeName","activeRoutes","routeId","saveRoutes","RolesDataSource","rolesSubject","AdminRolesComponent","loadRoles","toggleRoleStatus","ProductNewComponent","EditionsService","startDate","queryDate","endDate","closeDate","MainPublishComponent","editionService","exist","getEditionByDate","toDate","edition","PublishService","stopPropagation","PublishEditionComponent","publishService","omitInProgressDocuments","refresh","getEdition","getPublish","getPublishStatus","hasProducts","totalDocuments","quantity","reduce","b","selected","isAllSelected","clear","row","select","updateHref","d","selectedProducts","query","fromObject","draftHref","toString","definitiveHref","AuthGuardService","routeConfig","path","redirectUrl","LoginComponent","getUser","redirect","ForbiddenComponent","navigateService","NoAccessComponent","NotFoundComponent","LogoutComponent","EditionsDataSource","editionsService","editionsSubject","getEditionsPag","editions","AdminNewEditionComponent","snackBar","minutes","hours","i","validateDates","hour","selectedHour","minute","selectedMinute","createEdition","cancel","onCloseDateChange","saveEdition","AdminEditionsComponent","loadEditions","ConfirmDeleteDialogComponent","deleteEdition","CertService","request","publishDate","responseType","Blob","reader","FileReader","onloadend","customError","readAsText","errMsg","CertIndexComponent","certService","searchForm","term","searchEdicts","searchResults","doSearch","sendForm","CertDetailComponent","component","canActivate","downloadingPDF","showCertPDFIframe","certEmailSent","sendingEmail","getDetail","detailResponse","downloadCert","res","size","window","URL","createObjectURL","embedpdf","nativeElement","src","style","height","pdfSectionPosition","getBoundingClientRect","top","scrollTo","behavior","downloadCertError","sendEmailCert","sendEmailCertError","errorMessage","AppRoutingModule","relativeLinkResolution","MaterialModule","fadeInAnimation","opacity","slideAnimation","position","transform","optional","EditionStatisticsComponent","userSubscription","ngOnInit","showStatistics","statisticsHeader","editionHeader","getEditionHeader","eh","actual","getStatisticsHeader","changeValue","statistics","previous","date","format","clone","getStatistics","subtract","before","now","befItem","nowItem","statusId","difference","Math","abs","delta","ii","tt","takeUntil","MainToolbarComponent","msg","outlet","activatedRouteData","animation","AppComponent","title","AppModule","provide","useValue","useClass","deps","bootstrapModule","webpackContext","webpackContextResolve","__webpack_require__","o"],"mappings":"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","file":"x","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;\nwebpackEmptyAsyncContext.id = 98255;\nmodule.exports = webpackEmptyAsyncContext;","import { Injectable } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { throwError, Subject, Observable, BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class BaseService {\r\n private throwErrorSource = new Subject( );\r\n throwErrorSource$ = this.throwErrorSource.asObservable();\r\n hostDomain = '';\r\n constructor() {\r\n }\r\n handleError(error: HttpErrorResponse, description?: string) {\r\n // if (error.error instanceof ErrorEvent) {\r\n // // A client-side or network error occurred. Handle it accordingly.\r\n // console.error('An error occurred:', error.error.message);\r\n // } else {\r\n // // The backend returned an unsuccessful response code.\r\n // // The response body may contain clues as to what went wrong,\r\n // console.error(\r\n // `Backend returned code ${error.status}, ` + `body was: ${error.error}`\r\n // );\r\n // }\r\n // return an observable with a user-facing error message\r\n this.throwErrorSource.next(\r\n `Error Comunicación: ${description} ' intente de nuevo más tarde o comunique el error a el área de TI.`\r\n );\r\n return [];\r\n }\r\n customError(description?: string) {\r\n this.throwErrorSource.next(\r\n `Error: ${description}`\r\n );\r\n return [];\r\n }\r\n}\r\n","import { OrderHistory } from './../models/order-history.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { Order } from '../models/order.model';\r\nimport { BaseService } from './base.service';\r\nimport { OrderItemHeader } from '../models/order-item-header.model';\r\nimport { OrderDocument } from '../models/order-document.model';\r\nimport { OrderDocumentData } from '../models/order-document-data.model';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { OrderDocumentHistory } from '../models/order-document-history.model';\r\n\r\n@Injectable()\r\nexport class OrderService {\r\n private historySource = new Subject();\r\n historySource$ = this.historySource.asObservable();\r\n constructor(private httpClient: HttpClient,\r\n private baseService: BaseService\r\n ) { }\r\n autocompleteType(topic: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/type/ac/${topic}`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando las órdenes');\r\n return [];\r\n })\r\n );\r\n }\r\n getType(id: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/type/${id}`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Obteniendo la orden ${id}`);\r\n return [];\r\n })\r\n );\r\n }\r\n itemType(id: string, line: number): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/type/${id}/${line}`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Obteniendo la orden ${id}, item ${line}`);\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n autocompleteValidate(topic: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/validate/ac/${topic}`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando las órdenes');\r\n return [];\r\n })\r\n );\r\n }\r\n getValidate(id: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/validate/${id}`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Obteniendo la orden ${id}`);\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n autocompleteSearch(topic: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/search/ac/${topic}`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando las órdenes');\r\n return [];\r\n })\r\n );\r\n }\r\n getSearch(id: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/search/${id}`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Obteniendo la orden ${id}`);\r\n return [];\r\n })\r\n );\r\n }\r\n itemSearch(id: string, line: number): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/search/${id}/${line}`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Obteniendo la orden ${id}, item ${line}`);\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n refreshHistory() {\r\n this.historySource.next();\r\n }\r\n\r\n history(id: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/history/${id}`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Obteniendo la orden ${id}`);\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n historyDocument(id: string, line: number, idx: number): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/document/history/${id}-${line}-${idx}`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Obteniendo el historial del documento ${id}-${line}-${idx}`);\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n saveDocument(orderDocument: OrderDocument): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/document`;\r\n return this.httpClient.post(url, orderDocument).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Guardando el edicto ${orderDocument.orderId}-${orderDocument.line}-${orderDocument.index}`);\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n cancelSaveDocument(orderDocument: OrderDocument): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/document/cancel`;\r\n return this.httpClient.post(url, orderDocument).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Corregir digitación ${orderDocument.orderId}-${orderDocument.line}-${orderDocument.index}`);\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n saveDocumentData(orderDocument: OrderDocument, orderDocumentData: OrderDocumentData): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/document/data`;\r\n return this.httpClient.post(url, {\r\n lapse: orderDocument.lapse,\r\n orderId: orderDocument.orderId,\r\n line: orderDocument.line,\r\n index: orderDocument.index,\r\n key: orderDocumentData.key,\r\n value: orderDocumentData.value\r\n }).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Guardado automático.');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n validate(id: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/validate`;\r\n return this.httpClient.post(url, {\r\n id: id\r\n }).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Validando orden.');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n invalidate(id: string, comment: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/order/invalidate`;\r\n return this.httpClient.post(url, {\r\n id: id,\r\n comment: comment\r\n }).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Invalidando orden.');\r\n return [];\r\n })\r\n );\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n
Digitar Pedido
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n description {{ order.id }}\r\n {{ order.clientName }}\r\n {{ order.internalStatus }} \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith, debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';\r\n\r\nimport { Order } from '../../models/order.model';\r\nimport { OrderService } from '../../services/order.service';\r\n\r\n@Component({\r\n selector: 'app-search-type-edict',\r\n templateUrl: './search-type-edict.component.html',\r\n styleUrls: ['./search-type-edict.component.scss']\r\n})\r\nexport class SearchTypeEdictComponent {\r\n autocompleteCtrl: FormControl;\r\n filteredOrders: Observable;\r\n constructor(private orderService: OrderService,\r\n private router: Router\r\n ) {\r\n this.autocompleteCtrl = new FormControl();\r\n this.filteredOrders = this.autocompleteCtrl.valueChanges\r\n .pipe(\r\n startWith(null),\r\n debounceTime(300),\r\n distinctUntilChanged(),\r\n switchMap(val => {\r\n if (val) {\r\n return orderService.autocompleteType(val);\r\n } else {\r\n return [];\r\n }\r\n })\r\n );\r\n }\r\n\r\n itemSelected(evt: MatAutocompleteSelectedEvent) {\r\n this.router.navigateByUrl(`digitar/${evt.option.value}`);\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-main-type',\r\n templateUrl: './main-type.component.html',\r\n styleUrls: ['./main-type.component.scss']\r\n})\r\nexport class MainTypeComponent {\r\n\r\n constructor() { }\r\n\r\n}\r\n","\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, of, Subject } from 'rxjs';\r\nimport { catchError, delay, tap } from 'rxjs/operators';\r\n\r\nimport { User } from '../models/user.model';\r\nimport { BaseService } from './base.service';\r\nimport { Router } from '@angular/router';\r\nimport { ServerRoute } from '../models/server-route.model';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n private userSource = new Subject();\r\n userSource$ = this.userSource.asObservable();\r\n constructor(\r\n private httpClient: HttpClient,\r\n private baseService: BaseService,\r\n private router: Router\r\n ) {}\r\n\r\n isLoggedIn: boolean;\r\n redirectUrl: string;\r\n user: User;\r\n menuRoutes: ServerRoute[];\r\n logout(): void {\r\n const url = `${this.baseService.hostDomain}/api/logout`;\r\n this.httpClient\r\n .post(url, null)\r\n .pipe(\r\n catchError(err => {\r\n this.baseService.handleError(\r\n err,\r\n 'Obteniendo información de usuario.'\r\n );\r\n return [];\r\n })\r\n )\r\n .subscribe(() => {\r\n this.isLoggedIn = false;\r\n this.user = null;\r\n this.refreshStatus();\r\n this.router.navigate(['/salir']);\r\n });\r\n }\r\n\r\n getUser(): Observable {\r\n const url = `${this.baseService.hostDomain}/api/user`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Obteniendo información de usuario.');\r\n return [];\r\n })\r\n );\r\n }\r\n refreshStatus() {\r\n if (this.user) {\r\n this.menuRoutes = this.user.routes\r\n .filter(route => route.url.indexOf(':') === -1)\r\n .filter(route => route.url.indexOf('nuevo') === -1)\r\n .filter(route => route.url.indexOf('.*') === -1);\r\n } else {\r\n this.menuRoutes = null;\r\n }\r\n this.userSource.next();\r\n }\r\n}\r\n","\r\n","import { UserService } from './../../services/user.service';\r\nimport { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-main-home',\r\n templateUrl: './main-home.component.html',\r\n styleUrls: ['./main-home.component.scss']\r\n})\r\nexport class MainHomeComponent {\r\n\r\n constructor(public userService: UserService) { }\r\n\r\n}\r\n","import { Location } from '@angular/common';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NavigateService {\r\n\r\n constructor(private location: Location) { }\r\n goBack() {\r\n this.location.back();\r\n }\r\n}\r\n","\r\n \r\n Número de Línea \r\n {{element.line}} \r\n \r\n\r\n \r\n Notas \r\n {{element.notes}} \r\n \r\n\r\n \r\n Cantidad \r\n {{element.quantity}} \r\n \r\n\r\n \r\n Producto \r\n {{element.productDescription}} \r\n \r\n\r\n \r\n Fechas de publicación \r\n \r\n
{{dt | date: 'MMM dd yyyy'}}
\r\n
\r\n
\r\n\r\n \r\n Acciones \r\n \r\n \r\n {{element.internalStatus === 'I'? 'create' : 'done'}}\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { OrderItem } from '../../models/order-item.model';\r\n\r\n@Component({\r\n selector: 'app-type-order-table',\r\n templateUrl: './type-order-table.component.html',\r\n styleUrls: ['./type-order-table.component.scss']\r\n})\r\nexport class TypeOrderTableComponent {\r\n @Input() items: OrderItem[];\r\n @Input() orderid: string;\r\n displayedColumns = ['line', 'notes', 'quantity', 'productDescription', 'publishDates', 'actions' ];\r\n constructor() { }\r\n\r\n}\r\n","\r\n
\r\n \r\n arrow_back\r\n \r\n
\r\n \r\n
Órden: {{order.id}}
\r\n
Estado: {{order.internalStatus}}
\r\n
\r\n Cliente: {{order.clientName}} - ({{order.nit}})\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Order } from '../../models/order.model';\r\n\r\nimport { NavigateService } from './../../services/navigate.service';\r\nimport { OrderService } from '../../services/order.service';\r\n\r\n@Component({\r\n selector: 'app-type-order',\r\n templateUrl: './type-order.component.html',\r\n styleUrls: ['./type-order.component.scss']\r\n})\r\nexport class TypeOrderComponent implements OnInit {\r\n\r\n id: string;\r\n order: Order;\r\n constructor(private activatedRoute: ActivatedRoute,\r\n private orderService: OrderService,\r\n public navigate: NavigateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.id = this.activatedRoute.snapshot.paramMap.get('id');\r\n this.orderService.getType(this.id)\r\n .subscribe(r => this.order = r);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\n\r\nimport { StatisticsHeader } from '../models/statistics-header.model';\r\nimport { BaseService } from './base.service';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class StatisticsService {\r\n private statisticsSource = new Subject();\r\n statisticsSource$ = this.statisticsSource.asObservable();\r\n constructor(private httpClient: HttpClient, private baseService: BaseService) { }\r\n getStatisticsHeader(id: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/productionstatistics`;\r\n return this.httpClient.post(url, {\r\n editionId: id\r\n }).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Obteniendo estadísticas');\r\n return [];\r\n })\r\n );\r\n }\r\n refreshStatistics() {\r\n this.statisticsSource.next();\r\n }\r\n}\r\n","import { BaseService } from './base.service';\r\nimport { Observable, interval, timer } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { switchMap, catchError, distinctUntilChanged } from 'rxjs/operators';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TimeService {\r\n workDateSource$ = new Observable();\r\n\r\n constructor(private httpClient: HttpClient,\r\n private baseService: BaseService) {\r\n const url = `${baseService.hostDomain}/api/server/workdate`;\r\n this.workDateSource$ = timer(0, 30000).pipe(\r\n switchMap(v => {\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Sincronizando fechas con servidor.');\r\n return [];\r\n })\r\n );\r\n }),\r\n distinctUntilChanged()\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from './base.service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Ocr } from '../models/ocr.model';\r\n\r\n@Injectable()\r\nexport class OcrService {\r\n\r\n constructor(private httpClient: HttpClient, private baseService: BaseService) { }\r\n\r\n processOcr(formData: FormData): Observable {\r\n const url = `${this.baseService.hostDomain}/api/ocr`;\r\n return this.httpClient.post(url, formData).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando las órdenes');\r\n return [];\r\n })\r\n );\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { OcrService } from '../../services/ocr.service';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-ocr-control',\r\n templateUrl: './ocr-control.component.html',\r\n styleUrls: ['./ocr-control.component.scss']\r\n})\r\nexport class OcrControlComponent {\r\n isCopied: boolean;\r\n ocrCtrl: FormControl;\r\n ocrText: string;\r\n constructor(private ocrService: OcrService) {\r\n this.ocrCtrl = new FormControl();\r\n }\r\n\r\n fileChange(event) {\r\n const fileList: FileList = event.target.files;\r\n if (fileList.length > 0) {\r\n this.isCopied = false;\r\n const file: File = fileList[0];\r\n const formData: FormData = new FormData();\r\n formData.append('file', file, file.name);\r\n this.ocrService.processOcr(formData).subscribe(val => {\r\n if (val.success) {\r\n this.ocrCtrl.setValue(val.ocrText, { emitEvent: false });\r\n this.ocrText = val.ocrText;\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n Resultado\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n Input,\r\n AfterViewInit,\r\n OnDestroy,\r\n Output,\r\n EventEmitter,\r\n AfterViewChecked\r\n} from '@angular/core';\r\n// import 'tinymce';\r\n// import 'tinymce/themes/silver';\r\n// import 'tinymce/plugins/autoresize';\r\n// import 'tinymce/plugins/fullscreen';\r\n// import 'tinymce/plugins/paste';\r\n// import 'tinymce/plugins/code';\r\n// import 'tinymce/plugins/wordcount';\r\n// import 'tinymce/plugins/image';\r\ndeclare var tinymce: any;\r\n@Component({\r\n selector: 'app-tiny-editor',\r\n template: `
`\r\n})\r\nexport class TinyEditorComponent implements OnDestroy {\r\n private editor: any;\r\n private _disabled: boolean;\r\n private _isActive: boolean;\r\n @Input() id: string;\r\n @Input()\r\n set disabled(status: boolean) {\r\n this._disabled = status;\r\n if (this.editor) {\r\n this.editor.getBody().setAttribute('contenteditable', !status);\r\n }\r\n }\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n @Input()\r\n get isActive(): boolean { return this._isActive; }\r\n set isActive(val: boolean) {\r\n this._isActive = val;\r\n if (this._isActive) {\r\n tinymce.remove();\r\n tinymce.init({\r\n branding: false,\r\n debounce: false,\r\n menubar: false,\r\n selector: `#${this.id}`,\r\n language: 'es_MX',\r\n language_url: '/assets/tinymce/languages/es_MX.js',\r\n skin_url: '/assets/tinymce/skins/ui/oxide',\r\n content_css: '/assets/tinymce/skins/content/default/content.css',\r\n plugins: ['autoresize', 'image', 'paste', 'wordcount', 'code', 'stylebuttons', 'fullscreen'],\r\n toolbar: 'bold italic | style-h2 | image | code | fullscreen',\r\n autoresize_bottom_margin: 0,\r\n autoresize_max_height: 1000,\r\n elementpath: false,\r\n paste_as_text: true,\r\n setup: editor => {\r\n this.editor = editor;\r\n editor.on('init', (e) => {\r\n e.target.getBody().setAttribute('contenteditable', !this.disabled);\r\n });\r\n editor.on('keyup change', () => {\r\n const content = editor.getContent();\r\n this.editorContentChange.emit(content);\r\n });\r\n }\r\n });\r\n }\r\n }\r\n @Input() content: String;\r\n @Output() editorContentChange = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnDestroy() {\r\n tinymce.remove();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
{{isSaved ? 'Guardado' : (isSaving ? 'Guardando' : '')}}
\r\n
\r\n
\r\n
\r\n \r\n {{documentData.key}}\r\n \r\n {{isSaved ? 'Guardado' : (isSaving ? 'Guardando' : '')}}\r\n \r\n
\r\n
\r\n","import { FormControl } from '@angular/forms';\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { Observable, Subscription, timer, Subject } from 'rxjs';\r\nimport {\r\n startWith,\r\n debounceTime,\r\n distinctUntilChanged,\r\n map,\r\n switchMap,\r\n skip\r\n} from 'rxjs/operators';\r\nimport { v4 as uuid } from 'uuid';\r\n\r\nimport { OrderDocumentData } from '../../models/order-document-data.model';\r\nimport { OrderDocument } from '../../models/order-document.model';\r\nimport { OrderService } from '../../services/order.service';\r\nimport { OcrService } from '../../services/ocr.service';\r\n\r\n@Component({\r\n selector: 'app-type-control',\r\n templateUrl: './type-control.component.html',\r\n styleUrls: ['./type-control.component.scss']\r\n})\r\nexport class TypeControlComponent implements OnInit {\r\n private debouncer: Subject = new Subject();\r\n private valueChange: Observable;\r\n private htmlChange: Observable;\r\n @Input() private orderDocument: OrderDocument;\r\n private _isActive: boolean;\r\n private _disabled: boolean;\r\n @Input()\r\n set disabled(status: boolean) {\r\n this._disabled = status;\r\n if (status) {\r\n this.inputCtrl.disable();\r\n } else {\r\n this.inputCtrl.enable();\r\n }\r\n }\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n id: string;\r\n @Input() documentData: OrderDocumentData;\r\n @Input() subscription: Subscription;\r\n @Input()\r\n get isActive(): boolean {\r\n return this._isActive;\r\n }\r\n set isActive(val: boolean) {\r\n this._isActive = val;\r\n }\r\n inputCtrl: FormControl;\r\n isSaving: boolean;\r\n isSaved: boolean;\r\n constructor(\r\n private orderService: OrderService,\r\n private ocrService: OcrService\r\n ) {\r\n this.id = uuid();\r\n this.htmlChange = this.debouncer.asObservable().pipe(\r\n map(val => {\r\n this.documentData.value = val;\r\n console.log(this.documentData.value);\r\n return val;\r\n }),\r\n skip(1),\r\n debounceTime(5000),\r\n distinctUntilChanged(),\r\n switchMap(val => {\r\n if (!this.orderDocument.isSaved) {\r\n this.isSaving = true;\r\n return orderService.saveDocumentData(\r\n this.orderDocument,\r\n this.documentData\r\n );\r\n }\r\n return [];\r\n })\r\n );\r\n this.inputCtrl = new FormControl();\r\n this.valueChange = this.inputCtrl.valueChanges.pipe(\r\n map(val => {\r\n this.documentData.value = val;\r\n return val;\r\n }),\r\n skip(1),\r\n debounceTime(5000),\r\n distinctUntilChanged(),\r\n switchMap(val => {\r\n if (!this.orderDocument.isSaved) {\r\n this.isSaving = true;\r\n return orderService.saveDocumentData(\r\n this.orderDocument,\r\n this.documentData\r\n );\r\n }\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.subscription.add(\r\n this.valueChange.subscribe(val => {\r\n this.isSaving = false;\r\n this.isSaved = true;\r\n setTimeout(() => {\r\n this.isSaved = false;\r\n }, 3000);\r\n this.orderDocument.status = 'PD';\r\n })\r\n );\r\n\r\n this.subscription.add(\r\n this.htmlChange.subscribe(val => {\r\n this.isSaving = false;\r\n this.isSaved = true;\r\n setTimeout(() => {\r\n this.isSaved = false;\r\n }, 3000);\r\n this.orderDocument.status = 'PD';\r\n })\r\n );\r\n this.inputCtrl.setValue(this.documentData.value, { emitEvent: false });\r\n }\r\n\r\n change(evt: string): void {\r\n console.log(evt);\r\n this.debouncer.next(evt);\r\n }\r\n}\r\n","\r\n
\r\n \r\n arrow_back\r\n \r\n
\r\n \r\n
Órden: {{order.id}} Línea: {{order.items[0].line}}
\r\n
Fecha de publicación:\r\n {{dt | date: 'MMM dd yyyy '}}\r\n
\r\n
Estado: {{order.internalStatus}}
\r\n
\r\n \r\n
Cliente: {{order.clientName}} - ({{order.nit}})
\r\n
Notas: {{order.items[0].notes}}
\r\n
Cantidad: {{order.items[0].quantity}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n OCR\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\nimport { NavigateService } from './../../services/navigate.service';\r\nimport { OrderService } from '../../services/order.service';\r\nimport { Order } from '../../models/order.model';\r\nimport { OrderDocument } from '../../models/order-document.model';\r\nimport { Subscription, empty, interval } from 'rxjs';\r\n\r\n// import 'tinymce';\r\nimport { StatisticsService } from '../../services/statistics.service';\r\nimport { TimeService } from '../../services/time.service';\r\ndeclare var tinymce: any;\r\n@Component({\r\n selector: 'app-type-order-item',\r\n templateUrl: './type-order-item.component.html',\r\n styleUrls: ['./type-order-item.component.scss']\r\n})\r\nexport class TypeOrderItemComponent\r\n implements OnInit, OnDestroy {\r\n private id: string;\r\n private line: number;\r\n order: Order;\r\n documents: OrderDocument[];\r\n subscription: Subscription;\r\n timeSubscription: Subscription;\r\n activeIndex: number;\r\n workDate: Date;\r\n isPastItem: boolean;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private orderService: OrderService,\r\n public navigate: NavigateService,\r\n private statisticsService: StatisticsService,\r\n private timeService: TimeService\r\n ) {\r\n tinymce.PluginManager.add('stylebuttons', function(editor, url) {\r\n ['pre', 'p', 'code', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'].forEach(function(\r\n name\r\n ) {\r\n editor.ui.registry.addToggleButton('style-' + name, {\r\n tooltip: 'Cambiar ' + name,\r\n text: name.toUpperCase(),\r\n onAction: function (_) {\r\n editor.execCommand('mceToggleFormat', false, name);\r\n },\r\n onSetup: function (api) {\r\n editor.formatter.formatChanged(name, function (state) {\r\n api.setActive(state);\r\n });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.activeIndex = 0;\r\n this.id = this.activatedRoute.snapshot.paramMap.get('id');\r\n this.line = +this.activatedRoute.snapshot.paramMap.get('line');\r\n this.orderService.itemType(this.id, this.line).subscribe(r => {\r\n this.order = r.order;\r\n this.timeSubscription = this.timeService.workDateSource$.subscribe(\r\n val => {\r\n this.workDate = val;\r\n this.isPastItem = !this.order.items[0].publishDates.some(\r\n v => v >= val\r\n );\r\n console.log(this.workDate);\r\n }\r\n );\r\n setTimeout(() => {\r\n this.activeIndex = 1;\r\n if (this.documents[0].status === 'I') {\r\n this.orderService\r\n .saveDocumentData(this.documents[0], this.documents[0].data[0])\r\n .subscribe(a => {\r\n this.documents[0].status = 'PD';\r\n });\r\n }\r\n }, 500);\r\n this.documents = r.documents.map(v => {\r\n v.isSaved = !(v.status === 'I' || v.status === 'PD');\r\n return v;\r\n });\r\n });\r\n this.subscription = interval(10000).subscribe();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n saveOrder(document: OrderDocument): void {\r\n this.orderService.saveDocument(document).subscribe(val => {\r\n if (val) {\r\n document.status = 'F';\r\n document.isSaved = true;\r\n this.statisticsService.refreshStatistics();\r\n }\r\n });\r\n }\r\n cancelSave(document: OrderDocument): void {\r\n this.orderService.cancelSaveDocument(document).subscribe(val => {\r\n if (val) {\r\n document.status = 'PD';\r\n document.isSaved = false;\r\n this.statisticsService.refreshStatistics();\r\n }\r\n });\r\n }\r\n\r\n onChangeTab(evt): void {\r\n this.activeIndex = evt.index + 1;\r\n if (this.documents[evt.index].status === 'I') {\r\n this.orderService\r\n .saveDocumentData(this.documents[evt.index], this.documents[evt.index].data[0])\r\n .subscribe(a => {\r\n this.documents[evt.index].status = 'PD';\r\n });\r\n }\r\n }\r\n}\r\n","\r\n \r\n
\r\n
\r\n
Buscar Pedido
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n description {{ order.id }}\r\n {{ order.clientName }}\r\n {{ order.internalStatus }} \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith, debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';\r\n\r\nimport { Order } from '../../models/order.model';\r\nimport { OrderService } from '../../services/order.service';\r\n\r\n@Component({\r\n selector: 'app-search-edict',\r\n templateUrl: './search-edict.component.html',\r\n styleUrls: ['./search-edict.component.scss']\r\n})\r\nexport class SearchEdictComponent {\r\n autocompleteCtrl: FormControl;\r\n filteredOrders: Observable;\r\n constructor(private orderService: OrderService,\r\n private router: Router\r\n ) {\r\n this.autocompleteCtrl = new FormControl();\r\n this.filteredOrders = this.autocompleteCtrl.valueChanges\r\n .pipe(\r\n startWith(null),\r\n debounceTime(300),\r\n distinctUntilChanged(),\r\n switchMap(val => {\r\n if (val) {\r\n return orderService.autocompleteSearch(val);\r\n } else {\r\n return [];\r\n }\r\n })\r\n );\r\n }\r\n\r\n itemSelected(evt: MatAutocompleteSelectedEvent) {\r\n this.router.navigateByUrl(`buscar/${evt.option.value}`);\r\n }\r\n}\r\n","
\r\n
\r\n

{{item.updatedBy}}

\r\n

{{item.updated | date: 'yyyy/MM/dd HH:mm:ss'}}

\r\n
\r\n
\r\n \r\n {{item.oldStatusName}}\r\n arrow_forward\r\n {{item.newStatusName}}\r\n \r\n
\r\n
{{item.comment}}
\r\n
\r\n","import { OrderService } from './../../services/order.service';\r\nimport { OrderHistory } from './../../models/order-history.model';\r\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-order-history',\r\n templateUrl: './order-history.component.html',\r\n styleUrls: ['./order-history.component.scss']\r\n})\r\nexport class OrderHistoryComponent implements OnInit, OnDestroy {\r\n @Input() orderId: string;\r\n history: OrderHistory[];\r\n private subscription: Subscription;\r\n constructor(private orderService: OrderService) {\r\n this.subscription = orderService.historySource$.subscribe(val => {\r\n this.getHistory();\r\n });\r\n }\r\n ngOnInit() {\r\n this.getHistory();\r\n }\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n getHistory() {\r\n this.orderService.history(this.orderId).subscribe(val => {\r\n this.history = val;\r\n });\r\n }\r\n}\r\n","\r\n \r\n Número de Línea \r\n {{element.line}} \r\n \r\n\r\n \r\n Notas \r\n {{element.notes}} \r\n \r\n\r\n \r\n Cantidad \r\n {{element.quantity}} \r\n \r\n\r\n \r\n Producto \r\n {{element.productDescription}} \r\n \r\n\r\n \r\n Fechas de publicación \r\n \r\n
\r\n
{{dt | date: 'MMM dd yyyy'}}
\r\n
\r\n
\r\n
\r\n\r\n \r\n Acciones \r\n \r\n \r\n check\r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n","import { Component, Input } from '@angular/core';\r\nimport { OrderItem } from '../../models/order-item.model';\r\n\r\n@Component({\r\n selector: 'app-order-table',\r\n templateUrl: './order-table.component.html',\r\n styleUrls: ['./order-table.component.scss']\r\n})\r\nexport class OrderTableComponent {\r\n @Input() items: OrderItem[];\r\n @Input() orderid: string;\r\n displayedColumns = ['line', 'notes', 'quantity', 'productDescription', 'publishDates', 'actions' ];\r\n constructor() { }\r\n\r\n}\r\n","\r\n
\r\n \r\n arrow_back\r\n \r\n
\r\n \r\n
Órden: {{order.id}}
\r\n
Estado: {{order.internalStatus}}
\r\n
\r\n \r\n
Cliente: {{order.clientName}} - ({{order.nit}})
\r\n
Estado SGC: {{order.status}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Historial \r\n \r\n \r\n \r\n \r\n \r\n Contenido de la orden \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Order } from '../../models/order.model';\r\n\r\nimport { NavigateService } from './../../services/navigate.service';\r\nimport { OrderService } from '../../services/order.service';\r\n\r\n@Component({\r\n selector: 'app-order',\r\n templateUrl: './order.component.html',\r\n styleUrls: ['./order.component.scss']\r\n})\r\nexport class OrderComponent implements OnInit {\r\n\r\n id: string;\r\n order: Order;\r\n panelOpenState: boolean;\r\n constructor(private activatedRoute: ActivatedRoute,\r\n private orderService: OrderService,\r\n public navigate: NavigateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.id = this.activatedRoute.snapshot.paramMap.get('id');\r\n this.orderService.getSearch(this.id)\r\n .subscribe(r => this.order = r);\r\n }\r\n}\r\n","
\r\n
\r\n

{{item.updatedBy}}

\r\n

{{item.updated | date: 'yyyy/MM/dd HH:mm:ss'}}

\r\n
\r\n
\r\n \r\n {{item.oldStatusName}}\r\n arrow_forward\r\n {{item.newStatusName}}\r\n \r\n
\r\n
{{item.comment}}
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { OrderDocumentHistory } from '../../models/order-document-history.model';\r\nimport { OrderService } from '../../services/order.service';\r\n\r\n@Component({\r\n selector: 'app-order-document-history',\r\n templateUrl: './order-document-history.component.html',\r\n styleUrls: ['./order-document-history.component.scss']\r\n})\r\nexport class OrderDocumentHistoryComponent implements OnInit {\r\n @Input() orderId: string;\r\n @Input() line: number;\r\n @Input() index: number;\r\n history: OrderDocumentHistory[];\r\n constructor(private orderService: OrderService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.getHistory();\r\n }\r\n getHistory() {\r\n this.orderService.historyDocument(this.orderId, this.line, this.index).subscribe(val => {\r\n this.history = val;\r\n });\r\n }\r\n}\r\n"," 0\">\r\n
\r\n \r\n arrow_back\r\n \r\n
\r\n \r\n
Órden: {{order.id}} Línea: {{order.items[0].line}}
\r\n
Fecha de publicación:\r\n {{dt | date: 'MMM dd yyyy '}}\r\n
\r\n
Estado: {{order.internalStatus}}
\r\n
\r\n \r\n
Cliente: {{order.clientName}} - ({{order.nit}})
\r\n
Notas: {{order.items[0].notes}}
\r\n
Cantidad: {{order.items[0].quantity}}
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Historial \r\n \r\n \r\n \r\n \r\n \r\n Contenido \r\n \r\n
\r\n
\r\n

{{documentData.key}}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n arrow_back\r\n \r\n
\r\n \r\n No se tiene registro de la digitación de este item.\r\n \r\n \r\n Esto se debe a que la orden no se validó, o que el item nunca inició digitación.\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\nimport { Order } from '../../models/order.model';\r\nimport { OrderDocument } from '../../models/order-document.model';\r\nimport { OrderService } from '../../services/order.service';\r\nimport { NavigateService } from '../../services/navigate.service';\r\n\r\n@Component({\r\n selector: 'app-order-item',\r\n templateUrl: './order-item.component.html',\r\n styleUrls: ['./order-item.component.scss']\r\n})\r\nexport class OrderItemComponent implements OnInit {\r\n private id: string;\r\n private line: number;\r\n order: Order;\r\n documents: OrderDocument[];\r\n loading: boolean;\r\n constructor( private activatedRoute: ActivatedRoute,\r\n private orderService: OrderService,\r\n public navigate: NavigateService) { }\r\n\r\n ngOnInit() {\r\n this.loading = true;\r\n this.id = this.activatedRoute.snapshot.paramMap.get('id');\r\n this.line = +this.activatedRoute.snapshot.paramMap.get('line');\r\n this.orderService.itemSearch(this.id, this.line).subscribe(r => {\r\n this.loading = false;\r\n this.order = r.order;\r\n this.documents = r.documents;\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n
\r\n
\r\n
Validar Pedido
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n description {{ order.id }}\r\n {{ order.clientName }}\r\n {{ order.internalStatus }} \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormControl } from '@angular/forms';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith, debounceTime, distinctUntilChanged, switchMap } from 'rxjs/operators';\r\n\r\nimport { Order } from '../../models/order.model';\r\nimport { OrderService } from '../../services/order.service';\r\n\r\n@Component({\r\n selector: 'app-validate-type-edict',\r\n templateUrl: './search-validate-edict.component.html',\r\n styleUrls: ['./search-validate-edict.component.scss']\r\n})\r\nexport class SearchValidateEdictComponent {\r\n autocompleteCtrl: FormControl;\r\n filteredOrders: Observable;\r\n constructor(private orderService: OrderService,\r\n private router: Router\r\n ) {\r\n this.autocompleteCtrl = new FormControl();\r\n this.filteredOrders = this.autocompleteCtrl.valueChanges\r\n .pipe(\r\n startWith(null),\r\n debounceTime(300),\r\n distinctUntilChanged(),\r\n switchMap(val => {\r\n if (val) {\r\n return orderService.autocompleteValidate(val);\r\n } else {\r\n return [];\r\n }\r\n })\r\n );\r\n }\r\n\r\n itemSelected(evt: MatAutocompleteSelectedEvent) {\r\n this.router.navigateByUrl(`validar/${evt.option.value}`);\r\n }\r\n}\r\n","\r\n \r\n Número de Línea \r\n {{element.line}} \r\n \r\n\r\n \r\n Notas \r\n {{element.notes}} \r\n \r\n\r\n \r\n Cantidad \r\n {{element.quantity}} \r\n \r\n\r\n \r\n Producto \r\n {{element.productDescription}} \r\n \r\n\r\n \r\n Fechas de publicación \r\n \r\n
{{dt | date: 'MMM dd yyyy'}}
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { OrderItem } from '../../models/order-item.model';\r\n\r\n@Component({\r\n selector: 'app-validate-order-table',\r\n templateUrl: './validate-order-table.component.html',\r\n styleUrls: ['./validate-order-table.component.scss']\r\n})\r\nexport class ValidateOrderTableComponent {\r\n @Input() items: OrderItem[];\r\n @Input() orderid: string;\r\n displayedColumns = ['line', 'notes', 'quantity', 'productDescription', 'publishDates' ];\r\n constructor() { }\r\n}\r\n","\r\n
\r\n \r\n arrow_back\r\n \r\n
\r\n \r\n
Órden: {{order.id}}
\r\n
Estado: {{order.internalStatus}}
\r\n
\r\n Cliente: {{order.clientName}} - ({{order.nit}})\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Contenido \r\n \r\n \r\n \r\n \r\n \r\n Historial \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Order } from '../../models/order.model';\r\n\r\nimport { NavigateService } from './../../services/navigate.service';\r\nimport { OrderService } from '../../services/order.service';\r\nimport { StatisticsService } from '../../services/statistics.service';\r\n\r\n@Component({\r\n selector: 'app-validate-order',\r\n templateUrl: './validate-order.component.html',\r\n styleUrls: ['./validate-order.component.scss']\r\n})\r\nexport class ValidateOrderComponent implements OnInit {\r\n id: string;\r\n order: Order;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private orderService: OrderService,\r\n public navigate: NavigateService,\r\n public statisticsService: StatisticsService\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.id = this.activatedRoute.snapshot.paramMap.get('id');\r\n this.initOrder();\r\n }\r\n\r\n initOrder() {\r\n this.orderService.getValidate(this.id).subscribe(r => (this.order = r));\r\n }\r\n\r\n validate() {\r\n this.orderService.validate(this.order.id).subscribe(val => {\r\n if (val) {\r\n this.order.internalStatus = 'V';\r\n this.orderService.refreshHistory();\r\n this.statisticsService.refreshStatistics();\r\n }\r\n });\r\n }\r\n\r\n invalidate(reason: string) {\r\n this.orderService.invalidate(this.order.id, reason).subscribe(val => {\r\n if (val) {\r\n this.order.internalStatus = 'NV';\r\n this.orderService.refreshHistory();\r\n this.statisticsService.refreshStatistics();\r\n }\r\n });\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\n\r\n@Component({\r\n selector: 'app-main-report',\r\n templateUrl: './main-report.component.html',\r\n styleUrls: ['./main-report.component.scss']\r\n})\r\nexport class MainReportComponent {\r\n selectedDate: Date;\r\n selectedStartDate: Date;\r\n selectedEndDate: Date;\r\n certSelectedStartDate: Date;\r\n certSelectedEndDate: Date;\r\n constructor() { }\r\n\r\n onChange($event: MatDatepickerInputEvent) {\r\n this.selectedDate = $event.value;\r\n }\r\n onStartDateChange($event: MatDatepickerInputEvent) {\r\n this.selectedStartDate = $event.value;\r\n }\r\n onEndDateChange($event: MatDatepickerInputEvent) {\r\n this.selectedEndDate = $event.value;\r\n }\r\n onCertStartDateChange($event: MatDatepickerInputEvent) {\r\n this.certSelectedStartDate = $event.value;\r\n }\r\n onCertEndDateChange($event: MatDatepickerInputEvent) {\r\n this.certSelectedEndDate = $event.value;\r\n }\r\n}\r\n","\r\n \r\n Reporte de órdenes y documentos por edición\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Ver Reporte\r\n
\r\n
\r\n \r\n Reporte de uso de OCR\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Ver Reporte\r\n
\r\n
\r\n \r\n Reporte de uso de Certificaciones\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Ver Reporte\r\n
\r\n
\r\n
\r\n","import { DataSource } from '@angular/cdk/table';\r\nimport { CollectionViewer } from '@angular/cdk/collections';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\nimport { Product } from './../models/product.model';\r\nimport { ProductsService } from '../services/products.service';\r\nimport { delay, map, finalize } from 'rxjs/operators';\r\n\r\nexport class ProductsDataSource implements DataSource {\r\n private productsSubject = new BehaviorSubject([]);\r\n private loadingSubject = new BehaviorSubject(false);\r\n\r\n public loading$ = this.loadingSubject.asObservable();\r\n count: number;\r\n constructor(private productsService: ProductsService) {}\r\n\r\n connect(collectionViewer: CollectionViewer): Observable {\r\n return this.productsSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.productsSubject.complete();\r\n this.loadingSubject.complete();\r\n }\r\n\r\n loadProducts(\r\n page?: number,\r\n limit?: number,\r\n sort?: string,\r\n viewOnlyActive?: boolean\r\n ) {\r\n this.loadingSubject.next(true);\r\n this.productsService\r\n .getProducts(page, limit, sort, viewOnlyActive)\r\n .pipe(\r\n map(val => {\r\n this.count = val.count;\r\n return val.products;\r\n }),\r\n finalize(() => this.loadingSubject.next(false))\r\n )\r\n .subscribe(p => this.productsSubject.next(p));\r\n }\r\n}\r\n","import { ProductApiResponse } from './../models/product-api-response.model';\r\nimport { BaseService } from './base.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Product } from '../models/product.model';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProductsService {\r\n constructor(\r\n private httpClient: HttpClient,\r\n private baseService: BaseService\r\n ) {}\r\n\r\n getProduct(code: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/products/${code}`;\r\n return this.httpClient\r\n .get(url)\r\n .pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando los productos');\r\n return [];\r\n })\r\n );\r\n }\r\n getProducts(\r\n page?: number,\r\n limit?: number,\r\n sort?: string,\r\n viewOnlyActive?: boolean\r\n ): Observable {\r\n const url = `${this.baseService.hostDomain}/api/products`;\r\n const data: any = {};\r\n if (page) { data.page = page; }\r\n if (limit) { data.limit = limit; }\r\n if (sort) { data.sort = sort; }\r\n if (viewOnlyActive) { data.viewOnlyActive = viewOnlyActive; }\r\n return this.httpClient\r\n .get(url, { params: data })\r\n .pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando los productos');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n saveProduct(product: Product) {\r\n const url = `${this.baseService.hostDomain}/api/products`;\r\n return this.httpClient\r\n .post(url, product)\r\n .pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Guardando el producto ${product.productCode}`);\r\n return [];\r\n })\r\n );\r\n }\r\n}\r\n","\r\n \r\n
Administrador de productos
\r\n Ver Sólo Activos\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Id de producto \r\n {{element.productCode}} \r\n \r\n \r\n \r\n Descripción \r\n {{element.productDescription}} \r\n \r\n \r\n Estado \r\n {{element.status}} \r\n \r\n \r\n ¿Se imprime? \r\n {{element.isPrintable ? 'Si' : '' }} \r\n \r\n \r\n Fecha Actualización \r\n {{element.updated | date: 'yyyy/MM/dd HH:mm:ss'}} \r\n \r\n \r\n Actualizado por \r\n {{element.updatedBy}} \r\n \r\n \r\n \r\n \r\n add\r\n \r\n \r\n \r\n \r\n edit\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { ProductsService } from './../../services/products.service';\r\nimport { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\n\r\nimport { ProductsDataSource } from '../../datasources/products-data-source';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { Product } from '../../models/product.model';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-admin-products',\r\n templateUrl: './admin-products.component.html',\r\n styleUrls: ['./admin-products.component.scss']\r\n})\r\nexport class AdminProductsComponent implements OnInit, AfterViewInit {\r\n dataSource: ProductsDataSource;\r\n displayedColumns = [\r\n 'productCode',\r\n 'productDescription',\r\n 'status',\r\n 'updatedBy',\r\n 'isPrintable',\r\n 'updated',\r\n 'actions'\r\n ];\r\n selection = new SelectionModel(true, []);\r\n viewOnlyActive = true;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(private productsService: ProductsService) {}\r\n\r\n ngOnInit() {\r\n this.dataSource = new ProductsDataSource(this.productsService);\r\n this.dataSource.loadProducts(null, null, null, true);\r\n }\r\n ngAfterViewInit() {\r\n this.sort.sortChange.subscribe(() => {\r\n this.paginator.pageIndex = 0;\r\n this.loadProducts();\r\n });\r\n this.paginator.page.pipe(tap(() => this.loadProducts())).subscribe();\r\n }\r\n\r\n loadProducts() {\r\n this.dataSource.loadProducts(\r\n this.paginator.pageIndex + 1,\r\n this.paginator.pageSize,\r\n (this.sort.direction === 'desc' ? '-' : '') + this.sort.active,\r\n this.viewOnlyActive\r\n );\r\n }\r\n\r\n changeOnlyActive() {\r\n this.viewOnlyActive = !this.viewOnlyActive;\r\n this.loadProducts();\r\n }\r\n}\r\n","export class ProductField {\r\n constructor(\r\n name?: string,\r\n type?: string,\r\n sortId?: number,\r\n printTitle?: boolean,\r\n status?: string\r\n ) {\r\n this.name = name;\r\n this.type = type;\r\n this.sortId = sortId;\r\n this.printTitle = printTitle;\r\n this.status = status;\r\n }\r\n name: string;\r\n type: string;\r\n sortId: number;\r\n printTitle: boolean;\r\n status: string;\r\n}\r\n","
\r\n \r\n
\r\n \r\n arrow_back\r\n \r\n
\r\n Edición de producto\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Activo\r\n Desactivado\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ¿Se imprime en el periódico?\r\n
\r\n
\r\n

Campos:

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Editor HTML\r\n Textarea\r\n \r\n \r\n \r\n \r\n \r\n
\r\n Imprimir título\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { ProductsService } from '../../services/products.service';\r\nimport { Product } from '../../models/product.model';\r\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { ProductField } from '../../models/product-field.model';\r\nimport { NavigateService } from '../../services/navigate.service';\r\n\r\n@Component({\r\n selector: 'app-product-detail',\r\n templateUrl: './product-detail.component.html',\r\n styleUrls: ['./product-detail.component.scss']\r\n})\r\nexport class ProductDetailComponent implements OnInit {\r\n code: string;\r\n product: Product;\r\n productForm: FormGroup;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private productService: ProductsService,\r\n private fb: FormBuilder,\r\n public navigate: NavigateService,\r\n private router: Router\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n private createForm() {\r\n this.productForm = this.fb.group({\r\n productDescription: '',\r\n status: '',\r\n sort: 0,\r\n headerImage: '',\r\n legalReference: '',\r\n isPrintable: false,\r\n fields: this.fb.array([]),\r\n });\r\n }\r\n\r\n private rebuildForm() {\r\n this.productForm.reset({\r\n productDescription: this.product.productDescription,\r\n status: this.product.status,\r\n sort: this.product.sort,\r\n headerImage: this.product.headerImage,\r\n isPrintable: this.product.isPrintable,\r\n legalReference: this.product.legalReference\r\n });\r\n this.setFields(this.product.fields);\r\n }\r\n\r\n get fields(): FormArray {\r\n return this.productForm.get('fields') as FormArray;\r\n }\r\n\r\n private setFields(fields: ProductField[]) {\r\n this.productForm.setControl('fields', this.fb.array(fields.map(f => this.fb.group(f))));\r\n }\r\n\r\n private prepareSaveProduct(): Product {\r\n const formModel = this.productForm.value;\r\n\r\n const fieldsDeepCopy: ProductField[] = formModel.fields.map(\r\n (p: ProductField) => Object.assign({}, p)\r\n );\r\n\r\n const saveProduct: Product = {\r\n productCode : this.product.productCode,\r\n productDescription: formModel.productDescription as string,\r\n status: formModel.status as string,\r\n sort: formModel.sort as number,\r\n headerImage: formModel.headerImage as string,\r\n legalReference: formModel.legalReference as string,\r\n fields: fieldsDeepCopy,\r\n isPrintable: formModel.isPrintable as boolean\r\n };\r\n return saveProduct;\r\n }\r\n\r\n ngOnInit() {\r\n this.code = this.activatedRoute.snapshot.paramMap.get('code');\r\n this.productService\r\n .getProduct(this.code)\r\n .subscribe(val => {\r\n this.product = val;\r\n this.rebuildForm();\r\n });\r\n }\r\n\r\n addField() {\r\n this.fields.push(this.fb.group(new ProductField('', '', 1, false, '')));\r\n }\r\n\r\n spliceField(idx: number) {\r\n this.fields.removeAt(idx);\r\n }\r\n\r\n onSubmit() {\r\n this.productService.saveProduct(this.prepareSaveProduct()).subscribe(v => {\r\n this.router.navigateByUrl('/administrador/productos');\r\n });\r\n }\r\n revert() {\r\n this.rebuildForm();\r\n }\r\n}\r\n","import { UserAdminApiResponse } from './../models/user-admin-api-response';\r\nimport { BaseService } from './base.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { UsrInfo, UsrInfoC } from '../models/usr-info.model';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { Branch } from './../models/branch.model';\r\nimport { Role } from './../models/role.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserAdminService {\r\n constructor(\r\n private httpClient: HttpClient,\r\n private baseService: BaseService\r\n ) {}\r\n\r\n getUsers(\r\n page?: number,\r\n limit?: number,\r\n sort?: string,\r\n viewOnlyActive?: boolean\r\n ): Observable {\r\n const url = `${this.baseService.hostDomain}/api/useradmin`;\r\n const data: any = {};\r\n if (page) {\r\n data.page = page;\r\n }\r\n if (limit) {\r\n data.limit = limit;\r\n }\r\n if (sort) {\r\n data.sort = sort;\r\n }\r\n if (viewOnlyActive) {\r\n data.viewOnlyActive = viewOnlyActive;\r\n }\r\n return this.httpClient\r\n .get(url, { params: data })\r\n .pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando los usuarios');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n saveUser(user: UsrInfo): Observable {\r\n const url = `${this.baseService.hostDomain}/api/useradmin`;\r\n return this.httpClient.post(url, { email: user.email }).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Creando un nuevo usuario`);\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n saveUserInfo(roles: string[], branches: string[], email: string) {\r\n const url = `${this.baseService.hostDomain}/api/userrole`;\r\n const data: any = {};\r\n data.email = email;\r\n data.branches = branches;\r\n data.roles = roles;\r\n return this.httpClient.post(url, data).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Guardando el usuario ${email}`);\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n updateUserInfo(email: string, status: string, userName: string, city: string, office: string) {\r\n const url = `${this.baseService.hostDomain}/api/useradmin`;\r\n const data: any = {};\r\n data.email = email;\r\n data.status = status;\r\n data.userName = userName;\r\n data.city = city;\r\n data.office = office;\r\n return this.httpClient.post(url, data).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Guardando el usuario ${email}`);\r\n return [];\r\n })\r\n );\r\n }\r\n}\r\n","import { DeleteRoleApiResponse } from './../models/delete-role-api-response.model';\r\nimport { RolesApiResponse } from './../models/roles-api-response.model';\r\nimport { BaseService } from './base.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Role } from '../models/role.model';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RolesService {\r\n constructor(\r\n private httpClient: HttpClient,\r\n private baseService: BaseService\r\n ) {}\r\n\r\n getRoles(\r\n page?: number,\r\n limit?: number,\r\n sort?: string,\r\n viewOnlyActive?: boolean\r\n ): Observable {\r\n const url = `${this.baseService.hostDomain}/api/roles`;\r\n const data: any = {};\r\n if (page) {\r\n data.page = page;\r\n }\r\n if (limit) {\r\n data.limit = limit;\r\n }\r\n if (sort) {\r\n data.sort = sort;\r\n }\r\n if (viewOnlyActive) {\r\n data.viewOnlyActive = viewOnlyActive;\r\n }\r\n return this.httpClient.get(url, { params: data }).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando los roles');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n toggleRoleStatus(roleName: string) {\r\n const url = `${this.baseService.hostDomain}/api/roles/${roleName}`;\r\n return this.httpClient.delete(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando las rutas');\r\n return [];\r\n })\r\n );\r\n }\r\n}\r\n","import { BranchApiResponse } from './../models/branch-api-response.model';\r\nimport { BaseService } from './base.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { Branch } from '../models/branch.model';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BranchesService {\r\n constructor(\r\n private httpClient: HttpClient,\r\n private baseService: BaseService\r\n ) {}\r\n\r\n getBranches(\r\n page?: number,\r\n limit?: number,\r\n sort?: string,\r\n viewOnlyActive?: boolean\r\n ): Observable {\r\n const url = `${this.baseService.hostDomain}/api/branches`;\r\n const data: any = {};\r\n if (page) {\r\n data.page = page;\r\n }\r\n if (limit) {\r\n data.limit = limit;\r\n }\r\n if (sort) {\r\n data.sort = sort;\r\n }\r\n // if (viewOnlyActive) { data.viewOnlyActive = viewOnlyActive; }\r\n return this.httpClient.get(url, { params: data }).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando las sucursales');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n deleteBranches(id: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/branches`;\r\n const data: any = {};\r\n data.id = id;\r\n return this.httpClient.delete(url, { params: data }).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Borrando sucursal');\r\n return [];\r\n })\r\n );\r\n }\r\n}\r\n","
Detalle de usuario
\r\n
\r\n

Datos de Usuario

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

Roles

\r\n
0\">\r\n
\r\n {{role.roleName}}\r\n
\r\n
\r\n\r\n

Sucursales

\r\n\r\n
0\">\r\n
\r\n {{branch.name}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n cancel Cancelar\r\n
\r\n","import { BranchApiResponse } from './../../models/branch-api-response.model';\r\nimport { Subscription } from 'rxjs';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UserAdminService } from './../../services/user-admin.service';\r\nimport { UsrInfo } from './../../models/usr-info.model';\r\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { Branch } from './../../models/branch.model';\r\nimport { RolesService } from './../../services/roles.service';\r\nimport { BranchesService } from './../../services/branches.service';\r\nimport { Role } from '../../models/role.model';\r\nimport { RolesApiResponse } from '../../models/roles-api-response.model';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\nimport { NavigateService } from '../../services/navigate.service';\r\n\r\n@Component({\r\n selector: 'app-admin-user-detail',\r\n templateUrl: './admin-user-detail.component.html',\r\n styleUrls: ['./admin-user-detail.component.scss']\r\n})\r\nexport class AdminUserDetailComponent implements OnInit {\r\n rolesResp: RolesApiResponse;\r\n branchesResp: BranchApiResponse;\r\n email: string;\r\n user: UsrInfo;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private userAdminService: UserAdminService,\r\n public navigate: NavigateService,\r\n private rolesService: RolesService,\r\n private branchesService: BranchesService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n onNoClick() {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit() {\r\n this.user = this.data.userInfo;\r\n this.rolesService.getRoles().subscribe(data => this.setupRoles(data));\r\n this.branchesService\r\n .getBranches()\r\n .subscribe(data => this.setupBranches(data));\r\n }\r\n\r\n setupRoles(rolesResp: RolesApiResponse) {\r\n for (const role of rolesResp.roles) {\r\n for (const userRole of this.user.roles) {\r\n if (role.roleName === userRole.roleName) {\r\n role.checked = true;\r\n }\r\n }\r\n }\r\n this.rolesResp = rolesResp;\r\n }\r\n\r\n setupBranches(branchesResp: BranchApiResponse) {\r\n for (const branch of branchesResp.branches) {\r\n for (const userBranch of this.user.branches) {\r\n if (branch.id === userBranch.id) {\r\n branch.checked = true;\r\n }\r\n }\r\n }\r\n this.branchesResp = branchesResp;\r\n }\r\n\r\n saveChanges() {\r\n const activeBranches = this.branchesResp.branches.filter(q => q.checked === true).map(p => p.id);\r\n const activeRoles = this.rolesResp.roles.filter(q => q.checked === true).map(p => p.roleName);\r\n this.userAdminService.updateUserInfo(this.user.email,\r\n this.user.status,\r\n this.user.userName,\r\n this.user.city,\r\n this.user.office).subscribe();\r\n this.userAdminService.saveUserInfo(activeRoles, activeBranches, this.user.email).subscribe(data => this.onNoClick());\r\n }\r\n}\r\n","\r\nimport { DataSource } from '@angular/cdk/table';\r\nimport { CollectionViewer } from '@angular/cdk/collections';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\nimport { UsrInfo } from './../models/usr-info.model';\r\nimport { UserAdminService } from './../services/user-admin.service';\r\nimport { delay, map, finalize } from 'rxjs/operators';\r\n\r\nexport class UserAdminDataSource implements DataSource {\r\n private usersSubject = new BehaviorSubject([]);\r\n private loadingSubject = new BehaviorSubject(false);\r\n\r\n public loading$ = this.loadingSubject.asObservable();\r\n count: number;\r\n constructor(private useradminService: UserAdminService) {}\r\n\r\n connect(collectionViewer: CollectionViewer): Observable {\r\n return this.usersSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.usersSubject.complete();\r\n this.loadingSubject.complete();\r\n }\r\n\r\n loadUsers(\r\n page?: number,\r\n limit?: number,\r\n sort?: string,\r\n viewOnlyActive?: boolean\r\n ) {\r\n this.loadingSubject.next(true);\r\n this.useradminService\r\n .getUsers(page, limit, sort, viewOnlyActive)\r\n .pipe(\r\n map(val => {\r\n this.count = val.count;\r\n return val.users;\r\n }),\r\n finalize(() => this.loadingSubject.next(false))\r\n )\r\n .subscribe(p => this.usersSubject.next(p));\r\n }\r\n}\r\n","import { Branch } from '../models/branch.model';\r\nimport { Role } from '../models/role.model';\r\n\r\nexport interface UsrInfo {\r\n email: string;\r\n userName: string;\r\n city: string;\r\n office: string;\r\n status: string;\r\n updated?: Date;\r\n updatedBy?: string;\r\n branches: Branch[];\r\n roles: Role[];\r\n}\r\n\r\nexport class UsrInfoC implements UsrInfo {\r\n email: string = null;\r\n userName: string = null;\r\n city: string = null;\r\n office: string = null;\r\n status: string = null;\r\n updated?: Date = null;\r\n updatedBy?: string = null;\r\n branches: Branch[] = [];\r\n roles: Role[] = [];\r\n}\r\n","
Crear usuario
\r\n
\r\n
\r\n

Usuario

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

Roles

\r\n
0\">\r\n
\r\n {{role.roleName}}\r\n
\r\n
\r\n

Sucursales

\r\n
0\">\r\n
\r\n {{branch.name}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n cancel Cancelar\r\n \r\n
\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { RolesApiResponse } from '../../models/roles-api-response.model';\r\nimport { BranchApiResponse } from '../../models/branch-api-response.model';\r\nimport { UsrInfo, UsrInfoC } from '../../models/usr-info.model';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UserAdminService } from '../../services/user-admin.service';\r\nimport { NavigateService } from '../../services/navigate.service';\r\nimport { RolesService } from '../../services/roles.service';\r\nimport { BranchesService } from '../../services/branches.service';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-admin-user-create',\r\n templateUrl: './admin-user-create.component.html',\r\n styleUrls: ['./admin-user-create.component.scss']\r\n})\r\nexport class AdminUserCreateComponent implements OnInit {\r\n rolesResp: RolesApiResponse;\r\n branchesResp: BranchApiResponse;\r\n email: string;\r\n user: UsrInfo;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private userAdminService: UserAdminService,\r\n public navigate: NavigateService,\r\n private rolesService: RolesService,\r\n private branchesService: BranchesService,\r\n public dialogRef: MatDialogRef\r\n ) {}\r\n\r\n onNoClick() {\r\n this.dialogRef.close();\r\n }\r\n\r\n ngOnInit() {\r\n this.user = new UsrInfoC();\r\n this.rolesService.getRoles().subscribe(data => this.setupRoles(data));\r\n this.branchesService\r\n .getBranches()\r\n .subscribe(data => this.setupBranches(data));\r\n }\r\n\r\n setupRoles(rolesResp: RolesApiResponse) {\r\n for (const role of rolesResp.roles) {\r\n for (const userRole of this.user.roles) {\r\n if (role.roleName === userRole.roleName) {\r\n role.checked = true;\r\n }\r\n }\r\n }\r\n this.rolesResp = rolesResp;\r\n }\r\n\r\n setupBranches(branchesResp: BranchApiResponse) {\r\n for (const branch of branchesResp.branches) {\r\n for (const userBranch of this.user.branches) {\r\n if (branch.id === userBranch.id) {\r\n branch.checked = true;\r\n }\r\n }\r\n }\r\n this.branchesResp = branchesResp;\r\n }\r\n\r\n saveChanges() {\r\n this.userAdminService.saveUser(this.user).subscribe(v => {\r\n const activeBranches = this.branchesResp.branches\r\n .filter(q => q.checked === true)\r\n .map(p => p.id);\r\n const activeRoles = this.rolesResp.roles\r\n .filter(q => q.checked === true)\r\n .map(p => p.roleName);\r\n if (activeBranches.length > 0 || activeRoles.length > 0) {\r\n this.userAdminService\r\n .saveUserInfo(activeRoles, activeBranches, this.user.email)\r\n .subscribe(data => this.onNoClick());\r\n } else {\r\n this.onNoClick();\r\n }\r\n });\r\n }\r\n}\r\n","\r\n \r\n
Administrador de usuarios
\r\n Ver Sólo Activos\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Email \r\n {{element.email}} \r\n \r\n \r\n \r\n Estado \r\n {{element.status}} \r\n \r\n \r\n Fecha Actualización \r\n {{element.updated | date: 'yyyy/MM/dd HH:mm:ss'}} \r\n \r\n \r\n Actualizado por \r\n {{element.updatedBy}} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { AdminUserDetailComponent } from './../../components/admin-user-detail/admin-user-detail.component';\r\nimport { UserAdminService } from './../../services/user-admin.service';\r\nimport { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\n\r\nimport { UserAdminDataSource } from './../../datasources/user-admin-data-source';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { UsrInfo } from './../../models/usr-info.model';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { tap } from 'rxjs/operators';\r\nimport { AdminUserCreateComponent } from '../admin-user-create/admin-user-create.component';\r\n\r\n@Component({\r\n selector: 'app-admin-users',\r\n templateUrl: './admin-users.component.html',\r\n styleUrls: ['./admin-users.component.scss']\r\n})\r\nexport class AdminUsersComponent implements OnInit, AfterViewInit {\r\n dataSource: UserAdminDataSource;\r\n displayedColumns = ['email', 'status', 'updatedBy', 'updated', 'actions'];\r\n\r\n selection = new SelectionModel(true, []);\r\n viewOnlyActive = true;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private userAdminService: UserAdminService,\r\n public dialog: MatDialog\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.dataSource = new UserAdminDataSource(this.userAdminService);\r\n this.dataSource.loadUsers();\r\n }\r\n ngAfterViewInit() {\r\n this.sort.sortChange.subscribe(() => {\r\n this.paginator.pageIndex = 0;\r\n this.loadUsers();\r\n });\r\n this.paginator.page.pipe(tap(() => this.loadUsers())).subscribe();\r\n }\r\n\r\n loadUsers() {\r\n this.dataSource.loadUsers(\r\n this.paginator.pageIndex + 1,\r\n this.paginator.pageSize,\r\n (this.sort.direction === 'desc' ? '-' : '') + this.sort.active,\r\n this.viewOnlyActive\r\n );\r\n }\r\n\r\n changeOnlyActive() {\r\n this.viewOnlyActive = !this.viewOnlyActive;\r\n this.loadUsers();\r\n }\r\n\r\n deleteUser(user: UsrInfo) {\r\n user.status = 'D';\r\n }\r\n\r\n restoreUser(user: UsrInfo) {\r\n user.status = 'A';\r\n }\r\n\r\n openDetailDialog(user: UsrInfo): void {\r\n const dialogRef = this.dialog.open(AdminUserDetailComponent, {\r\n width: '700px',\r\n data: { userInfo: user },\r\n autoFocus: false\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.loadUsers();\r\n });\r\n }\r\n\r\n openCreateDialog(): void {\r\n const dialogRef = this.dialog.open(AdminUserCreateComponent, {\r\n width: '700px',\r\n autoFocus: false\r\n });\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.loadUsers();\r\n });\r\n }\r\n\r\n toggleUserStatus(user: UsrInfo) {\r\n if (user.status === 'A') {\r\n user.status = 'D';\r\n } else {\r\n user.status = 'A';\r\n }\r\n this.userAdminService.updateUserInfo(user.email, user.status, user.userName, user.city, user.office).subscribe();\r\n }\r\n}\r\n","import { DataSource } from '@angular/cdk/table';\r\nimport { CollectionViewer } from '@angular/cdk/collections';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\nimport { Branch } from './../models/branch.model';\r\nimport { BranchesService } from '../services/branches.service';\r\nimport { delay, map, finalize } from 'rxjs/operators';\r\n\r\n\r\nexport class BranchesDataSource implements DataSource {\r\n private branchesSubject = new BehaviorSubject([]);\r\n private loadingSubject = new BehaviorSubject(false);\r\n\r\n public loading$ = this.loadingSubject.asObservable();\r\n count: number;\r\n constructor(private branchesService: BranchesService) { }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable {\r\n return this.branchesSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.branchesSubject.complete();\r\n this.loadingSubject.complete();\r\n }\r\n\r\n loadBranches(\r\n page?: number,\r\n limit?: number,\r\n sort?: string,\r\n viewOnlyActive?: boolean\r\n ) {\r\n this.loadingSubject.next(true);\r\n this.branchesService\r\n .getBranches(page, limit, sort, viewOnlyActive)\r\n .pipe(\r\n map(val => {\r\n this.count = val.count;\r\n return val.branches;\r\n\r\n }),\r\n finalize(() => this.loadingSubject.next(false))\r\n )\r\n .subscribe(p => this.branchesSubject.next(p));\r\n }\r\n\r\n deleteBranches(\r\n id: string\r\n ) {\r\n this.loadingSubject.next(true);\r\n this.branchesService.deleteBranches(id).pipe(\r\n finalize(() => this.loadingSubject.next(false))\r\n );\r\n }\r\n}\r\n","\r\n \r\n
Administrador de sucursales
\r\n \r\n
\r\n \r\n \r\n \r\n Id \r\n {{element.id}} \r\n \r\n \r\n Nombre \r\n {{element.name}} \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n","import { BranchesService } from './../../services/branches.service';\r\nimport { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\n\r\nimport { BranchesDataSource } from '../../datasources/branches-data-source';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { Branch } from '../../models/branch.model';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-admin-branches',\r\n templateUrl: './admin-branches.component.html',\r\n styleUrls: ['./admin-branches.component.scss']\r\n})\r\nexport class AdminBranchesComponent implements OnInit, AfterViewInit {\r\n\r\n dataSource: BranchesDataSource;\r\n displayedColumns = [\r\n 'id',\r\n 'name',\r\n 'actions'\r\n ];\r\n selection = new SelectionModel(true, []);\r\n viewOnlyActive = true;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n // @ViewChild(MatSort) sort: MatSort;\r\n constructor(private branchesService: BranchesService) {}\r\n\r\n ngOnInit() {\r\n this.dataSource = new BranchesDataSource(this.branchesService);\r\n this.dataSource.loadBranches();\r\n }\r\n\r\n ngAfterViewInit() {\r\n // this.sort.sortChange.subscribe(() => {\r\n // this.paginator.pageIndex = 0;\r\n // this.loadBranches();\r\n // });\r\n this.paginator.page.pipe(tap(() => this.loadBranches())).subscribe();\r\n }\r\n\r\n loadBranches() {\r\n this.dataSource.loadBranches(\r\n this.paginator.pageIndex + 1,\r\n this.paginator.pageSize,\r\n null,\r\n this.viewOnlyActive\r\n );\r\n }\r\n\r\n deleteBranch(id: string) {\r\n this.dataSource.deleteBranches(id);\r\n }\r\n\r\n}\r\n","import { RoutesApiResponse } from './../models/route-api-response.model';\r\nimport { BaseService } from './base.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ServerRoute } from './../models/server-route.model';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServerRoutesService {\r\n constructor(\r\n private httpClient: HttpClient,\r\n private baseService: BaseService\r\n ) {}\r\n\r\n getRoutes(): Observable {\r\n const url = `${this.baseService.hostDomain}/api/routes`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando las rutas');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n saveRoutes(roleName: string, routes: string[]) {\r\n const url = `${this.baseService.hostDomain}/api/roles/${roleName}/routes`;\r\n const data: any = {};\r\n data.roleName = roleName;\r\n data.routeIds = routes;\r\n return this.httpClient.post(url, data).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Guardando rutas');\r\n return [];\r\n })\r\n );\r\n }\r\n}\r\n","
Detalle de Rol
\r\n
\r\n
\r\n
\r\n {{route.routeName}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n cancel Cancelar\r\n
\r\n","import { ServerRoutesService } from './../../services/server-routes.service';\r\nimport { RoutesApiResponse } from './../../models/route-api-response.model';\r\nimport { ServerRoute } from './../../models/server-route.model';\r\nimport { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Role } from '../../models/role.model';\r\n\r\n\r\n@Component({\r\n selector: 'app-admin-roles-detail',\r\n templateUrl: './admin-roles-detail.component.html',\r\n styleUrls: ['./admin-roles-detail.component.scss']\r\n})\r\nexport class AdminRolesDetailComponent implements OnInit {\r\n role: Role;\r\n routesResp: RoutesApiResponse;\r\n constructor( public dialogRef: MatDialogRef,\r\n private routesService: ServerRoutesService,\r\n @Inject(MAT_DIALOG_DATA) public data: any) { }\r\n\r\n ngOnInit() {\r\n this.role = this.data.roleInfo;\r\n this.routesService.getRoutes().subscribe(data => this.setupRoutes(data));\r\n }\r\n\r\n setupRoutes(routesResp: RoutesApiResponse) {\r\n for (const route of routesResp.routes) {\r\n for (const roleRoutes of this.role.routes) {\r\n if (route.routeName === roleRoutes.routeName) {\r\n route.checked = true;\r\n }\r\n }\r\n }\r\n this.routesResp = routesResp;\r\n }\r\n\r\n close() {\r\n this.dialogRef.close();\r\n }\r\n\r\n saveChanges() {\r\n const activeRoutes = this.routesResp.routes.filter(q => q.checked === true).map(p => p.routeId);\r\n this.routesService.saveRoutes(this.role.roleName, activeRoutes).subscribe(data => this.close());\r\n }\r\n}\r\n","import { DataSource } from '@angular/cdk/table';\r\nimport { CollectionViewer } from '@angular/cdk/collections';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\nimport { Role } from './../models/role.model';\r\nimport { RolesService } from '../services/roles.service';\r\nimport { delay, map, finalize } from 'rxjs/operators';\r\n\r\nexport class RolesDataSource implements DataSource {\r\n private rolesSubject = new BehaviorSubject([]);\r\n private loadingSubject = new BehaviorSubject(false);\r\n\r\n public loading$ = this.loadingSubject.asObservable();\r\n count: number;\r\n constructor(private rolesService: RolesService) {}\r\n\r\n connect(collectionViewer: CollectionViewer): Observable {\r\n return this.rolesSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.rolesSubject.complete();\r\n this.loadingSubject.complete();\r\n }\r\n\r\n loadRoles(\r\n page?: number,\r\n limit?: number,\r\n sort?: string,\r\n viewOnlyActive?: boolean\r\n ) {\r\n this.loadingSubject.next(true);\r\n this.rolesService\r\n .getRoles(page, limit, sort, viewOnlyActive)\r\n .pipe(\r\n map(val => {\r\n this.count = val.count;\r\n return val.roles;\r\n }),\r\n finalize(() => this.loadingSubject.next(false))\r\n )\r\n .subscribe(p => this.rolesSubject.next(p));\r\n }\r\n}\r\n","\r\n \r\n
Administrador de roles
\r\n Ver Sólo Activos\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Nombre \r\n {{element.roleName}} \r\n \r\n \r\n \r\n Estado \r\n {{element.status}} \r\n \r\n \r\n Fecha Actualización \r\n {{element.updated | date: 'yyyy/MM/dd HH:mm:ss'}} \r\n \r\n \r\n Actualizado por \r\n {{element.updatedBy}} \r\n \r\n \r\n \r\n \r\n \r\n edit\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { DeleteRoleApiResponse } from './../../models/delete-role-api-response.model';\r\nimport { AdminRolesDetailComponent } from './../admin-roles-detail/admin-roles-detail.component';\r\nimport { RolesService } from './../../services/roles.service';\r\nimport { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\n\r\nimport { RolesDataSource } from '../../datasources/roles-data-source';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { Role } from '../../models/role.model';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-admin-roles',\r\n templateUrl: './admin-roles.component.html',\r\n styleUrls: ['./admin-roles.component.scss']\r\n})\r\nexport class AdminRolesComponent implements OnInit, AfterViewInit {\r\n dataSource: RolesDataSource;\r\n displayedColumns = ['roleName', 'status', 'updatedBy', 'updated', 'actions'];\r\n\r\n selection = new SelectionModel(true, []);\r\n viewOnlyActive = true;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(private rolesService: RolesService, public dialog: MatDialog) {}\r\n\r\n ngOnInit() {\r\n this.dataSource = new RolesDataSource(this.rolesService);\r\n this.dataSource.loadRoles(null, null, null, true);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.sort.sortChange.subscribe(() => {\r\n this.paginator.pageIndex = 0;\r\n this.loadRoles();\r\n });\r\n this.paginator.page.pipe(tap(() => this.loadRoles())).subscribe();\r\n }\r\n\r\n loadRoles() {\r\n this.dataSource.loadRoles(\r\n this.paginator.pageIndex + 1,\r\n this.paginator.pageSize,\r\n (this.sort.direction === 'desc' ? '-' : '') + this.sort.active,\r\n this.viewOnlyActive\r\n );\r\n }\r\n\r\n changeOnlyActive() {\r\n this.viewOnlyActive = !this.viewOnlyActive;\r\n this.loadRoles();\r\n }\r\n\r\n editRole(role: Role) {\r\n const dialogRef = this.dialog.open(AdminRolesDetailComponent, {\r\n width: '',\r\n data: { roleInfo: role },\r\n autoFocus: false\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.loadRoles();\r\n });\r\n }\r\n\r\n toggleRole(role: Role) {\r\n this.rolesService.toggleRoleStatus(role.roleName).subscribe(data => {\r\n if (data.success) {\r\n if (role.status === 'A') {\r\n role.status = 'D';\r\n } else {\r\n role.status = 'A';\r\n }\r\n }\r\n });\r\n }\r\n // restoreRole(role: Role) {\r\n // role.status = 'A';\r\n // }\r\n}\r\n","
\r\n \r\n
\r\n \r\n arrow_back\r\n \r\n
\r\n Edición de producto\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Activo\r\n Desactivado\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ¿Se imprime en el periódico?\r\n
\r\n
\r\n

Campos:

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Editor HTML\r\n Textarea\r\n \r\n \r\n \r\n \r\n \r\n
\r\n Imprimir título\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n cancel Cancelar\r\n \r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ProductsService } from '../../services/products.service';\r\nimport { Product } from '../../models/product.model';\r\nimport { FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { ProductField } from '../../models/product-field.model';\r\nimport { NavigateService } from '../../services/navigate.service';\r\n\r\n@Component({\r\n selector: 'app-product-new',\r\n templateUrl: './product-new.component.html',\r\n styleUrls: ['./product-new.component.scss']\r\n})\r\nexport class ProductNewComponent {\r\n code: string;\r\n product: Product;\r\n productForm: FormGroup;\r\n constructor(\r\n private productService: ProductsService,\r\n private fb: FormBuilder,\r\n public navigate: NavigateService,\r\n private router: Router\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n private createForm() {\r\n this.productForm = this.fb.group({\r\n productCode: '',\r\n productDescription: '',\r\n status: '',\r\n sort: 0,\r\n headerImage: '',\r\n legalReference: '',\r\n isPrintable: false,\r\n fields: this.fb.array([])\r\n });\r\n }\r\n\r\n private rebuildForm() {\r\n this.productForm.reset({\r\n productDescription: this.product.productDescription,\r\n status: this.product.status,\r\n sort: this.product.sort,\r\n headerImage: this.product.headerImage,\r\n isPrintable: this.product.isPrintable,\r\n legalReference: this.product.legalReference\r\n });\r\n this.setFields(this.product.fields);\r\n }\r\n\r\n get fields(): FormArray {\r\n return this.productForm.get('fields') as FormArray;\r\n }\r\n\r\n private setFields(fields: ProductField[]) {\r\n this.productForm.setControl(\r\n 'fields',\r\n this.fb.array(fields.map(f => this.fb.group(f)))\r\n );\r\n }\r\n\r\n private prepareSaveProduct(): Product {\r\n const formModel = this.productForm.value;\r\n\r\n const fieldsDeepCopy: ProductField[] = formModel.fields.map(\r\n (p: ProductField) => Object.assign({}, p)\r\n );\r\n\r\n const saveProduct: Product = {\r\n productCode: formModel.productCode as string,\r\n productDescription: formModel.productDescription as string,\r\n status: formModel.status as string,\r\n sort: formModel.sort as number,\r\n headerImage: formModel.headerImage as string,\r\n legalReference: formModel.legalReference as string,\r\n fields: fieldsDeepCopy,\r\n isPrintable: formModel.isPrintable as boolean\r\n };\r\n return saveProduct;\r\n }\r\n\r\n addField() {\r\n this.fields.push(this.fb.group(new ProductField('', '', 1, false, '')));\r\n }\r\n\r\n spliceField(idx: number) {\r\n this.fields.removeAt(idx);\r\n }\r\n\r\n onSubmit() {\r\n this.productService.saveProduct(this.prepareSaveProduct()).subscribe(v => {\r\n this.router.navigateByUrl('/administrador/productos');\r\n });\r\n }\r\n revert() {\r\n this.rebuildForm();\r\n }\r\n}\r\n","import { EditionsApiResponse } from './../models/editions-api-response';\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { EditionHeader } from '../models/edition-header.model';\r\nimport { BaseService } from './base.service';\r\nimport { Edition } from '../models/edition.model';\r\nimport { Moment } from 'moment';\r\n\r\n@Injectable()\r\nexport class EditionsService {\r\n constructor(\r\n private httpClient: HttpClient,\r\n private baseService: BaseService\r\n ) {}\r\n\r\n getEditionHeader(startDate?: Date): Observable {\r\n const url = `${this.baseService.hostDomain}/api/editions/bystatistics`;\r\n return this.httpClient\r\n .post(url, {\r\n startDate: startDate\r\n })\r\n .pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Obteniendo la edición actual');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n getEditionByDate(queryDate: Date): Observable {\r\n const url = `${this.baseService.hostDomain}/api/editions/bydate`;\r\n return this.httpClient\r\n .post(url, {\r\n startDate: queryDate\r\n })\r\n .pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Consultando la edición');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n getEdition(id: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/editions/${id}`;\r\n return this.httpClient.get(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Consultando la edición');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n getEditionsPag(\r\n page?: number,\r\n limit?: number\r\n ): Observable {\r\n const url = `${this.baseService.hostDomain}/api/editions`;\r\n const data: any = {};\r\n if (page) {\r\n data.page = page;\r\n }\r\n if (limit) {\r\n data.limit = limit;\r\n }\r\n return this.httpClient.get(url, { params: data }).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando las ediciones');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n createEdition(startDate: Moment, endDate: Moment, closeDate: Moment) {\r\n const url = `${this.baseService.hostDomain}/api/editions`;\r\n const data: any = {};\r\n data.startDate = startDate;\r\n data.endDate = endDate;\r\n data.closeDate = closeDate;\r\n return this.httpClient.post(url, data).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Guardando edicion`);\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n deleteEdition(id: string) {\r\n const url = `${this.baseService.hostDomain}/api/editions/delete/${id}`;\r\n return this.httpClient.delete(url).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, `Borrando edicion`);\r\n return [];\r\n })\r\n );\r\n }\r\n}\r\n","\r\n Exportar Para Diseño\r\n Seleccione la fecha de la edición a generar.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Para la fecha seleccionada no se han encontrado ediciones.
\r\n
\r\n
\r\n
\r\n
\r\n","import { Edition } from './../../models/edition.model';\r\nimport { Moment } from 'moment';\r\nimport { Component } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { EditionsService } from '../../services/editions.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-main-publish',\r\n templateUrl: './main-publish.component.html',\r\n styleUrls: ['./main-publish.component.scss']\r\n})\r\nexport class MainPublishComponent {\r\n selectedDate: Moment;\r\n edition: Edition;\r\n exist = true;\r\n constructor(\r\n private editionService: EditionsService,\r\n private router: Router\r\n ) { }\r\n\r\n onChange($event: MatDatepickerInputEvent) {\r\n this.selectedDate = $event.value;\r\n this.editionService\r\n .getEditionByDate($event.value.toDate())\r\n .subscribe(v => {\r\n this.edition = v;\r\n this.exist = !(!this.edition);\r\n if (this.exist) {\r\n this.router.navigateByUrl(`/exportar/${this.edition.id}`);\r\n }\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BaseService } from './base.service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { PublishStatusApiResponse } from '../models/publish-status-api-response.model';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class PublishService {\r\n constructor(\r\n private httpClient: HttpClient,\r\n private baseService: BaseService\r\n ) {}\r\n\r\n getPublishStatus(editionId: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/export/status`;\r\n return this.httpClient.post(url, {\r\n editionId: editionId\r\n }).pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Consultando la edición');\r\n return [];\r\n })\r\n );\r\n }\r\n}\r\n","\r\n \r\n \r\n 1\">\r\n Edición: \r\n {{edition.publishDates[0] | date: 'dd MMMM \\'de\\' yyyy'}} \r\n al \r\n {{edition.publishDates[edition.publishDates.length -1] | date: 'dd MMMM \\'de\\' yyyy'}} \r\n \r\n \r\n Edición: \r\n {{edition.publishDates[0] | date: 'dd MMMM \\'de\\' yyyy'}} \r\n \r\n
\r\n \r\n
\r\n \r\n Edición ya publicada el {{data.publishLogging.publishTime | date: 'dd MMMM \\'de\\' yyyy \\'a las\\' HH:mm:ss'}}. {{data.publishLogging.total}}\r\n documentos publicados por {{data.publishLogging.userName}}\r\n \r\n \r\n Esta edición aún no ha sido publicada\r\n \r\n \r\n
\r\n
No hay ningún edicto para exportar en esta edición
\r\n
\r\n\r\n
\r\n \r\n Seleccione la familia de documentos a exportar\r\n
\r\n
\r\n
\r\n
\r\n
{{totalDocuments}}
\r\n \r\n Seleccionar Todos\r\n \r\n
\r\n
\r\n
{{item.quantity}}
\r\n \r\n {{item.productDescription}}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Aún faltan {{data.pendingDocumentsCount}} por digitar en esta edición puede\r\n \r\n
\r\n Definitivo\r\n
\r\n \r\n description Borrador\r\n
\r\n
\r\n","import { EditionsService } from './../../services/editions.service';\r\nimport { Edition } from './../../models/edition.model';\r\nimport { PublishStatusApiResponse } from './../../models/publish-status-api-response.model';\r\nimport { PublishService } from './../../services/publish.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { ProductStatistics } from '../../models/product-statistics.model';\r\nimport { HttpParams } from '@angular/common/http';\r\n\r\n@Component({\r\n selector: 'app-publish-edition',\r\n templateUrl: './publish-edition.component.html',\r\n styleUrls: ['./publish-edition.component.scss']\r\n})\r\nexport class PublishEditionComponent implements OnInit {\r\n id: string;\r\n data: PublishStatusApiResponse;\r\n edition: Edition;\r\n totalDocuments: number;\r\n selection = new SelectionModel(true, []);\r\n omitInProgressDocuments = false;\r\n draftHref: string;\r\n definitiveHref: string;\r\n hasProducts: boolean;\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private publishService: PublishService,\r\n private editionService: EditionsService,\r\n private router: Router\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.id = this.activatedRoute.snapshot.paramMap.get('id');\r\n this.refresh();\r\n }\r\n\r\n refresh() {\r\n this.getEdition();\r\n this.getPublish();\r\n }\r\n\r\n getPublish() {\r\n this.publishService.getPublishStatus(this.id).subscribe(v => {\r\n this.data = v;\r\n this.hasProducts = v.products && v.products.length > 0;\r\n if (this.hasProducts) {\r\n this.totalDocuments = v.products\r\n .map(r => r.quantity)\r\n .reduce((a, b) => a + b);\r\n }\r\n });\r\n }\r\n\r\n getEdition() {\r\n this.editionService.getEdition(this.id).subscribe(v => (this.edition = v));\r\n }\r\n\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.data.products.length;\r\n return numSelected === numRows;\r\n }\r\n\r\n /** Selects all rows if they are not all selected; otherwise clear selection. */\r\n masterToggle() {\r\n this.isAllSelected()\r\n ? this.selection.clear()\r\n : this.data.products.forEach(row => this.selection.select(row));\r\n this.updateHref();\r\n }\r\n\r\n updateHref() {\r\n const d: any = {};\r\n d.editionId = this.edition.id;\r\n d.selectedProducts = this.selection.selected.map(v => v.productCode);\r\n const query: HttpParams = new HttpParams({ fromObject: d });\r\n this.draftHref = `/generar?${query.toString()}`;\r\n this.definitiveHref = `/generar-definitivo?${query.toString()}`;\r\n }\r\n\r\n goBack() {\r\n this.router.navigateByUrl(`/exportar`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n Router\r\n} from '@angular/router';\r\nimport { UserService } from './user.service';\r\n\r\n@Injectable()\r\nexport class AuthGuardService implements CanActivate {\r\n constructor(private userService: UserService, private router: Router) {}\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n if (!this.userService.isLoggedIn) {\r\n this.userService.redirectUrl = state.url;\r\n this.router.navigate(['/ingresar']);\r\n return false;\r\n }\r\n const authorized = this.userService.user.routes.some(v => v.url === `/${route.routeConfig.path}`);\r\n if (!authorized) {\r\n this.router.navigate(['/no-autorizado']);\r\n return false;\r\n }\r\n return authorized;\r\n }\r\n}\r\n","\r\n Validando la información del usuario\r\n \r\n \r\n \r\n\r\n\r\n Ingreso\r\n Para ingresar a la herramienta debe tener una cuenta de Google con los permisos necesarios. Si aún no dispone de esa cuenta,\r\n debe realizar la solicitud a través de su jefe inmediato.\r\n \r\n
\r\n account_circle Ingresar\r\n
\r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { UserService } from '../../services/user.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent {\r\n loading = true;\r\n constructor(private userService: UserService, private router: Router) {\r\n this.userService.getUser().subscribe(v => {\r\n if (v) {\r\n this.userService.user = v;\r\n this.userService.isLoggedIn = true;\r\n const redirect = this.userService.redirectUrl\r\n ? this.userService.redirectUrl\r\n : '/';\r\n this.loading = false;\r\n this.userService.refreshStatus();\r\n this.router.navigate([redirect]);\r\n }\r\n this.loading = false;\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { NavigateService } from '../../services/navigate.service';\r\n\r\n@Component({\r\n selector: 'app-forbidden',\r\n templateUrl: './forbidden.component.html',\r\n styleUrls: ['./forbidden.component.scss']\r\n})\r\nexport class ForbiddenComponent {\r\n\r\n constructor(public navigateService: NavigateService) { }\r\n\r\n\r\n\r\n}\r\n","\r\n No está autorizado para acceder a esta página\r\n Si cree que debería tener acceso a esta característica, debe informalo a su jefe inmediato.\r\n \r\n \r\n \r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-no-access',\r\n templateUrl: './no-access.component.html',\r\n styleUrls: ['./no-access.component.scss']\r\n})\r\nexport class NoAccessComponent {\r\n\r\n constructor() { }\r\n\r\n}\r\n","\r\n No tiene permisos para acceder a la aplicación\r\n La cuenta seleccionada no tiene permisos para acceder a la aplicación. Si cree que es un error puede solicitar la verificación con su jefe inmediato.\r\n \r\n account_circle Ingresar con otra cuenta de google\r\n \r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.scss']\r\n})\r\nexport class NotFoundComponent {\r\n\r\n constructor() { }\r\n}\r\n","\r\n Página no encontrada\r\n La página a la que está intentando acceder no existe.\r\n \r\n homeIr al inicio\r\n \r\n\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.scss']\r\n})\r\nexport class LogoutComponent {\r\n\r\n constructor() { }\r\n\r\n\r\n\r\n}\r\n","\r\n Ha cerrado sesión correctamente\r\n \r\n Ingresar\r\n \r\n\r\n","import { DataSource } from '@angular/cdk/table';\r\nimport { CollectionViewer } from '@angular/cdk/collections';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\nimport { Edition } from './../models/edition.model';\r\nimport { EditionsService } from './../services/editions.service';\r\nimport { delay, map, finalize } from 'rxjs/operators';\r\n\r\nexport class EditionsDataSource implements DataSource {\r\n private editionsSubject = new BehaviorSubject([]);\r\n private loadingSubject = new BehaviorSubject(false);\r\n\r\n public loading$ = this.loadingSubject.asObservable();\r\n count: number;\r\n constructor(private editionsService: EditionsService) {}\r\n\r\n connect(collectionViewer: CollectionViewer): Observable {\r\n return this.editionsSubject.asObservable();\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n this.editionsSubject.complete();\r\n this.loadingSubject.complete();\r\n }\r\n\r\n loadEditions(\r\n page?: number,\r\n limit?: number\r\n ) {\r\n this.loadingSubject.next(true);\r\n this.editionsService\r\n .getEditionsPag(page, limit)\r\n .pipe(\r\n map(val => {\r\n this.count = val.count;\r\n return val.editions;\r\n }),\r\n finalize(() => this.loadingSubject.next(false))\r\n )\r\n .subscribe(p => this.editionsSubject.next(p));\r\n }\r\n}\r\n","
Nueva edición
\r\n
\r\n

Seleccione fecha de inicio y fin de la edición

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

Seleccione fecha y hora de cierre

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n schedule\r\n \r\n {{hour}}\r\n \r\n \r\n {{minute}}\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n cancel Cancelar\r\n
\r\n","import { Moment } from 'moment';\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { EditionsService } from './../../services/editions.service';\r\n\r\n@Component({\r\n selector: 'app-admin-new-edition',\r\n templateUrl: './admin-new-edition.component.html',\r\n styleUrls: ['./admin-new-edition.component.scss']\r\n})\r\nexport class AdminNewEditionComponent implements OnInit {\r\n minutes: number[];\r\n hours: number[];\r\n startDate: Moment;\r\n endDate: Moment;\r\n closeDate: Moment;\r\n completeCloseDate: Moment;\r\n selectedHour: number;\r\n selectedMinute: number;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private editionsService: EditionsService,\r\n public snackBar: MatSnackBar\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.minutes = [];\r\n this.hours = [];\r\n for (let i = 0; i < 4; i++) {\r\n this.minutes.push(i * 15);\r\n }\r\n for (let i = 0; i < 24; i++) {\r\n this.hours.push(i);\r\n }\r\n }\r\n\r\n onStartDateChange($event: MatDatepickerInputEvent) {\r\n this.startDate = $event.value;\r\n }\r\n\r\n onEndDateChange($event: MatDatepickerInputEvent) {\r\n this.endDate = $event.value;\r\n }\r\n\r\n onCloseDateChange($event: MatDatepickerInputEvent) {\r\n this.closeDate = $event.value;\r\n }\r\n\r\n validateDates() {\r\n if (this.closeDate > this.startDate) {\r\n this.snackBar.open(\r\n 'La fecha de cierre debe ser menor a la fecha de inicio',\r\n 'cerrar'\r\n );\r\n return false;\r\n } else {\r\n if (this.endDate < this.startDate) {\r\n this.snackBar.open(\r\n 'La fecha final debe ser menor a la fecha de inicio',\r\n 'cerrar'\r\n );\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n cancel() {\r\n this.dialogRef.close();\r\n }\r\n\r\n saveEdition() {\r\n if (this.validateDates()) {\r\n this.closeDate.hour(this.selectedHour);\r\n this.closeDate.minute(this.selectedMinute);\r\n this.editionsService\r\n .createEdition(this.startDate, this.endDate, this.closeDate)\r\n .subscribe(data => {\r\n if (data.success) {\r\n this.cancel();\r\n } else {\r\n this.snackBar.open(\r\n 'Ya existe una edicion con esta fecha de inicio',\r\n 'cerrar'\r\n );\r\n }\r\n });\r\n }\r\n }\r\n\r\n saveDisabled() {\r\n if (this.startDate && this.endDate && this.closeDate) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n}\r\n","\r\n \r\n
Administrador de ediciones
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n Fecha(s) \r\n \r\n
{{element.publishDates| date: 'yyyy/MM/dd'}}
\r\n
1\"> {{element.publishDates[0]| date: 'yyyy/MM/dd'}} - {{element.publishDates[element.publishDates.length -1] | date: 'yyyy/MM/dd'}}
\r\n
\r\n
\r\n \r\n \r\n Cierre \r\n {{element.closeDate | date: 'yyyy/MM/dd HH:mm aa'}} \r\n \r\n \r\n Estado \r\n {{element.status}} \r\n \r\n \r\n Cantidad Edictos \r\n {{element.count}} \r\n \r\n \r\n \r\n \r\n add\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","import { EditionsService } from './../../services/editions.service';\r\nimport {\r\n Component,\r\n OnInit,\r\n ViewChild,\r\n AfterViewInit,\r\n Inject\r\n} from '@angular/core';\r\n\r\nimport { EditionsDataSource } from './../../datasources/editions-data-source';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { Edition } from './../../models/edition.model';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { tap } from 'rxjs/operators';\r\nimport { AdminNewEditionComponent } from './../admin-new-edition/admin-new-edition.component';\r\n\r\n@Component({\r\n selector: 'app-admin-editions',\r\n templateUrl: './admin-editions.component.html',\r\n styleUrls: ['./admin-editions.component.scss']\r\n})\r\nexport class AdminEditionsComponent implements OnInit, AfterViewInit {\r\n dataSource: EditionsDataSource;\r\n displayedColumns = [\r\n 'publishDates',\r\n 'closeDate',\r\n 'status',\r\n 'count',\r\n 'actions'\r\n ];\r\n\r\n selection = new SelectionModel(true, []);\r\n viewOnlyActive = true;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n private editionsService: EditionsService,\r\n public dialog: MatDialog\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.dataSource = new EditionsDataSource(this.editionsService);\r\n this.dataSource.loadEditions(null, null);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.sort.sortChange.subscribe(() => {\r\n this.paginator.pageIndex = 0;\r\n this.loadEditions();\r\n });\r\n this.paginator.page.pipe(tap(() => this.loadEditions())).subscribe();\r\n }\r\n\r\n loadEditions() {\r\n this.dataSource.loadEditions(\r\n this.paginator.pageIndex + 1,\r\n this.paginator.pageSize\r\n );\r\n }\r\n\r\n changeOnlyActive() {\r\n this.viewOnlyActive = !this.viewOnlyActive;\r\n this.loadEditions();\r\n }\r\n\r\n openNewEditionModule() {\r\n const dialogRef = this.dialog.open(AdminNewEditionComponent, {\r\n width: '600px',\r\n autoFocus: false\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.loadEditions();\r\n });\r\n }\r\n\r\n deleteEdition(id: string) {\r\n const dialogRef = this.dialog.open(ConfirmDeleteDialogComponent, {\r\n width: '300px',\r\n data: { editionId: id },\r\n autoFocus: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.loadEditions();\r\n });\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-confirm-delete-dialog',\r\n templateUrl: 'confirm-delete-dialog.html',\r\n styleUrls: ['./admin-editions.component.scss']\r\n})\r\nexport class ConfirmDeleteDialogComponent implements OnInit {\r\n id: string;\r\n constructor(\r\n private editionsService: EditionsService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: any\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.id = this.data.editionId;\r\n }\r\n\r\n close(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n deleteEdition() {\r\n this.editionsService.deleteEdition(this.id).subscribe(data => this.close());\r\n }\r\n}\r\n","
Borrar Edicion
\r\n
\r\n

Esta seguro de que desea eliminar esta edición?

\r\n
\r\n
\r\n \r\n \r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { SearchEdictRequest } from '../models/search-edict-request.model';\r\nimport { SearchEdictResponse } from '../models/search-edict-response.model';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { DetailEdictResponse } from '../models/detail-edict-response.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CertService {\r\n\r\n constructor(\r\n private httpClient: HttpClient,\r\n private baseService: BaseService) { }\r\n\r\n searchEdicts(request: SearchEdictRequest): Observable {\r\n const url = `${this.baseService.hostDomain}/api/cert/search`;\r\n return this.httpClient\r\n .post(url, request)\r\n .pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Buscando edictos');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n getDetail(id: string): Observable {\r\n const url = `${this.baseService.hostDomain}/api/cert/detail/${id}`;\r\n return this.httpClient\r\n .get(url)\r\n .pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Retornando el detalle de edictos');\r\n return [];\r\n })\r\n );\r\n }\r\n\r\n downloadCert(id: string, publishDate: Date): Observable {\r\n return this.httpClient\r\n .get(`/api/cert/generate/${id}?publishDate=${publishDate}`, {\r\n responseType: 'blob',\r\n })\r\n .pipe(\r\n catchError(err => {\r\n if (!(err.error instanceof Blob)) {\r\n this.baseService.handleError(err, 'Descargando PDF de certificación de edicto');\r\n }\r\n return [err];\r\n })\r\n );\r\n }\r\n\r\n downloadCertError(err: any) {\r\n const reader = new FileReader();\r\n\r\n reader.onloadend = () => {\r\n const text = reader.result as string;\r\n this.baseService.customError(text);\r\n };\r\n reader.readAsText(err.error);\r\n }\r\n\r\n sendEmailCert(id: string, email: string, publishDate: Date): Observable {\r\n return this.httpClient\r\n .get(`/api/cert/sendemail/${id}?email=${email}&publishDate=${publishDate}`)\r\n .pipe(\r\n catchError(err => {\r\n this.baseService.handleError(err, 'Enviando email de certificación de edicto');\r\n return [err];\r\n })\r\n );\r\n }\r\n\r\n sendEmailCertError(errMsg: string) {\r\n this.baseService.customError(errMsg);\r\n }\r\n}\r\n","
\r\n \r\n \r\n Buscar Edicto\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Id \r\n {{element.id}} \r\n \r\n\r\n \r\n Fechas \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Fragmento \r\n \r\n {{element.matchText}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { CertService } from '../../services/cert.service';\r\nimport { SearchEdictResponse } from '../../models/search-edict-response.model';\r\n\r\n@Component({\r\n selector: 'app-cert-index',\r\n templateUrl: './cert-index.component.html',\r\n styleUrls: ['./cert-index.component.scss']\r\n})\r\nexport class CertIndexComponent {\r\n searchForm = this.fb.group({\r\n term: [''],\r\n startDate: [],\r\n endDate: []\r\n });\r\n searchResults: SearchEdictResponse;\r\n displayedColumns = ['id', 'dates', 'match', 'actions'];\r\n constructor(private fb: FormBuilder,\r\n private certService: CertService) { }\r\n doSearch() {\r\n this.certService.searchEdicts(this.searchForm.value).subscribe(v => this.searchResults = v);\r\n }\r\n}\r\n","\r\n
\r\n \r\n arrow_back\r\n \r\n
\r\n \r\n
{{detailResponse.product}}
\r\n
\r\n
\r\n Fecha de publicación\r\n {{dt | date: 'MMM dd yyyy '}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {{item.name}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {{item | date: 'MMM dd yyyy'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { MainTypeComponent } from '../components/main-type/main-type.component';\r\nimport { MainHomeComponent } from '../components/main-home/main-home.component';\r\nimport { TypeOrderComponent } from '../components/type-order/type-order.component';\r\nimport { TypeOrderItemComponent } from '../components/type-order-item/type-order-item.component';\r\nimport { SearchEdictComponent } from '../components/search-edict/search-edict.component';\r\nimport { OrderComponent } from './../components/order/order.component';\r\nimport { OrderItemComponent } from '../components/order-item/order-item.component';\r\nimport { SearchValidateEdictComponent } from '../components/search-validate-edict/search-validate-edict.component';\r\nimport { ValidateOrderComponent } from '../components/validate-order/validate-order.component';\r\nimport { MainReportComponent } from '../components/main-report/main-report.component';\r\nimport { AdminProductsComponent } from '../components/admin-products/admin-products.component';\r\nimport { ProductDetailComponent } from '../components/product-detail/product-detail.component';\r\nimport { AdminUsersComponent } from '../components/admin-users/admin-users.component';\r\nimport { AdminBranchesComponent } from '../components/admin-branches/admin-branches.component';\r\nimport { AdminRolesComponent } from '../components/admin-roles/admin-roles.component';\r\nimport { AdminUserDetailComponent } from './../components/admin-user-detail/admin-user-detail.component';\r\nimport { ProductNewComponent } from '../components/product-new/product-new.component';\r\nimport { MainPublishComponent } from '../components/main-publish/main-publish.component';\r\nimport { PublishEditionComponent } from '../components/publish-edition/publish-edition.component';\r\nimport { AuthGuardService } from '../services/auth-guard.service';\r\nimport { LoginComponent } from '../components/login/login.component';\r\nimport { ForbiddenComponent } from '../components/forbidden/forbidden.component';\r\nimport { NoAccessComponent } from '../components/no-access/no-access.component';\r\nimport { NotFoundComponent } from '../components/not-found/not-found.component';\r\nimport { LogoutComponent } from '../components/logout/logout.component';\r\nimport { AdminEditionsComponent } from './../components/admin-editions/admin-editions.component';\r\nimport { CertIndexComponent } from '../components/cert-index/cert-index.component';\r\nimport { CertDetailComponent } from '../components/cert-detail/cert-detail.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'administrador/productos/nuevo', component: ProductNewComponent, canActivate: [AuthGuardService] },\r\n { path: 'administrador/productos/:code', component: ProductDetailComponent, canActivate: [AuthGuardService]},\r\n { path: 'administrador/productos', component: AdminProductsComponent, canActivate: [AuthGuardService]},\r\n { path: 'administrador/usuarios', component: AdminUsersComponent, canActivate: [AuthGuardService] },\r\n { path: 'administrador/usuarios:email', component: AdminUsersComponent, canActivate: [AuthGuardService] },\r\n { path: 'administrador/sucursales', component: AdminBranchesComponent, canActivate: [AuthGuardService]},\r\n { path: 'administrador/roles', component: AdminRolesComponent, canActivate: [AuthGuardService]},\r\n { path: 'administrador/ediciones', component: AdminEditionsComponent, canActivate: [AuthGuardService]},\r\n { path: 'certificaciones/:id', component: CertDetailComponent, canActivate: [AuthGuardService]},\r\n { path: 'certificaciones', component: CertIndexComponent, canActivate: [AuthGuardService]},\r\n { path: 'reportes', component: MainReportComponent, canActivate: [AuthGuardService]},\r\n { path: 'exportar/:id', component: PublishEditionComponent, canActivate: [AuthGuardService] },\r\n { path: 'exportar', component: MainPublishComponent, canActivate: [AuthGuardService] },\r\n { path: 'validar/:id', component: ValidateOrderComponent, canActivate: [AuthGuardService] },\r\n { path: 'validar', component: SearchValidateEdictComponent, canActivate: [AuthGuardService] },\r\n { path: 'digitar/:id/:line', component: TypeOrderItemComponent, canActivate: [AuthGuardService] },\r\n { path: 'digitar/:id', component: TypeOrderComponent, canActivate: [AuthGuardService] },\r\n { path: 'digitar', component: MainTypeComponent, canActivate: [AuthGuardService] },\r\n { path: 'buscar/:id/:line', component: OrderItemComponent, canActivate: [AuthGuardService]},\r\n { path: 'buscar/:id', component: OrderComponent, canActivate: [AuthGuardService] },\r\n { path: 'buscar', component: SearchEdictComponent, canActivate: [AuthGuardService] },\r\n { path: 'ingresar', component: LoginComponent },\r\n { path: 'no-autorizado', component: ForbiddenComponent },\r\n { path: 'sin-acceso', component: NoAccessComponent },\r\n { path: 'salir', component: LogoutComponent },\r\n { path: '', component: MainHomeComponent, canActivate: [AuthGuardService] },\r\n { path: '**', component: NotFoundComponent },\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' }),\r\n ],\r\n exports: [\r\n RouterModule\r\n ]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { catchError } from 'rxjs/operators';\r\nimport { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { CertService } from '../../services/cert.service';\r\nimport { DetailEdictResponse } from '../../models/detail-edict-response.model';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-cert-detail',\r\n templateUrl: './cert-detail.component.html',\r\n styleUrls: ['./cert-detail.component.scss']\r\n})\r\nexport class CertDetailComponent implements OnInit {\r\n sendForm = this.fb.group({\r\n email: ['', [Validators.required, Validators.email]],\r\n selectedDate: []\r\n });\r\n detailResponse: DetailEdictResponse;\r\n @ViewChild('embedpdf') embedpdf: ElementRef;\r\n downloadingPDF = false;\r\n showCertPDFIframe = false;\r\n certEmailSent = false;\r\n sendingEmail = false;\r\n\r\n constructor(private fb: FormBuilder,\r\n private route: ActivatedRoute,\r\n private certService: CertService) { }\r\n\r\n ngOnInit() {\r\n this.route.params.subscribe(p => {\r\n this.getDetail(p['id']);\r\n });\r\n }\r\n\r\n getDetail(id: string) {\r\n this.certService.getDetail(id).subscribe(v => this.detailResponse = v);\r\n }\r\n\r\n downloadCert(id: string, publishDate: Date) {\r\n this.downloadingPDF = true;\r\n\r\n this.certService.downloadCert(id, publishDate)\r\n .subscribe(res => {\r\n if (res.size) {\r\n const url = window.URL.createObjectURL(res);\r\n this.embedpdf.nativeElement.src = url;\r\n\r\n this.embedpdf.nativeElement.style.height = '800px';\r\n\r\n this.showCertPDFIframe = true;\r\n\r\n const pdfSectionPosition = this.embedpdf.nativeElement.getBoundingClientRect().top;\r\n\r\n window.setTimeout(function () {\r\n window.scrollTo({\r\n top: pdfSectionPosition,\r\n behavior: 'smooth'\r\n });\r\n }, 150);\r\n } else if (res.error instanceof Blob) {\r\n this.certService.downloadCertError(res);\r\n }\r\n this.downloadingPDF = false;\r\n });\r\n }\r\n\r\n sendEmailCert(id: string, email: string, publishDate: Date) {\r\n this.sendingEmail = true;\r\n this.certService.sendEmailCert(id, email, publishDate)\r\n .subscribe(res => {\r\n if (res.success === false) {\r\n this.certService.sendEmailCertError(res.errorMessage);\r\n } else if (res.success === true) {\r\n this.certEmailSent = true;\r\n }\r\n this.sendingEmail = false;\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatOptionModule, MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\n@NgModule({\r\n exports: [\r\n MatAutocompleteModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatDialogModule,\r\n MatDatepickerModule,\r\n MatExpansionModule,\r\n MatFormFieldModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatOptionModule,\r\n MatNativeDateModule,\r\n MatMenuModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatSelectModule,\r\n MatSnackBarModule,\r\n MatSidenavModule,\r\n MatSlideToggleModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n ]\r\n})\r\nexport class MaterialModule { }\r\n","import { trigger, state, animate, transition, style } from '@angular/animations';\r\n\r\nexport const fadeInAnimation =\r\n trigger('fadeInAnimation', [\r\n // route 'enter' transition\r\n transition('* <=> *', [\r\n\r\n // styles at start of transition\r\n style({ opacity: 0 }),\r\n\r\n // animation and styles at end of transition\r\n animate('.3s', style({ opacity: 1 }))\r\n ]),\r\n ]);\r\n","import {\r\n trigger,\r\n state,\r\n animate,\r\n transition,\r\n style,\r\n query\r\n} from '@angular/animations';\r\n\r\nexport const slideAnimation = trigger('slideAnimation', [\r\n transition('* <=> *', [\r\n // Initial state of new route\r\n query(\r\n ':enter',\r\n style({\r\n position: 'fixed',\r\n width: '100%',\r\n transform: 'translateX(-100%)'\r\n }),\r\n { optional: true }\r\n ),\r\n\r\n // move page off screen right on leave\r\n query(\r\n ':leave',\r\n animate(\r\n '500ms ease',\r\n style({\r\n position: 'fixed',\r\n width: '100%',\r\n transform: 'translateX(100%)'\r\n })\r\n ),\r\n { optional: true }\r\n ),\r\n\r\n // move page in screen from left to right\r\n query(\r\n ':enter',\r\n animate(\r\n '500ms ease',\r\n style({\r\n opacity: 1,\r\n transform: 'translateX(0%)'\r\n })\r\n ),\r\n { optional: true }\r\n )\r\n ])\r\n]);\r\n","\r\n \r\n
\r\n
\r\n \r\n Estadísticas Edictos\r\n
\r\n
\r\n ESTA EDICIÓN YA HA SIDO PUBLICADA\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{item.quantity}}\r\n {{item.statusName}}\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { interval, timer, Observable, Subscription } from 'rxjs';\r\nimport { takeUntil, filter } from 'rxjs/operators';\r\n\r\nimport { StatisticsService } from '../../services/statistics.service';\r\nimport { EditionsService } from '../../services/editions.service';\r\nimport { EditionHeader } from '../../models/edition-header.model';\r\nimport { StatisticsHeader } from '../../models/statistics-header.model';\r\nimport { Statistics } from '../../models/statistics.model';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Moment } from 'moment';\r\nimport { UserService } from '../../services/user.service';\r\n\r\n@Component({\r\n selector: 'app-edition-statistics',\r\n templateUrl: './edition-statistics.component.html',\r\n styleUrls: ['./edition-statistics.component.scss']\r\n})\r\nexport class EditionStatisticsComponent implements OnInit, OnDestroy {\r\n statisticsHeader: StatisticsHeader;\r\n editionHeader: EditionHeader;\r\n loading = false;\r\n subscription: Subscription;\r\n userSubscription: Subscription;\r\n constructor(\r\n private statisticsService: StatisticsService,\r\n private editionsService: EditionsService,\r\n private userService: UserService,\r\n public snackBar: MatSnackBar\r\n ) {\r\n this.userSubscription = userService.userSource$.subscribe(q => {\r\n this.ngOnInit();\r\n });\r\n this.subscription = statisticsService.statisticsSource$.subscribe(q => {\r\n this.refreshStatistics();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this.userService.isLoggedIn) {\r\n this.showStatistics();\r\n } else {\r\n this.statisticsHeader = null;\r\n this.editionHeader = null;\r\n }\r\n }\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n this.userSubscription.unsubscribe();\r\n }\r\n\r\n showStatistics(id?: string): void {\r\n this.loading = true;\r\n this.editionsService.getEditionHeader().subscribe(eh => {\r\n if (eh && eh.actual) {\r\n this.editionHeader = eh;\r\n this.statisticsService\r\n .getStatisticsHeader(eh.actual.id)\r\n .subscribe(r => {\r\n this.statisticsHeader = r;\r\n this.loading = false;\r\n }, e => (this.loading = false));\r\n } else {\r\n this.loading = false;\r\n this.snackBar.open('No se encontró edición para el día de trabajo actual', 'cerrar');\r\n }\r\n });\r\n }\r\n nextStatistics(): void {\r\n this.loading = true;\r\n this.editionsService\r\n .getEditionHeader(this.editionHeader.next.publishDates[0])\r\n .subscribe(eh => {\r\n this.editionHeader = eh;\r\n this.statisticsService\r\n .getStatisticsHeader(eh.actual.id)\r\n .subscribe(r => {\r\n this.changeValue(this.statisticsHeader.statistics, r.statistics);\r\n this.loading = false;\r\n }, e => (this.loading = false));\r\n });\r\n }\r\n\r\n prevStatistics(): void {\r\n this.loading = true;\r\n this.editionsService\r\n .getEditionHeader(this.editionHeader.previous.publishDates[0])\r\n .subscribe(eh => {\r\n this.editionHeader = eh;\r\n this.statisticsService\r\n .getStatisticsHeader(eh.actual.id)\r\n .subscribe(r => {\r\n this.changeValue(this.statisticsHeader.statistics, r.statistics);\r\n this.loading = false;\r\n // this.statisticsHeader = r;\r\n }, e => (this.loading = false));\r\n });\r\n }\r\n\r\n getStatistics(date: Moment) {\r\n this.loading = true;\r\n this.editionsService.getEditionHeader(date.toDate()).subscribe(eh => {\r\n if (eh && eh.actual) {\r\n this.editionHeader = eh;\r\n this.statisticsService\r\n .getStatisticsHeader(eh.actual.id)\r\n .subscribe(r => {\r\n // eslint-disable-next-line no-debugger\r\n debugger;\r\n this.changeValue(this.statisticsHeader.statistics, r.statistics);\r\n this.loading = false;\r\n // this.statisticsHeader = r;\r\n }, e => (this.loading = false));\r\n } else {\r\n this.loading = false;\r\n this.snackBar.open(\r\n `Para el día ${date.add(1, 'days').format('MMMM DD [de] YYYY')} no existe edición creada`,\r\n 'Cerrar'\r\n );\r\n }\r\n });\r\n }\r\n\r\n refreshStatistics(): void {\r\n this.loading = true;\r\n this.statisticsService\r\n .getStatisticsHeader(this.editionHeader.actual.id)\r\n .subscribe(r => {\r\n this.changeValue(this.statisticsHeader.statistics, r.statistics);\r\n this.loading = false;\r\n // this.statisticsHeader = r;\r\n }, e => (this.loading = false));\r\n }\r\n\r\n onChangeDate($event: MatDatepickerInputEvent) {\r\n const queryDate = $event.value.clone();\r\n this.getStatistics(queryDate.subtract(1, 'days'));\r\n }\r\n private changeValue(before: Statistics[], now: Statistics[]): void {\r\n for (const befItem of before) {\r\n for (const nowItem of now) {\r\n if (befItem.statusId === nowItem.statusId) {\r\n if (befItem.quantity !== nowItem.quantity) {\r\n const totalDelay = 1000;\r\n const difference = Math.abs(befItem.quantity - nowItem.quantity);\r\n let delta = 1;\r\n const delay = totalDelay / difference;\r\n const ii = interval(delay);\r\n const tt = ii.pipe(filter(val => val > difference));\r\n if (befItem.quantity > nowItem.quantity) {\r\n delta = -delta;\r\n }\r\n ii.pipe(takeUntil(tt)).subscribe(q => {\r\n if (befItem.quantity !== nowItem.quantity) {\r\n this.loading = true;\r\n befItem.quantity = befItem.quantity + delta;\r\n } else {\r\n this.loading = false;\r\n }\r\n });\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","\r\n \r\n \r\n Herramienta de digitación de edictos\r\n \r\n
\r\n
\r\n \r\n \r\n Cerrar Sesión\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { BaseService } from './../../services/base.service';\r\nimport { Component } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { fadeInAnimation } from '../../animations/fade-in.animation';\r\nimport { slideAnimation } from '../../animations/slide.animation';\r\nimport { UserService } from '../../services/user.service';\r\n\r\n@Component({\r\n selector: 'app-main-toolbar',\r\n templateUrl: './main-toolbar.component.html',\r\n styleUrls: ['./main-toolbar.component.scss'],\r\n animations: [slideAnimation, fadeInAnimation]\r\n})\r\nexport class MainToolbarComponent {\r\n constructor(\r\n baseService: BaseService,\r\n public snackBar: MatSnackBar,\r\n public userService: UserService\r\n ) {\r\n baseService.throwErrorSource$.subscribe(msg => {\r\n snackBar.open(msg, 'Cerrar');\r\n });\r\n }\r\n getRouteAnimation(outlet) {\r\n return outlet.activatedRouteData.animation;\r\n }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n}\r\n","\r\n\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, LOCALE_ID } from '@angular/core';\r\nimport { MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { FlexLayoutModule } from '@angular/flex-layout';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_FORMATS } from '@angular/material-moment-adapter';\r\nimport localeEsCo from '@angular/common/locales/es-CO';\r\nimport { ClipboardModule } from 'ngx-clipboard';\r\n\r\nimport { AppRoutingModule } from './modules/app-routing.module';\r\nimport { MaterialModule } from './modules/material.module';\r\nimport { UserService } from './services/user.service';\r\nimport { StatisticsService } from './services/statistics.service';\r\nimport { EditionsService } from './services/editions.service';\r\nimport { MainToolbarComponent } from './components/main-toolbar/main-toolbar.component';\r\nimport { MainTypeComponent } from './components/main-type/main-type.component';\r\nimport { AppComponent } from './app.component';\r\nimport { MainHomeComponent } from './components/main-home/main-home.component';\r\nimport { EditionStatisticsComponent } from './components/edition-statistics/edition-statistics.component';\r\nimport { SearchEdictComponent } from './components/search-edict/search-edict.component';\r\nimport { SearchTypeEdictComponent } from './components/search-type-edict/search-type-edict.component';\r\nimport { OrderService } from './services/order.service';\r\nimport { TypeOrderComponent } from './components/type-order/type-order.component';\r\nimport { TypeOrderTableComponent } from './components/type-order-table/type-order-table.component';\r\nimport { TypeOrderItemComponent } from './components/type-order-item/type-order-item.component';\r\nimport { BaseService } from './services/base.service';\r\nimport { TypeControlComponent } from './components/type-control/type-control.component';\r\nimport { TinyEditorComponent } from './components/tiny-editor/tiny-editor.component';\r\nimport { OrderComponent } from './components/order/order.component';\r\nimport { OrderTableComponent } from './components/order-table/order-table.component';\r\nimport { OrderItemComponent } from './components/order-item/order-item.component';\r\nimport { OrderHistoryComponent } from './components/order-history/order-history.component';\r\nimport { SearchValidateEdictComponent } from './components/search-validate-edict/search-validate-edict.component';\r\nimport { ValidateOrderComponent } from './components/validate-order/validate-order.component';\r\nimport { ValidateOrderTableComponent } from './components/validate-order-table/validate-order-table.component';\r\nimport { TimeService } from './services/time.service';\r\nimport { OrderDocumentHistoryComponent } from './components/order-document-history/order-document-history.component';\r\nimport { MainReportComponent } from './components/main-report/main-report.component';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport { AdminProductsComponent } from './components/admin-products/admin-products.component';\r\nimport { ProductDetailComponent } from './components/product-detail/product-detail.component';\r\nimport { AdminUsersComponent } from './components/admin-users/admin-users.component';\r\nimport { AdminBranchesComponent } from './components/admin-branches/admin-branches.component';\r\nimport { AdminRolesComponent } from './components/admin-roles/admin-roles.component';\r\nimport { AdminUserDetailComponent } from './components/admin-user-detail/admin-user-detail.component';\r\n\r\nimport { OcrService } from './services/ocr.service';\r\nimport { OcrControlComponent } from './components/ocr-control/ocr-control.component';\r\nimport { ProductNewComponent } from './components/product-new/product-new.component';\r\nimport { MainPublishComponent } from './components/main-publish/main-publish.component';\r\nimport { PublishEditionComponent } from './components/publish-edition/publish-edition.component';\r\nimport { PublishService } from './services/publish.service';\r\nimport { AuthGuardService } from './services/auth-guard.service';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { ForbiddenComponent } from './components/forbidden/forbidden.component';\r\nimport { NoAccessComponent } from './components/no-access/no-access.component';\r\nimport { NotFoundComponent } from './components/not-found/not-found.component';\r\nimport { LogoutComponent } from './components/logout/logout.component';\r\nimport { AdminEditionsComponent } from './components/admin-editions/admin-editions.component';\r\nimport { AdminNewEditionComponent } from './components/admin-new-edition/admin-new-edition.component';\r\nimport { ConfirmDeleteDialogComponent } from './components/admin-editions/admin-editions.component';\r\nimport { AdminUserCreateComponent } from './components/admin-user-create/admin-user-create.component';\r\nimport { AdminRolesDetailComponent } from './components/admin-roles-detail/admin-roles-detail.component';\r\nimport { CertIndexComponent } from './components/cert-index/cert-index.component';\r\nimport { CertDetailComponent } from './components/cert-detail/cert-detail.component';\r\n\r\nregisterLocaleData(localeEsCo, 'es-CO');\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n MainToolbarComponent,\r\n MainTypeComponent,\r\n MainHomeComponent,\r\n EditionStatisticsComponent,\r\n SearchEdictComponent,\r\n SearchTypeEdictComponent,\r\n TypeOrderComponent,\r\n TypeOrderTableComponent,\r\n TypeOrderItemComponent,\r\n TypeControlComponent,\r\n TinyEditorComponent,\r\n OrderComponent,\r\n OrderTableComponent,\r\n OrderItemComponent,\r\n OrderHistoryComponent,\r\n SearchValidateEdictComponent,\r\n ValidateOrderComponent,\r\n ValidateOrderTableComponent,\r\n OrderDocumentHistoryComponent,\r\n MainReportComponent,\r\n AdminProductsComponent,\r\n ProductDetailComponent,\r\n AdminUsersComponent,\r\n AdminBranchesComponent,\r\n AdminRolesComponent,\r\n AdminUserDetailComponent,\r\n OcrControlComponent,\r\n ProductNewComponent,\r\n MainPublishComponent,\r\n PublishEditionComponent,\r\n LoginComponent,\r\n ForbiddenComponent,\r\n NoAccessComponent,\r\n NotFoundComponent,\r\n LogoutComponent,\r\n AdminEditionsComponent,\r\n AdminNewEditionComponent,\r\n ConfirmDeleteDialogComponent,\r\n AdminUserCreateComponent,\r\n AdminRolesDetailComponent,\r\n CertIndexComponent,\r\n CertDetailComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n ClipboardModule,\r\n FlexLayoutModule,\r\n ReactiveFormsModule,\r\n FormsModule,\r\n MaterialModule,\r\n HttpClientModule\r\n ],\r\n entryComponents: [\r\n AdminUserDetailComponent,\r\n AdminUserCreateComponent,\r\n AdminNewEditionComponent,\r\n ConfirmDeleteDialogComponent,\r\n AdminRolesDetailComponent\r\n ],\r\n providers: [\r\n\r\n AuthGuardService,\r\n BaseService,\r\n EditionsService,\r\n OrderService,\r\n OcrService,\r\n PublishService,\r\n StatisticsService,\r\n UserService,\r\n TimeService,\r\n { provide: LOCALE_ID, useValue: 'es-CO' },\r\n { provide: MAT_DATE_LOCALE, useValue: 'es-CO' },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS },\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","var map = {\n\t\"./af\": 90776,\n\t\"./af.js\": 90776,\n\t\"./ar\": 67634,\n\t\"./ar-dz\": 42758,\n\t\"./ar-dz.js\": 42758,\n\t\"./ar-kw\": 64980,\n\t\"./ar-kw.js\": 64980,\n\t\"./ar-ly\": 9602,\n\t\"./ar-ly.js\": 9602,\n\t\"./ar-ma\": 52500,\n\t\"./ar-ma.js\": 52500,\n\t\"./ar-sa\": 36909,\n\t\"./ar-sa.js\": 36909,\n\t\"./ar-tn\": 92735,\n\t\"./ar-tn.js\": 92735,\n\t\"./ar.js\": 67634,\n\t\"./az\": 27798,\n\t\"./az.js\": 27798,\n\t\"./be\": 29949,\n\t\"./be.js\": 29949,\n\t\"./bg\": 44590,\n\t\"./bg.js\": 44590,\n\t\"./bm\": 15938,\n\t\"./bm.js\": 15938,\n\t\"./bn\": 60595,\n\t\"./bn-bd\": 51942,\n\t\"./bn-bd.js\": 51942,\n\t\"./bn.js\": 60595,\n\t\"./bo\": 4756,\n\t\"./bo.js\": 4756,\n\t\"./br\": 17277,\n\t\"./br.js\": 17277,\n\t\"./bs\": 4166,\n\t\"./bs.js\": 4166,\n\t\"./ca\": 13943,\n\t\"./ca.js\": 13943,\n\t\"./cs\": 53474,\n\t\"./cs.js\": 53474,\n\t\"./cv\": 92218,\n\t\"./cv.js\": 92218,\n\t\"./cy\": 21061,\n\t\"./cy.js\": 21061,\n\t\"./da\": 82743,\n\t\"./da.js\": 82743,\n\t\"./de\": 31899,\n\t\"./de-at\": 28580,\n\t\"./de-at.js\": 28580,\n\t\"./de-ch\": 3264,\n\t\"./de-ch.js\": 3264,\n\t\"./de.js\": 31899,\n\t\"./dv\": 98784,\n\t\"./dv.js\": 98784,\n\t\"./el\": 54654,\n\t\"./el.js\": 54654,\n\t\"./en-au\": 56277,\n\t\"./en-au.js\": 56277,\n\t\"./en-ca\": 76896,\n\t\"./en-ca.js\": 76896,\n\t\"./en-gb\": 71609,\n\t\"./en-gb.js\": 71609,\n\t\"./en-ie\": 24557,\n\t\"./en-ie.js\": 24557,\n\t\"./en-il\": 15836,\n\t\"./en-il.js\": 15836,\n\t\"./en-in\": 30262,\n\t\"./en-in.js\": 30262,\n\t\"./en-nz\": 43586,\n\t\"./en-nz.js\": 43586,\n\t\"./en-sg\": 38965,\n\t\"./en-sg.js\": 38965,\n\t\"./eo\": 62777,\n\t\"./eo.js\": 62777,\n\t\"./es\": 63357,\n\t\"./es-do\": 3128,\n\t\"./es-do.js\": 3128,\n\t\"./es-mx\": 69179,\n\t\"./es-mx.js\": 69179,\n\t\"./es-us\": 83256,\n\t\"./es-us.js\": 83256,\n\t\"./es.js\": 63357,\n\t\"./et\": 2654,\n\t\"./et.js\": 2654,\n\t\"./eu\": 57287,\n\t\"./eu.js\": 57287,\n\t\"./fa\": 73875,\n\t\"./fa.js\": 73875,\n\t\"./fi\": 73431,\n\t\"./fi.js\": 73431,\n\t\"./fil\": 39606,\n\t\"./fil.js\": 39606,\n\t\"./fo\": 41781,\n\t\"./fo.js\": 41781,\n\t\"./fr\": 61717,\n\t\"./fr-ca\": 11539,\n\t\"./fr-ca.js\": 11539,\n\t\"./fr-ch\": 19847,\n\t\"./fr-ch.js\": 19847,\n\t\"./fr.js\": 61717,\n\t\"./fy\": 42250,\n\t\"./fy.js\": 42250,\n\t\"./ga\": 47665,\n\t\"./ga.js\": 47665,\n\t\"./gd\": 85214,\n\t\"./gd.js\": 85214,\n\t\"./gl\": 36154,\n\t\"./gl.js\": 36154,\n\t\"./gom-deva\": 68222,\n\t\"./gom-deva.js\": 68222,\n\t\"./gom-latn\": 18518,\n\t\"./gom-latn.js\": 18518,\n\t\"./gu\": 89221,\n\t\"./gu.js\": 89221,\n\t\"./he\": 64743,\n\t\"./he.js\": 64743,\n\t\"./hi\": 77339,\n\t\"./hi.js\": 77339,\n\t\"./hr\": 13224,\n\t\"./hr.js\": 13224,\n\t\"./hu\": 50856,\n\t\"./hu.js\": 50856,\n\t\"./hy-am\": 76855,\n\t\"./hy-am.js\": 76855,\n\t\"./id\": 2190,\n\t\"./id.js\": 2190,\n\t\"./is\": 53887,\n\t\"./is.js\": 53887,\n\t\"./it\": 19270,\n\t\"./it-ch\": 85890,\n\t\"./it-ch.js\": 85890,\n\t\"./it.js\": 19270,\n\t\"./ja\": 46595,\n\t\"./ja.js\": 46595,\n\t\"./jv\": 93081,\n\t\"./jv.js\": 93081,\n\t\"./ka\": 27477,\n\t\"./ka.js\": 27477,\n\t\"./kk\": 13978,\n\t\"./kk.js\": 13978,\n\t\"./km\": 19205,\n\t\"./km.js\": 19205,\n\t\"./kn\": 60025,\n\t\"./kn.js\": 60025,\n\t\"./ko\": 50427,\n\t\"./ko.js\": 50427,\n\t\"./ku\": 79089,\n\t\"./ku.js\": 79089,\n\t\"./ky\": 19314,\n\t\"./ky.js\": 19314,\n\t\"./lb\": 23136,\n\t\"./lb.js\": 23136,\n\t\"./lo\": 29115,\n\t\"./lo.js\": 29115,\n\t\"./lt\": 27087,\n\t\"./lt.js\": 27087,\n\t\"./lv\": 95683,\n\t\"./lv.js\": 95683,\n\t\"./me\": 79454,\n\t\"./me.js\": 79454,\n\t\"./mi\": 35507,\n\t\"./mi.js\": 35507,\n\t\"./mk\": 98466,\n\t\"./mk.js\": 98466,\n\t\"./ml\": 82933,\n\t\"./ml.js\": 82933,\n\t\"./mn\": 19477,\n\t\"./mn.js\": 19477,\n\t\"./mr\": 43597,\n\t\"./mr.js\": 43597,\n\t\"./ms\": 85529,\n\t\"./ms-my\": 99965,\n\t\"./ms-my.js\": 99965,\n\t\"./ms.js\": 85529,\n\t\"./mt\": 30259,\n\t\"./mt.js\": 30259,\n\t\"./my\": 88061,\n\t\"./my.js\": 88061,\n\t\"./nb\": 72618,\n\t\"./nb.js\": 72618,\n\t\"./ne\": 28452,\n\t\"./ne.js\": 28452,\n\t\"./nl\": 1885,\n\t\"./nl-be\": 60413,\n\t\"./nl-be.js\": 60413,\n\t\"./nl.js\": 1885,\n\t\"./nn\": 45107,\n\t\"./nn.js\": 45107,\n\t\"./oc-lnc\": 71763,\n\t\"./oc-lnc.js\": 71763,\n\t\"./pa-in\": 702,\n\t\"./pa-in.js\": 702,\n\t\"./pl\": 31711,\n\t\"./pl.js\": 31711,\n\t\"./pt\": 10594,\n\t\"./pt-br\": 58238,\n\t\"./pt-br.js\": 58238,\n\t\"./pt.js\": 10594,\n\t\"./ro\": 74681,\n\t\"./ro.js\": 74681,\n\t\"./ru\": 16201,\n\t\"./ru.js\": 16201,\n\t\"./sd\": 62912,\n\t\"./sd.js\": 62912,\n\t\"./se\": 6002,\n\t\"./se.js\": 6002,\n\t\"./si\": 67942,\n\t\"./si.js\": 67942,\n\t\"./sk\": 25577,\n\t\"./sk.js\": 25577,\n\t\"./sl\": 41775,\n\t\"./sl.js\": 41775,\n\t\"./sq\": 36823,\n\t\"./sq.js\": 36823,\n\t\"./sr\": 59038,\n\t\"./sr-cyrl\": 83848,\n\t\"./sr-cyrl.js\": 83848,\n\t\"./sr.js\": 59038,\n\t\"./ss\": 96173,\n\t\"./ss.js\": 96173,\n\t\"./sv\": 5788,\n\t\"./sv.js\": 5788,\n\t\"./sw\": 76882,\n\t\"./sw.js\": 76882,\n\t\"./ta\": 82678,\n\t\"./ta.js\": 82678,\n\t\"./te\": 82797,\n\t\"./te.js\": 82797,\n\t\"./tet\": 52447,\n\t\"./tet.js\": 52447,\n\t\"./tg\": 31335,\n\t\"./tg.js\": 31335,\n\t\"./th\": 68667,\n\t\"./th.js\": 68667,\n\t\"./tk\": 9222,\n\t\"./tk.js\": 9222,\n\t\"./tl-ph\": 99914,\n\t\"./tl-ph.js\": 99914,\n\t\"./tlh\": 71389,\n\t\"./tlh.js\": 71389,\n\t\"./tr\": 3578,\n\t\"./tr.js\": 3578,\n\t\"./tzl\": 36969,\n\t\"./tzl.js\": 36969,\n\t\"./tzm\": 76509,\n\t\"./tzm-latn\": 690,\n\t\"./tzm-latn.js\": 690,\n\t\"./tzm.js\": 76509,\n\t\"./ug-cn\": 20055,\n\t\"./ug-cn.js\": 20055,\n\t\"./uk\": 22452,\n\t\"./uk.js\": 22452,\n\t\"./ur\": 91151,\n\t\"./ur.js\": 91151,\n\t\"./uz\": 31555,\n\t\"./uz-latn\": 46547,\n\t\"./uz-latn.js\": 46547,\n\t\"./uz.js\": 31555,\n\t\"./vi\": 16541,\n\t\"./vi.js\": 16541,\n\t\"./x-pseudo\": 42401,\n\t\"./x-pseudo.js\": 42401,\n\t\"./yo\": 2341,\n\t\"./yo.js\": 2341,\n\t\"./zh-cn\": 80619,\n\t\"./zh-cn.js\": 80619,\n\t\"./zh-hk\": 67058,\n\t\"./zh-hk.js\": 67058,\n\t\"./zh-mo\": 89141,\n\t\"./zh-mo.js\": 89141,\n\t\"./zh-tw\": 22782,\n\t\"./zh-tw.js\": 22782\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 = 46700;"]}